|
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) | |
| template<class MatrixType > | |
| DirectSqrtCauchy (MatrixType &A, const Container &weights, value_type epsCG, unsigned iterCauchy, std::array< value_type, 2 > EVs, int exp) | |
| Construct DirectSqrtCauchy. | |
| template<class ... Params> | |
| void | construct (Params &&...ps) |
| Perfect forward parameters to one of the constructors. | |
| unsigned | operator() (const Container &b, Container &x) |
| Compute \(x \approx \sqrt{A} b \) via sqrt Cauchy integral solve. | |
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 \) |