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_cols
andn_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::fmat
matrix. Useful for testing.
Added some basic unit tests for the LinearSolverCG
and SparseDiagonalMatrixTiled
classes.
Edited by Paul McCarthy