Multidimensional Newton-Raphson method: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) 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 [[ |
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); |
||
J.ElimPartial(F); |
|||
X -= |
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 ( |
} while (F.norm(fun.weights()) > 1e-12); |
||
return X; |
return X; |
||
} |
} |