Gauss-Jordan matrix inversion: Difference between revisions

m
Line 1,056:
macdef do_needless_things = true
#else
macdef do_needless_things = truefalse
#endif
 
Line 1,158:
var k : intGte 1
in
ifneedlessly_set_to_value do_needless_things(A, theni, j, Zero);
for* {k let: int | j + 1 <= k; k <= n + 1}
var k.<(n : intGte+ 1) - k>.
in (k : int k) =>
(k := needlessly_set_to_valuesucc (A,j; i,k j,<> Zero)succ n; k := succ k)
for*A[i, {k] := intA[i, |k] - (A[j, +k] 1* <= klead_val); 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)
end;
for* {k : int | 1 <= k; k <= n + 1} .<(n + 1) - k>.
(k : int k) =>
1,448

edits