mxlib
c++ tools for analyzing astronomical data and other tasks by Jared R. Males. [git repo]
Loading...
Searching...
No Matches
eigenLapack Unit Tests

Functions

 unitTest::math_eigenLapack_test::TEST_CASE ("eigenSYEVR solves selected ranges and reuses workspaces", "[math::eigenLapack][eigenSYEVR]")
 Verifies eigenSYEVR full/ranged solves, triangle selection, workspace reuse, and explicit release.
 unitTest::math_eigenLapack_test::TEST_CASE ("eigenSYEVR rejects invalid matrix and range geometry", "[math::eigenLapack][eigenSYEVR]")
 Verifies eigenSYEVR rejects empty, non-square, and invalid half-open eigenvalue ranges before LAPACK.
 unitTest::math_eigenLapack_test::TEST_CASE ("eigenSYEVR reports allocation and solver failures", "[math::eigenLapack][eigenSYEVR]")
 Verifies eigenSYEVR propagates every workspace-allocation failure and both LAPACK solver failures.
 unitTest::math_eigenLapack_test::TEST_CASE ("eigenSYEVR validates queried workspace sizes", "[math::eigenLapack][eigenSYEVR]")
 Verifies eigenSYEVR rejects nonpositive, nonfinite, and unrepresentable queried workspace sizes.
 unitTest::math_eigenLapack_test::TEST_CASE ("calcEigenVecs clamps mode requests and controls normalization", "[math::eigenLapack][calcEigenVecs]")
 Verifies calcEigenVecs mode clamping, raw eigenvectors, scaling, and caller-owned workspace reuse.
 unitTest::math_eigenLapack_test::TEST_CASE ("calcEigenVecs validates exceptional normalized results", "[math::eigenLapack][calcEigenVecs]")
 Verifies calcEigenVecs check-mode handling of zero, negative, tiny, and nonfinite solver results.
 unitTest::math_eigenLapack_test::TEST_CASE ("calcEigenVecs rejects invalid inputs and solver failures", "[math::eigenLapack][calcEigenVecs]")
 Verifies calcEigenVecs rejects invalid covariance geometry and maps query/solve failures to -1.
 unitTest::math_eigenLapack_test::TEST_CASE ("eigenSYRK and calcKLModes form normalized KL modes", "[math::eigenLapack]")
 Verifies covariance construction and KL-mode calculation for a small reference matrix.
 unitTest::math_eigenLapack_test::TEST_CASE ("calcKLModes rejects invalid covariance geometry", "[math::eigenLapack]")
 Verifies that calcKLModes rejects incompatible and non-square covariance matrices without leaking workspaces.

Function Documentation

◆ TEST_CASE() [1/9]

unitTest::math_eigenLapack_test::TEST_CASE ( "calcEigenVecs clamps mode requests and controls normalization" ,
"" [math::eigenLapack][calcEigenVecs] )

Verifies calcEigenVecs mode clamping, raw eigenvectors, scaling, and caller-owned workspace reuse.

Definition at line 385 of file eigenLapack_test.cpp.

References mx::math::calcEigenVecs().

◆ TEST_CASE() [2/9]

unitTest::math_eigenLapack_test::TEST_CASE ( "calcEigenVecs rejects invalid inputs and solver failures" ,
"" [math::eigenLapack][calcEigenVecs] )

Verifies calcEigenVecs rejects invalid covariance geometry and maps query/solve failures to -1.

Definition at line 458 of file eigenLapack_test.cpp.

References mx::math::calcEigenVecs().

◆ TEST_CASE() [3/9]

unitTest::math_eigenLapack_test::TEST_CASE ( "calcEigenVecs validates exceptional normalized results" ,
"" [math::eigenLapack][calcEigenVecs] )

Verifies calcEigenVecs check-mode handling of zero, negative, tiny, and nonfinite solver results.

Definition at line 426 of file eigenLapack_test.cpp.

References mx::math::calcEigenVecs(), and mx::math::isNan().

◆ TEST_CASE() [4/9]

unitTest::math_eigenLapack_test::TEST_CASE ( "calcKLModes rejects invalid covariance geometry" ,
"" [math::eigenLapack] )

Verifies that calcKLModes rejects incompatible and non-square covariance matrices without leaking workspaces.

Definition at line 530 of file eigenLapack_test.cpp.

References mx::math::calcKLModes().

◆ TEST_CASE() [5/9]

unitTest::math_eigenLapack_test::TEST_CASE ( "eigenSYEVR rejects invalid matrix and range geometry" ,
"" [math::eigenLapack][eigenSYEVR] )

Verifies eigenSYEVR rejects empty, non-square, and invalid half-open eigenvalue ranges before LAPACK.

Definition at line 265 of file eigenLapack_test.cpp.

References mx::math::eigenSYEVR().

◆ TEST_CASE() [6/9]

unitTest::math_eigenLapack_test::TEST_CASE ( "eigenSYEVR reports allocation and solver failures" ,
"" [math::eigenLapack][eigenSYEVR] )

Verifies eigenSYEVR propagates every workspace-allocation failure and both LAPACK solver failures.

Definition at line 290 of file eigenLapack_test.cpp.

References mx::math::eigenSYEVR().

◆ TEST_CASE() [7/9]

◆ TEST_CASE() [8/9]

unitTest::math_eigenLapack_test::TEST_CASE ( "eigenSYEVR validates queried workspace sizes" ,
"" [math::eigenLapack][eigenSYEVR] )

Verifies eigenSYEVR rejects nonpositive, nonfinite, and unrepresentable queried workspace sizes.

Definition at line 341 of file eigenLapack_test.cpp.

References mx::math::eigenSYEVR().

◆ TEST_CASE() [9/9]

unitTest::math_eigenLapack_test::TEST_CASE ( "eigenSYRK and calcKLModes form normalized KL modes" ,
"" [math::eigenLapack] )

Verifies covariance construction and KL-mode calculation for a small reference matrix.

Definition at line 487 of file eigenLapack_test.cpp.

References mx::math::calcKLModes(), mx::math::eigenSYRK(), mx::math::syevrMem< floatT >::iWork, and mx::math::syevrMem< floatT >::work.