Cynopolis
b6a649bad9
Added an SVD passthrough to matrix.cpp
Merge-Checker / build_and_test (pull_request) Failing after 20m35s
2026-08-26 13:07:49 -04:00
Cynopolis
c9a9492fcf
Add QR eigen library: implicit Wilkinson-shifted QR for symmetric matrices
...
Merge-Checker / build_and_test (pull_request) Failing after 28m10s
- src/QR.hpp / src/QR.cpp: fully templated QR::EigenQR (N >= 2), no heap
allocation (3*N^2 float working buffers on stack). Givens tridiagonalization
(bottom-up) + implicit Wilkinson-shifted QR with bulge chasing, relative
deflation, exact-zero peeling, closed-form 2x2 termination.
- Matrix::EigenQR now delegates to QR::EigenQR (old unshifted body removed);
eigenvalues sorted descending, eigenvectors in columns of the output.
- unit-tests/qr-build-blocks-tests.cpp: 8 building-block test cases
(215 assertions) with scipy/numpy references.
- unit-tests/qr-reference-values.py: numpy/scipy reference generator mirroring
every building block and the full pipeline (eigh, n=3..8).
- CMake: new 'qr' static library; Matrix links against it;
qr-build-blocks-tests target enabled.
2026-08-25 14:02:56 -04:00
Cynopolis
a49e357f4c
Added additional constraints to list instantiation
2026-08-13 11:33:19 -04:00
Cynopolis
ea29ea27f2
Removed some unused variables
2026-08-11 11:19:56 -04:00
Cynopolis
c099dfe760
Throwing in the towel on eigenvectors for now
Merge-Checker / build_and_test (pull_request) Successful in 26s
2025-06-06 16:33:20 -04:00
Cynopolis
d84664b567
Improved on old unit tests
Merge-Checker / build_and_test (pull_request) Failing after 22s
2025-06-05 15:10:00 -04:00
Cynopolis
bec70facb2
Fixed clangd type hints in the matrix.cpp file
Merge-Checker / build_and_test (pull_request) Failing after 26s
2025-06-03 09:08:23 -04:00
Cynopolis
75edad3d0a
Made my own equally wrong QR factorization
Merge-Checker / build_and_test (pull_request) Failing after 20s
2025-06-02 21:44:41 -04:00
Cynopolis
64820553c7
New norms and division by scalar
Merge-Checker / build_and_test (pull_request) Failing after 21s
2025-06-02 16:19:23 -04:00
Cynopolis
60a2b12b5f
Replaced normalize with EuclideanNorm
Merge-Checker / build_and_test (pull_request) Failing after 21s
2025-06-02 14:26:41 -04:00
Cynopolis
37556c7c81
Made unit tests a little better and fixed matrix multiplication errors for non-square amtrices
Merge-Checker / build_and_test (pull_request) Failing after 20s
2025-06-02 10:49:16 -04:00
Cynopolis
6fdab5be30
Added unit tests for eigen
Merge-Checker / build_and_test (pull_request) Successful in 23s
2025-05-30 15:26:19 -04:00
Cynopolis
74afbfeab8
Added QR decomposition functions
Merge-Checker / build_and_test (pull_request) Successful in 24s
2025-05-30 09:07:26 -04:00
Cynopolis
8a15459fc8
Adding a merge checker script
2025-05-21 17:46:49 -04:00
Cynopolis
e92fc6e5a0
Made the dot product public
2025-02-09 19:03:32 -05:00
Cynopolis
1a0af95fe7
Reworked how getting a submatrix works
2025-02-09 11:17:45 -05:00
Cynopolis
f51afb42e0
Refactored file layout because platformio failed to find things
2025-02-08 23:57:43 -05:00
Cynopolis
39274eb964
Refactored the src dir layout
2025-02-06 22:02:50 -05:00
Cynopolis
3b023d2104
Multiplication was completely broken actually
2025-02-06 21:56:54 -05:00
Cynopolis
9726ebbca0
Fixed typo and missing include
2025-02-04 22:06:34 -05:00
Cynopolis
519c953fcb
Added inline to explicit template specialization functions
2025-02-03 12:34:37 -05:00
Cynopolis
fee5486ea2
Refactored folder layout
2025-02-03 12:20:30 -05:00