public override sealed void Iteration()
{
int length = network.RBF.Length;
var funcs = new IRadialBasisFunction[length];
// Iteration over neurons and determine the necessaries
for (int i = 0; i < length; i++)
{
IRadialBasisFunction basisFunc = network.RBF[i];
funcs[i] = basisFunc;
// This is the value that is changed using other training methods.
// weights[i] =
// network.Structure.Synapses[0].WeightMatrix.Data[i][j];
}
ObjectPair<double[][], double[][]> data = TrainingSetUtil
.TrainingToArray(Training);
double[][] matrix = EngineArray.AllocateDouble2D(length, network.OutputCount);
FlatToMatrix(network.Flat.Weights, 0, matrix);
Error = SVD.Svdfit(data.A, data.B, matrix, funcs);
MatrixToFlat(matrix, network.Flat.Weights, 0);
}