https://github.com/hamidb80/elementary-row-operations
Elementary row operation tester for matrices. originally created for inspecting the mistakes in Linear Algebra course done by students.
https://github.com/hamidb80/elementary-row-operations
cli helper linear-algebra math nim terminal tool
Last synced: about 1 month ago
JSON representation
Elementary row operation tester for matrices. originally created for inspecting the mistakes in Linear Algebra course done by students.
- Host: GitHub
- URL: https://github.com/hamidb80/elementary-row-operations
- Owner: hamidb80
- License: other
- Created: 2025-10-28T18:14:07.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-10-28T19:50:16.000Z (8 months ago)
- Last Synced: 2025-10-28T20:22:59.223Z (8 months ago)
- Topics: cli, helper, linear-algebra, math, nim, terminal, tool
- Language: Nim
- Homepage:
- Size: 133 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Elementary Row Operation Tester for Matrix
originally created for inspecting the mistakes in Linear Algebra course done by students.
it is inspired by [Jello](https://www.youtube.com/watch?v=tNaZykHHHWs) and Jupyter notebook.
## Usage
open a file like `ops.txt` and then run the app by `app ops.txt`, here's the example content for `ops.txt`:
```
3 7 5 6
1 3 3 -2
0 1 4 -4
r2 += -3r3
r1 += 3r2
r1 <> r2
r2 += -7/4r3
r3 <> r2
?
```
the app watches for changes in the `ops.txt` and reruns when new modification detected
## Operations
- `r1 += -3/2r1`: assigns row 1 as `r1 + -(3/2).r2` here `3/2` is rational i.e. $\frac{3}{2}$
- `r1 *= 3`: scales row 1 by 3
- `r1 <> r2`: swapes row 1 and row 2
- `?`: prints matrix so far
- `t`: transpose
- `mx`: mirror to the y axis
- `my`: mirror to the x axis
- `1 2 ...`: add the row `1 2 ...` to the matrix
## Features
- [x] support rational numbers
## Limitations
- [ ] cannot use floating point numbers, it must be represented in rational form.