Gauss-Jordan matrix inversion: Difference between revisions
Content added Content deleted
m (→{{header|ATS}}) |
|||
Line 1,056: | Line 1,056: | ||
macdef do_needless_things = true |
macdef do_needless_things = true |
||
#else |
#else |
||
macdef do_needless_things = |
macdef do_needless_things = false |
||
#endif |
#endif |
||
Line 1,158: | Line 1,158: | ||
var k : intGte 1 |
var k : intGte 1 |
||
in |
in |
||
needlessly_set_to_value (A, i, j, Zero); |
|||
for* {k : int | j + 1 <= k; k <= n + 1} |
|||
.<(n + 1) - k>. |
|||
(k : int k) => |
|||
(k := succ j; k <> succ n; k := succ k) |
|||
A[i, k] := A[i, k] - (A[j, k] * lead_val); |
|||
.<(n + 1) - k>. |
|||
(k : int k) => |
|||
(k := succ j; k <> succ n; k := succ k) |
|||
A[i, k] := A[i, k] - (A[j, k] * lead_val) |
|||
end; |
|||
for* {k : int | 1 <= k; k <= n + 1} .<(n + 1) - k>. |
for* {k : int | 1 <= k; k <= n + 1} .<(n + 1) - k>. |
||
(k : int k) => |
(k : int k) => |