public LevenbergMarquardt(int parameters)
{
this.numberOfParameters = parameters;
this.weights = new double[numberOfParameters];
this.diagonal = new double[numberOfParameters];
this.gradient = new double[numberOfParameters];
this.solution = new double[numberOfParameters];
this.jacobian = new double[numberOfParameters][];
this.hessian = new double[numberOfParameters][];
for (int i = 0; i < hessian.Length; i++)
hessian[i] = new double[numberOfParameters];
this.ParallelOptions = new ParallelOptions();
}