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