matrix/README.md

2 KiB

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