deal.II version GIT relicensing-2233-g9bd70d8389 2024-12-08 16:10:00+00:00
|
Namespaces | |
namespace | distributed |
namespace | EpetraWrappers |
namespace | TpetraWrappers |
Classes | |
class | BlockVector |
class | ReadWriteVector |
class | Vector |
Enumerations | |
enum class | OrthogonalizationStrategy { modified_gram_schmidt , classical_gram_schmidt , delayed_classical_gram_schmidt } |
Functions | |
template<typename VectorType > | |
void | set_zero_mean_value (VectorType &vector) |
TEMPL_COPY_CONSTRUCTOR (double, float) | |
TEMPL_COPY_CONSTRUCTOR (float, double) | |
TEMPL_COPY_CONSTRUCTOR (std::complex< double >, std::complex< float >) | |
TEMPL_COPY_CONSTRUCTOR (std::complex< float >, std::complex< double >) | |
|
strong |
Supported orthogonalization strategies within SolverGMRES and SolverFGMRES.
Enumerator | |
---|---|
modified_gram_schmidt | Use modified Gram-Schmidt algorithm. |
classical_gram_schmidt | Use classical Gram-Schmidt algorithm. Since this approach works on multi-vectors with a single global reduction (of multiple elements), it is more efficient than the modified Gram-Schmidt algorithm. However, it is less stable in terms of roundoff error propagation, requiring additional re-orthogonalization steps more frequently. |
delayed_classical_gram_schmidt | Use classical Gram-Schmidt algorithm with two orthogonalization iterations and delayed orthogonalization using the algorithm described in [30]. This approach works on multi-vectors with a single global reduction (of multiple elements) and is more efficient than the modified Gram-Schmidt algorithm. At the same time, it unconditionally performs the second orthogonalization step, making it more stable than the classical Gram-Schmidt variant. For deal.II's own vectors, there is no additional cost compared to the classical Gram-Schmidt algorithm, because the second orthogonalization step is done on cached data. For these beneficial reasons, this is the default algorithm in the SolverGMRES class. |
Definition at line 29 of file orthogonalization.h.
void LinearAlgebra::set_zero_mean_value | ( | VectorType & | vector | ) |
Shift all entries of the vector by a constant factor so that the mean value of the vector becomes zero.
Definition at line 35 of file vector_space_vector.h.
LinearAlgebra::TEMPL_COPY_CONSTRUCTOR | ( | double | , |
float | |||
) |
LinearAlgebra::TEMPL_COPY_CONSTRUCTOR | ( | float | , |
double | |||
) |
LinearAlgebra::TEMPL_COPY_CONSTRUCTOR | ( | std::complex< double > | , |
std::complex< float > | |||
) |
LinearAlgebra::TEMPL_COPY_CONSTRUCTOR | ( | std::complex< float > | , |
std::complex< double > | |||
) |