Multidimensional Newton-Raphson method: Difference between revisions

Content added Content deleted
m (Start out as a draft)
(→‎{{header|C#}}: uses elimination, not inversion for speed)
Line 6: Line 6:
<br><br>
<br><br>
=={{header|C#}}==
=={{header|C#}}==
For matrix inversion and matrix and vector definitions - see C# source from [[Gauss-Jordan matrix inversion]]
For matrix inversion and matrix and vector definitions - see C# source from [[Gaussian elimination]]
<lang csharp>
<lang csharp>
using System;
using System;
Line 34: Line 34:
for (int j = 0; j < size; j++)
for (int j = 0; j < size; j++)
J[i, j] = fun.df(i, j, X);
J[i, j] = fun.df(i, j, X);
D = J.Inv() * F;
J.ElimPartial(F);
X -= D;
X -= F;
//need weight vector because different coordinates can diffs by order of magnitudes
//need weight vector because different coordinates can diffs by order of magnitudes
} while (D.norm(fun.weights())>1e-12);
} while (F.norm(fun.weights()) > 1e-12);
return X;
return X;
}
}