Closed tzyysang closed 3 years ago
Add -bench_Chole_decomp to ctest. It generates a random SPD matrix and compares the Cholesky matrix L against Eigen's.
-- It seems our results suffer from numerical error in large matrices (n>50). Pivoting may be useful. http://www.mucm.ac.uk/Pages/Downloads/Internal%20Reports/INT2.2.1%20LB%20Pivoting%20Cholesky%20Decomposition.pdf
Add test -bench_Chole_decomp_pivot for Cholesky with pivoting. It generates a random large SPD matrix A, checks |A - LL^*| error and |Ax - b| error.
-- Add LinearSolver::solve_vec_chole(), the permutation is done by permutation matrices, which may be improved.
Implement Cholesky decomposition method in linear solver.