RF: Replace CUSP solver with our own conjugate gradient implementation
A new LinearSolverCG class which contains an implementation of function minimisation using conjugate gradient. This is to replace the LinearSolverCUSP class, which removes our dependence on CUSP entirely.
New functions on the SparseDiagonalMatrixTiled class for:
- Accessing
n_rows,n_colsandn_tiles - Performing RHS matrix-vector multiplication, via an
operator*overload. The multiplication is performed in a CUDA kernel. - Creating from, and converting to, an
arma::fmatmatrix. Useful for testing.
Added some basic unit tests for the LinearSolverCG and SparseDiagonalMatrixTiled classes.
Edited by Paul McCarthy