![]() |
|
Macros | |
#define | EIGEN_RUNTIME_NO_MALLOC |
#define EIGEN_RUNTIME_NO_MALLOC |
EIGEN_DECLARE_TEST | ( | NNLS | ) |
References CALL_SUBTEST_1, CALL_SUBTEST_2, CALL_SUBTEST_3, CALL_SUBTEST_4, CALL_SUBTEST_5, CALL_SUBTEST_6, CALL_SUBTEST_7, CALL_SUBTEST_8, Eigen::g_repeat, i, test_nnls_default_maxIterations_is_twice_column_count(), test_nnls_handles_0x0_matrix(), test_nnls_handles_dependent_columns(), test_nnls_handles_Mx0_matrix(), test_nnls_handles_wide_matrix(), test_nnls_handles_zero_rhs(), test_nnls_random_problem(), test_nnls_repeated_calls_to_compute_and_solve(), test_nnls_returns_NoConvergence_when_maxIterations_is_too_low(), test_nnls_small_reference_problems(), test_nnls_special_case_solves_in_n_iterations(), test_nnls_special_case_solves_in_zero_iterations(), and test_nnls_with_half_precision().
void test_nnls_default_maxIterations_is_twice_column_count | ( | ) |
References cols, EIGEN_TEST_MAX_SIZE, rows, and VERIFY_IS_EQUAL.
Referenced by EIGEN_DECLARE_TEST().
void test_nnls_does_not_allocate_during_solve | ( | ) |
References b, cols, EIGEN_TEST_MAX_SIZE, and rows.
void test_nnls_handles_0x0_matrix | ( | ) |
References b, Eigen::Success, VERIFY_IS_EQUAL, VERIFY_LE, and plotDoE::x.
Referenced by EIGEN_DECLARE_TEST().
void test_nnls_handles_dependent_columns | ( | ) |
References b, cols, e(), EIGEN_TEST_MAX_SIZE, rows, Eigen::Success, verify_nnls_optimality(), and plotDoE::x.
Referenced by EIGEN_DECLARE_TEST().
void test_nnls_handles_Mx0_matrix | ( | ) |
References b, EIGEN_TEST_MAX_SIZE, rows, Eigen::Success, VERIFY_IS_EQUAL, VERIFY_LE, and plotDoE::x.
Referenced by EIGEN_DECLARE_TEST().
void test_nnls_handles_wide_matrix | ( | ) |
References b, cols, e(), EIGEN_TEST_MAX_SIZE, rows, Eigen::Success, verify_nnls_optimality(), and plotDoE::x.
Referenced by EIGEN_DECLARE_TEST().
void test_nnls_handles_zero_rhs | ( | ) |
References b, cols, EIGEN_TEST_MAX_SIZE, rows, Eigen::Success, VERIFY_IS_EQUAL, VERIFY_LE, plotDoE::x, and oomph::PseudoSolidHelper::Zero.
Referenced by EIGEN_DECLARE_TEST().
void test_nnls_known_1 | ( | ) |
References b, test_nnls_known_solution(), and plotDoE::x.
Referenced by test_nnls_small_reference_problems().
void test_nnls_known_2 | ( | ) |
References b, test_nnls_known_solution(), and plotDoE::x.
Referenced by test_nnls_small_reference_problems().
void test_nnls_known_3 | ( | ) |
References b, test_nnls_known_solution(), and plotDoE::x.
Referenced by test_nnls_small_reference_problems().
void test_nnls_known_4 | ( | ) |
References b, test_nnls_known_solution(), and plotDoE::x.
Referenced by test_nnls_small_reference_problems().
void test_nnls_known_5 | ( | ) |
References b, test_nnls_known_solution(), and plotDoE::x.
Referenced by test_nnls_small_reference_problems().
void test_nnls_known_solution | ( | const MatrixType & | A, |
const VectorB & | b, | ||
const VectorX & | x_expected | ||
) |
References b, Eigen::PlainObjectBase< Derived >::cols(), sqrt(), Eigen::Success, VERIFY_IS_APPROX, VERIFY_IS_EQUAL, verify_nnls_optimality(), and plotDoE::x.
Referenced by test_nnls_known_1(), test_nnls_known_2(), test_nnls_known_3(), test_nnls_known_4(), and test_nnls_known_5().
void test_nnls_random_problem | ( | const MatrixType & | ) |
References b, cols, Eigen::PlainObjectBase< Derived >::cols(), Eigen::Dynamic, EIGEN_TEST_MAX_SIZE, Eigen::generateRandomMatrixSvs(), Eigen::bfloat16_impl::pow(), Eigen::ArrayBase< Derived >::pow(), rows, Eigen::PlainObjectBase< Derived >::rows(), Eigen::setupRangeSvs(), sqrt(), Eigen::Success, VERIFY_IS_EQUAL, VERIFY_LE, verify_nnls_optimality(), and plotDoE::x.
Referenced by EIGEN_DECLARE_TEST().
void test_nnls_repeated_calls_to_compute_and_solve | ( | ) |
References b, cols, e(), EIGEN_TEST_MAX_SIZE, i, j, rows, Eigen::Success, VERIFY_IS_EQUAL, verify_nnls_optimality(), and plotDoE::x.
Referenced by EIGEN_DECLARE_TEST().
void test_nnls_returns_NoConvergence_when_maxIterations_is_too_low | ( | ) |
References b, m, n, Eigen::NoConvergence, VERIFY, VERIFY_IS_EQUAL, and plotDoE::x.
Referenced by EIGEN_DECLARE_TEST().
void test_nnls_small_reference_problems | ( | ) |
References test_nnls_known_1(), test_nnls_known_2(), test_nnls_known_3(), test_nnls_known_4(), and test_nnls_known_5().
Referenced by EIGEN_DECLARE_TEST().
void test_nnls_special_case_solves_in_n_iterations | ( | ) |
References b, m, n, Eigen::Success, VERIFY, VERIFY_IS_EQUAL, and plotDoE::x.
Referenced by EIGEN_DECLARE_TEST().
void test_nnls_special_case_solves_in_zero_iterations | ( | ) |
References b, m, n, Eigen::Success, VERIFY, and VERIFY_IS_EQUAL.
Referenced by EIGEN_DECLARE_TEST().
void test_nnls_with_half_precision | ( | ) |
References b, e(), Eigen::Success, VERIFY_IS_EQUAL, verify_nnls_optimality(), and plotDoE::x.
Referenced by EIGEN_DECLARE_TEST().
void verify_nnls_optimality | ( | const MatrixType & | A, |
const VectorB & | b, | ||
const VectorX & | x, | ||
const Scalar | tolerance | ||
) |
Check that 'x' solves the NNLS optimization problem min ||A*x-b|| s.t. 0 <= x
. The tolerance
parameter is the absolute tolerance on the gradient, A'*(A*x-b).
References b, lambda, VERIFY, VERIFY_LE, and plotDoE::x.
Referenced by test_nnls_handles_dependent_columns(), test_nnls_handles_wide_matrix(), test_nnls_known_solution(), test_nnls_random_problem(), test_nnls_repeated_calls_to_compute_and_solve(), and test_nnls_with_half_precision().