matrix/README.md

1.8 KiB

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

*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 ┃
┗               ┛