|
Metis 2.0.0
High-performance C++20 dual-mode numerical framework
|
Namespaces | |
| namespace | detail |
Classes | |
| struct | DiffTestOptions |
| Options controlling differentiability test behavior. More... | |
| struct | DualModeResult |
| Result of a dual-mode (symbolic compilation + value match) check. More... | |
| struct | DiffTestResult |
| Result of a full differentiability check (dual-mode + Jacobian). More... | |
Functions | |
| template<typename Func> | |
| DualModeResult | verify_dual_mode_at_point (Func &&f, const std::vector< double > &point, const DiffTestOptions &opts={}) |
| Verify that a dual-mode function compiles symbolically and that symbolic evaluation matches numeric evaluation at a single point. | |
| template<typename Func> | |
| DualModeResult | verify_dual_mode (Func &&f, const std::vector< std::vector< double > > &test_points, const DiffTestOptions &opts={}) |
| Verify dual-mode across multiple test points. Returns on first failure. | |
| template<typename Func> | |
| DiffTestResult | verify_differentiable_at_point (Func &&f, const std::vector< double > &point, const DiffTestOptions &opts={}) |
| Verify differentiability at a single test point: dual-mode checks + AD Jacobian vs FD Jacobian. | |
| template<typename Func> | |
| DiffTestResult | verify_differentiable (Func &&f, const std::vector< std::vector< double > > &test_points, const DiffTestOptions &opts={}) |
| Verify differentiability across multiple test points. Returns on first failure. | |
| template<typename Func> | |
| void | expect_dual_mode (Func &&f, const std::vector< std::vector< double > > &test_points, const DiffTestOptions &opts={}) |
| Assert that a dual-mode function compiles symbolically and that symbolic output matches numeric output at all test points. | |
| template<typename Func> | |
| void | expect_differentiable (Func &&f, const std::vector< std::vector< double > > &test_points, const DiffTestOptions &opts={}) |
| Assert that a dual-mode function is differentiable: symbolic compilation + value match + AD Jacobian matches FD Jacobian. | |
| void metis::diff_test::expect_differentiable | ( | Func && | f, |
| const std::vector< std::vector< double > > & | test_points, | ||
| const DiffTestOptions & | opts = {} ) |
Assert that a dual-mode function is differentiable: symbolic compilation + value match + AD Jacobian matches FD Jacobian.
| void metis::diff_test::expect_dual_mode | ( | Func && | f, |
| const std::vector< std::vector< double > > & | test_points, | ||
| const DiffTestOptions & | opts = {} ) |
Assert that a dual-mode function compiles symbolically and that symbolic output matches numeric output at all test points.
| DiffTestResult metis::diff_test::verify_differentiable | ( | Func && | f, |
| const std::vector< std::vector< double > > & | test_points, | ||
| const DiffTestOptions & | opts = {} ) |
Verify differentiability across multiple test points. Returns on first failure.
For each test point, verifies:
| Func | Lambda type: auto f(Scalar x1, ..., Scalar xN) -> Scalar or MetisVector<Scalar> |
| f | The dual-mode function to test |
| test_points | Vector of test points, each a vector of doubles |
| opts | Tolerance and step size options |
| DiffTestResult metis::diff_test::verify_differentiable_at_point | ( | Func && | f, |
| const std::vector< double > & | point, | ||
| const DiffTestOptions & | opts = {} ) |
Verify differentiability at a single test point: dual-mode checks + AD Jacobian vs FD Jacobian.
| DualModeResult metis::diff_test::verify_dual_mode | ( | Func && | f, |
| const std::vector< std::vector< double > > & | test_points, | ||
| const DiffTestOptions & | opts = {} ) |
Verify dual-mode across multiple test points. Returns on first failure.
| DualModeResult metis::diff_test::verify_dual_mode_at_point | ( | Func && | f, |
| const std::vector< double > & | point, | ||
| const DiffTestOptions & | opts = {} ) |
Verify that a dual-mode function compiles symbolically and that symbolic evaluation matches numeric evaluation at a single point.