SyTen
syten::Krylov::OrthoPolicies::Combined< Impl1, Impl2 > Struct Template Reference

Uses two different implementations to first orthonormalise against the last two vectors of the orthogonalisation set and then against all vectors of that set. More...

#include <orthogonalise_policies.h>

+ Inheritance diagram for syten::Krylov::OrthoPolicies::Combined< Impl1, Impl2 >:
+ Collaboration diagram for syten::Krylov::OrthoPolicies::Combined< Impl1, Impl2 >:

Static Public Member Functions

static bool invSubspaceSufficient ()
 Signals that this orthogonalisation policy is exact if both of the underlying implementations Impl1 and Impl2 are exact. More...
 
template<typename Vec >
static void orthogonalise (Vec &v, std::vector< Vec > const &ortho, IterativeConfig const &conf, IterativeExit &e)
 Like CombinedOrtho::orthonormalise(), but only orthogonalises without final normalisation. More...
 
template<typename Vec >
static void orthonormalise (Vec &v, std::vector< Vec > const &ortho, IterativeConfig const &conf, IterativeExit &e)
 Orthonormalises the vector v in-place against the last two vectors contained in ortho using the Impl1 class implementation and then against all vectors in ortho using the Impl2 class implementation. More...
 

Additional Inherited Members

- Static Private Member Functions inherited from syten::Krylov::OrthoPolicies::LastTwo< Impl1 >
static bool invSubspaceSufficient ()
 Signals that this orthogonalisation policy is exact if the underlying OrthoImpl is exact. More...
 
static void orthogonalise (Vec &v, std::vector< Vec > const &ortho, IterativeConfig const &conf, IterativeExit &e)
 Like FirstTwoOrtho::orthonormalise(), but only orthogonalises without final normalisation. More...
 
static void orthonormalise (Vec &v, std::vector< Vec > const &ortho, IterativeConfig const &conf, IterativeExit &e)
 Orthonormalises the vector v in-place against the last two vectors contained in ortho using the OrthoImpl class implementation. More...
 
- Static Private Member Functions inherited from syten::Krylov::OrthoPolicies::Complete< Impl2 >
static bool invSubspaceSufficient ()
 Signals that this orthogonalisation policy is exact if the underlying OrthoImpl is exact. More...
 
static void orthogonalise (Vec &v, std::vector< Vec > const &ortho, IterativeConfig const &conf, IterativeExit &e)
 Like Complete::orthonormalise(), but only orthogonalises without final normalisation. More...
 
static void orthonormalise (Vec &v, std::vector< Vec > const &ortho, IterativeConfig const &conf, IterativeExit &e)
 Orthonormalises the vector v in-place against the vectors contained in ortho using the OrthoImpl class implementation. More...
 

Detailed Description

template<typename Impl1, typename Impl2>
struct syten::Krylov::OrthoPolicies::Combined< Impl1, Impl2 >

Uses two different implementations to first orthonormalise against the last two vectors of the orthogonalisation set and then against all vectors of that set.

Template Parameters
Impl1policy class implementing the first actual orthonormalisation procedure
Impl2policy class implementing the second actual orthonormalisation procedure

The documentation for this struct was generated from the following file: