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.
66 lines
1.2 KiB
CMake
66 lines
1.2 KiB
CMake
# Quaternion tests
|
|
add_executable(quaternion-tests quaternion-tests.cpp)
|
|
|
|
target_link_libraries(quaternion-tests
|
|
PRIVATE
|
|
quaternion
|
|
Catch2::Catch2WithMain
|
|
)
|
|
|
|
# matrix tests
|
|
add_executable(matrix-tests matrix-tests.cpp)
|
|
|
|
target_link_libraries(matrix-tests
|
|
PRIVATE
|
|
matrix
|
|
qr
|
|
Catch2::Catch2WithMain
|
|
)
|
|
|
|
# matrix timing tests
|
|
add_executable(matrix-timing-tests matrix-timing-tests.cpp)
|
|
|
|
target_link_libraries(matrix-timing-tests
|
|
PRIVATE
|
|
matrix
|
|
Catch2::Catch2WithMain
|
|
)
|
|
|
|
# Vector 3D Tests
|
|
add_executable(vector-3d-tests vector-tests.cpp)
|
|
|
|
target_link_libraries(vector-3d-tests
|
|
PRIVATE
|
|
vector-3d
|
|
Catch2::Catch2WithMain
|
|
)
|
|
|
|
# SVD building block tests
|
|
add_executable(svd-build-blocks-tests svd-build-blocks-tests.cpp)
|
|
|
|
target_link_libraries(svd-build-blocks-tests
|
|
PRIVATE
|
|
matrix
|
|
svd
|
|
Catch2::Catch2WithMain
|
|
)
|
|
|
|
# SVD integration tests
|
|
add_executable(svd-integration-test svd-integration-test.cpp)
|
|
|
|
target_link_libraries(svd-integration-test
|
|
PRIVATE
|
|
matrix
|
|
svd
|
|
Catch2::Catch2WithMain
|
|
)
|
|
|
|
# QR building block tests
|
|
add_executable(qr-build-blocks-tests qr-build-blocks-tests.cpp)
|
|
|
|
target_link_libraries(qr-build-blocks-tests
|
|
PRIVATE
|
|
matrix
|
|
qr
|
|
Catch2::Catch2WithMain
|
|
) |