clojure matrix-repl thing, the last two methods in src/matrix/core.clj are the only interesting bits src/matrix/core.clj is the only file with interesting stuff current version's usage example (only the first line is user-input): ``` [[3 1 1 2] [1 -2 1 4] [-1 1 0 4]] Steps: 1/3R₁ -1R₁ + R₂ R₁ + R₃ -3/7R₂ -4/3R₂ + R₃ 7/5R₃ -1/3R₃ + R₁ 2/7R₃ + R₂ -1/3R₂ + R₁ Final: ┏ ┓ ┃ 1 0 0 -14/5 ┃ ┃ 0 1 0 6/5 ┃ ┃ 0 0 1 46/5 ┃ ┗ ┛ ``` OLD \*actual\* usage example: ``` matrix.core=> (matrix-repl [[1 1 -1 -5] [5 -1 1 -1] [-1 3 -2 1]] :yeah) ┏ ┓ ┃ 1 1 -1 │ -5 ┃ ┃ 5 -1 1 │ -1 ┃ ┃ -1 3 -2 │ 1 ┃ ┗ ┛ (add-mul 5 2 1) ┏ ┓ ┃ 1 1 -1 │ -5 ┃ ┃ 0 14 -9 │ 4 ┃ ┃ -1 3 -2 │ 1 ┃ ┗ ┛ (add 0 2) ┏ ┓ ┃ 1 1 -1 │ -5 ┃ ┃ 0 14 -9 │ 4 ┃ ┃ 0 4 -3 │ -4 ┃ ┗ ┛ (add-mul -4/14 1 2) ┏ ┓ ┃ 1 1 -1 │ -5 ┃ ┃ 0 14 -9 │ 4 ┃ ┃ 0 0 -3/7 │ -36/7 ┃ ┗ ┛ (mul 7 2) ┏ ┓ ┃ 1 1 -1 │ -5 ┃ ┃ 0 14 -9 │ 4 ┃ ┃ 0 0 -3 │ -36 ┃ ┗ ┛ (mul -1/3 2) ┏ ┓ ┃ 1 1 -1 │ -5 ┃ ┃ 0 14 -9 │ 4 ┃ ┃ 0 0 1 │ 12 ┃ ┗ ┛ (add-mul 9 2 1) ┏ ┓ ┃ 1 1 -1 │ -5 ┃ ┃ 0 14 0 │ 112 ┃ ┃ 0 0 1 │ 12 ┃ ┗ ┛ (mul 1/14 1) ┏ ┓ ┃ 1 1 -1 │ -5 ┃ ┃ 0 1 0 │ 8 ┃ ┃ 0 0 1 │ 12 ┃ ┗ ┛ (add 2 0) ┏ ┓ ┃ 1 1 0 │ 7 ┃ ┃ 0 1 0 │ 8 ┃ ┃ 0 0 1 │ 12 ┃ ┗ ┛ (add-mul -1 1 0) ┏ ┓ ┃ 1 0 0 │ -1 ┃ ┃ 0 1 0 │ 8 ┃ ┃ 0 0 1 │ 12 ┃ ┗ ┛ print-equations x = -1 y = 8 z = 12 ┏ ┓ ┃ 1 0 0 │ -1 ┃ ┃ 0 1 0 │ 8 ┃ ┃ 0 0 1 │ 12 ┃ ┗ ┛