linacon
Linear algebra in your Console — yayo!
linacon runs in your terminal and provides a set of linear algebra commands. All operations are performed using NumPy.
Status: sections [0]–[4] of the Feature roadmap are implemented and reachable from the CLI — basic matrix operations, property checks, rotations, factorizations and least squares, all backed by NumPy in src/linacon/core. I/O beyond headerless CSV (section [5]) is still a roadmap.
Usage
Requires Python >= 3.14, NumPy and PyArrow.
Every feature is reached as <command> <feature>, loading its matrices from CSV files:
pip install linacon
# multiply two matrices
python -m linacon.main bmo matmul -f A.csv -g B.csv
# LU decomposition, written to CSV
python -m linacon.main factorization lu -f A.csv -out lu.csv
# ridge least squares (lambda via -k)
python -m linacon.main least-squares regularized -f A.csv -g b.csv -k 1.0
Use python -m linacon.main <command> <feature> --help to list a feature's flags.
I/O
You can set stdin and stdout to use files, pipes, or both in powerful combinations.
Loading Pipeline
The loader delegates parsing to PyArrow's pyarrow.csv.read_csv, configured for headerless numeric CSV: autogenerated column names, internal multi-threaded parsing, and no quoting/escaping for speed. The resulting Arrow table columns are stacked with np.column_stack into the final 2D NumPy array. See run.
Argument Parser
The parser is split by command (bmo, checks, rotation, factorization, least-squares), and each command exposes one sub-command per feature — every feature is reached through a command, never by direct access. Shared flags come from parent parsers: -f/--file (primary matrix), -g/--file2 (second operand), -k/--scalar, -b (start-to-end benchmark) and -out/--out (CSV output path). See get_argparse.
Output
When -out is given, the operation's result is written back as headerless CSV via PyArrow (loader-compatible). Multi-part results (e.g. P/L/U from a factorization, or the transform and transformed points from a rotation) are written one file per component as <stem>.<name><suffix>. See write_csv.
Feature
[0] Basic Matrix Operations
- [0.1] matrix mul (arbitrary dimensions)
- [0.2] matrix sum
- [0.3] matrix scalar mul
- [0.4] scalar dot product
- [0.5] scalar sum
- [0.6] inverse compute
- [0.7] transpose compute
- [0.8] rank compute
[1] Checks
- [1.1] invertability check
- [1.2] vectors independence check
- [1.3] vectors orthogonality check
- [1.4] symmetric check
- [1.5] triangular check
- [1.6] positive definite check
[2] Rotations
- [2.1] rotation matrix computation (input: matrix, angle, [axis], [center], [scale], [shear], [perspective])
[3] Factorization
- [3.1] gauss-jordan elimination
- [3.2] LU decomposition
- [3.3] LDU decomposition
- [3.4] QR decomposition
- [3.5] Cholesky decomposition
- [3.6] orthogonal decomposition
- [3.7] SVD
- [3.8] eigenvalue decomposition
[4] Least Squares
- [4.1] least squares
- [4.2] weighted least squares
- [4.3] least squares with regularization
- [4.4] regularization
- [4.5] linear regression
Metadata
Release files for linacon 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| linacon-0.1.2.tar.gz | 17.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| linacon-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.8 kB
Release files / linacon-0.1.2.tar.gz
| Download URL | linacon-0.1.2.tar.gz |
|---|---|
| Size | 17.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2ddf4e0aeac53ec39d709cdadd54dd0b41d84d56b0b9287a0e58f0bee20e6fb0
|
|
BLAKE2b-256 checksum How to use checksums |
bed04e77528af09dccc25ed756662c73147b024972fca4a90318fd5f88cad0ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.16
|
Release files / linacon-0.1.2-py3-none-any.whl
| Download URL | linacon-0.1.2-py3-none-any.whl |
|---|---|
| Size | 16.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
67879067bcc12514e5b8ad81a50627e6731a9df4389d0ea4b43fa3050855e27b
|
|
BLAKE2b-256 checksum How to use checksums |
6062f3ad66619d3d76344add7ac65f2ba745f9b443db95987ab78fa18d4a4b7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.16
|