Extension: Matrix functions
#include "dg/matrix/matrix.h"
|
Shortcut for \(b \approx \sqrt{A} x \) solve directly via sqrt Cauchy combined with PCG inversions. More...
Public Types | |
using | container_type = Container |
using | value_type = dg::get_value_type< Container > |
Public Member Functions | |
DirectSqrtCauchy () | |
empty object ( no memory allocation) More... | |
template<class MatrixType > | |
DirectSqrtCauchy (MatrixType &A, const Container &weights, value_type epsCG, unsigned iterCauchy, std::array< value_type, 2 > EVs, int exp) | |
Construct DirectSqrtCauchy. More... | |
template<class ... Params> | |
void | construct (Params &&...ps) |
Perfect forward parameters to one of the constructors. More... | |
unsigned | operator() (const Container &b, Container &x) |
Compute \(x \approx \sqrt{A} b \) via sqrt Cauchy integral solve. More... | |
Shortcut for \(b \approx \sqrt{A} x \) solve directly via sqrt Cauchy combined with PCG inversions.
using dg::mat::DirectSqrtCauchy< Container >::container_type = Container |
using dg::mat::DirectSqrtCauchy< Container >::value_type = dg::get_value_type<Container> |
|
inline |
empty object ( no memory allocation)
|
inline |
Construct DirectSqrtCauchy.
A | The matrix (stored by reference) |
weights | |
epsCG | |
iterCauchy | maximum number of Cauchy iterations |
EVs | {minimum Eigenvalue of A, maximum Eigenvalue of A} |
exp | if < 0 then the inverse sqrt is computed, else the sqrt |
|
inline |
Perfect forward parameters to one of the constructors.
Params | deduced by the compiler |
ps | parameters forwarded to constructors |
|
inline |
Compute \(x \approx \sqrt{A} b \) via sqrt Cauchy integral solve.
b | input vector |
x | output vector. Is approximating \(x \approx \sqrt{A} b \) |