June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
|
|
@ -1,28 +1,27 @@
|
|||
func rref (Array m) {
|
||||
m.is_empty && return;
|
||||
var (lead, rows, cols) = (0, m.len, m[0].len);
|
||||
func rref (M) {
|
||||
var (j, rows, cols) = (0, M.len, M[0].len)
|
||||
|
||||
rows.range.each { |r|
|
||||
lead >= cols && return m;
|
||||
var i = r;
|
||||
for r in (^rows) {
|
||||
j < cols || return M
|
||||
|
||||
while (!m[i][lead]) {
|
||||
++i == rows || next;
|
||||
i = r;
|
||||
++lead == cols && return m;
|
||||
var i = r
|
||||
while (!M[i][j]) {
|
||||
++i == rows || next
|
||||
i = r
|
||||
++j == cols && return M
|
||||
}
|
||||
|
||||
m[i, r] = m[r, i];
|
||||
var lv = m[r][lead];
|
||||
m[r] = (m[r] »/» lv);
|
||||
M[i, r] = M[r, i] if (r != i)
|
||||
M[r] = (M[r] »/» M[r][j])
|
||||
|
||||
rows.range.each { |n|
|
||||
n == r && next;
|
||||
m[n] = (m[n] »-« (m[r] «*« m[n][lead]))
|
||||
for n in (^rows) {
|
||||
next if (n == r)
|
||||
M[n] = (M[n] »-« (M[r] »*» M[n][j]))
|
||||
}
|
||||
++lead;
|
||||
++j
|
||||
}
|
||||
return m
|
||||
|
||||
return M
|
||||
}
|
||||
|
||||
func say_it (message, array) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue