Used to manipulate the wavelet values and solve for the wavelet coefficients.
More...
|
|
| WaveletBasisMatrix () |
| | Default constructor, create an empty matrix.
|
| |
|
| WaveletBasisMatrix (AccelerationContext const *acceleration, const std::vector< int > &lpntr, const std::vector< std::vector< int >> &lindx, const std::vector< std::vector< double >> &lvals) |
| | Initialize the matrix with the given set of indexes.
|
| |
|
| WaveletBasisMatrix (AccelerationContext const *acceleration, int cnum_rows, GpuVector< double > &&matrix) |
| | Initialize the matrix in dense mode with the given data.
|
| |
|
| ~WaveletBasisMatrix ()=default |
| | Default destructor.
|
| |
|
| WaveletBasisMatrix (WaveletBasisMatrix const &)=delete |
| | Cannot copy.
|
| |
|
| WaveletBasisMatrix (WaveletBasisMatrix &&)=default |
| | Move constructor.
|
| |
|
WaveletBasisMatrix & | operator= (WaveletBasisMatrix const &)=delete |
| | Cannot copy.
|
| |
|
WaveletBasisMatrix & | operator= (WaveletBasisMatrix &&)=default |
| | Move assignment.
|
| |
|
bool | isSparse () const |
| | Return true if using the sparse mode and false is using dense mode or empty.
|
| |
|
bool | isDense () const |
| | Return true if using the dense mode and false is using sparse mode or empty.
|
| |
|
int | getNumRows () const |
| | Return the number of rows in the matrix.
|
| |
|
void | invertTransposed (AccelerationContext const *acceleration, double b[]) const |
| | Overwrites vector b with x that solves .
|
| |
|
void | invert (AccelerationContext const *acceleration, int num_colums, double B[]) |
| | Overwrites the row-major matrix B with X that solves .
|
| |
|
template<bool transpose, bool blas> |
| void | solve (const double b[], double x[]) const |
| | Solve op(A) x = b where op is either identity (find the coefficients) or transpose (find the interpolation weights).
|
| |
|
|
void | factorize (AccelerationContext const *acceleration) |
| | Computes the factorization of the matrix, ILU or PLU using the provided acceleration context (called by the constructor).
|
| |
|
void | computeILU () |
| | Compute the incomplete lower-upper decomposition of the matrix (zero extra fill).
|
| |
|
template<bool transpose> |
| void | applyILU (double x[]) const |
| | Apply the preconditioner on a vector.
|
| |
|
template<bool transpose> |
| void | apply (double const x[], double r[]) const |
| | Sets to be the product of the sparse matrix times x.
|
| |
|
void | residual (double const x[], double const b[], double r[]) const |
| | Computes the residual.
|
| |
Used to manipulate the wavelet values and solve for the wavelet coefficients.