Commit Graph
21 Commits
Author SHA1 Message Date
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