Cramer's rule: Difference between revisions

m
→‎{{header|Sidef}}: the `Array.det` method is built-in since Sidef 3.10
m (→‎{{header|REXX}}: add REXX in header)
m (→‎{{header|Sidef}}: the `Array.det` method is built-in since Sidef 3.10)
Line 1,587:
 
=={{header|Sidef}}==
<lang ruby>func detcramers_rule(aA, terms) {
a = a.map{.map{_}}
var sign = +1
var pivot = 1
 
for k in ^a {
var r = (k+1 .. a.end)
var previous_pivot = pivot
 
if ((pivot = a[k][k]) == 0) {
a.swap(r.first_by { a[_][k] != 0 } \\ return 0, k)
pivot = a[k][k]
sign.neg!
}
 
for i,j in (r ~X r) {
a[i][j] *= pivot ->
-= a[i][k]*a[k][j] ->
/= previous_pivot
}
}
sign * pivot
}
 
func cramers_rule(A, terms) {
gather {
for i in ^A {
Line 1,618 ⟶ 1,594:
Ai[j][i] = terms[j]
}
take(det(Ai).det)
}
} »/» det(A).det
}
 
2,747

edits