9#include <kernel/solver/base.hpp> 
   10#include <kernel/lafem/dense_vector.hpp> 
   11#include <kernel/lafem/sparse_matrix_csr.hpp> 
   19        int cuda_lu(
int n, 
int nnzA, 
const double * csrValA, 
const int * csrRowPtrA, 
const int * csrColIndA,
 
   20        const double * b, 
double * x);
 
   22        int cuda_qr(
int m, 
int nnz, 
const double * csrValA, 
const int * csrRowPtrA, 
const int * csrColIndA,
 
   23        const double * b, 
double * x);
 
   37      public SolverBase<LAFEM::DenseVector<double, unsigned int>>
 
   90      public SolverBase<LAFEM::DenseVector<double, unsigned int>>
 
Index size() const
Returns the containers size.
Dense data vector class template.
DT_ * elements()
Get a pointer to the data array.
IT_ * col_ind()
Retrieve column indices array.
DT_ * val()
Retrieve non zero element array.
Index used_elements() const
Retrieve non zero element count.
IT_ * row_ptr()
Retrieve row start index array.
CuSolverLU(const LAFEM::SparseMatrixCSR< double, unsigned int > &system_matrix)
Constructor.
virtual String name() const override
Returns the name of the solver.
const LAFEM::SparseMatrixCSR< double, unsigned int > & _system_matrix
system matrix
virtual Status apply(LAFEM::DenseVector< double, unsigned int > &x, const LAFEM::DenseVector< double, unsigned int > &b) override
Solves a linear system with the factorized system matrix.
virtual Status apply(LAFEM::DenseVector< double, unsigned int > &x, const LAFEM::DenseVector< double, unsigned int > &b) override
Solver application method.
const LAFEM::SparseMatrixCSR< double, unsigned int > & _system_matrix
system matrix
CuSolverQR(const LAFEM::SparseMatrixCSR< double, unsigned int > &system_matrix)
Constructor.
virtual String name() const override
Returns the name of the solver.
Polymorphic solver interface.
String class implementation.
Status
Solver status return codes enumeration.
@ success
solving successful (convergence criterion fulfilled)
@ aborted
premature abort (solver aborted due to internal errors or preconditioner failure)