Mundy: Multibody Nonlocal Dynamics Version of the Day
Loading...
Searching...
No Matches
mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray > Class Template Reference

The Lanczos state: the v/v_prev/z/Az vectors, the tridiagonal T as its diagonal alpha and off-diagonal beta, and the iteration scalars. More...

#include <eigenvalues.hpp>

Public Types

using value_type = Scalar

Public Member Functions

 LanczosState (VVector &&v, VPrevVector &&v_prev, ZVector &&z, AzVector &&Az, AlphaArray &&alpha, BetaArray &&beta)
auto & v ()
const auto & v () const
auto & v_prev ()
const auto & v_prev () const
auto & z ()
const auto & z () const
auto & Az ()
const auto & Az () const
auto & alpha ()
const auto & alpha () const
auto & beta ()
const auto & beta () const
unsigned & iter ()
unsigned iter () const
bool & converged ()
bool converged () const
value_type & residual ()
value_type residual () const
value_type & smallest_eigenvalue ()
value_type smallest_eigenvalue () const
value_type & largest_eigenvalue ()
value_type largest_eigenvalue () const
value_type & smallest_ritz_residual ()
value_type smallest_ritz_residual () const
value_type & largest_ritz_residual ()
value_type largest_ritz_residual () const

Detailed Description

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
class mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >

v is the start vector on entry. smallest_eigenvalue() and largest_eigenvalue() are T's extreme eigenvalues, and smallest_ritz_residual() and largest_ritz_residual() the least Ritz residual of each so far.

Member Typedef Documentation

◆ value_type

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
using mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::value_type = Scalar

Constructor & Destructor Documentation

◆ LanczosState()

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::LanczosState ( VVector && v,
VPrevVector && v_prev,
ZVector && z,
AzVector && Az,
AlphaArray && alpha,
BetaArray && beta )
inline

Member Function Documentation

◆ v() [1/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
auto & mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::v ( )
inline

◆ v() [2/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
const auto & mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::v ( ) const
inline

◆ v_prev() [1/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
auto & mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::v_prev ( )
inline

◆ v_prev() [2/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
const auto & mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::v_prev ( ) const
inline

◆ z() [1/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
auto & mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::z ( )
inline

◆ z() [2/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
const auto & mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::z ( ) const
inline

◆ Az() [1/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
auto & mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::Az ( )
inline

◆ Az() [2/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
const auto & mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::Az ( ) const
inline

◆ alpha() [1/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
auto & mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::alpha ( )
inline

◆ alpha() [2/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
const auto & mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::alpha ( ) const
inline

◆ beta() [1/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
auto & mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::beta ( )
inline

◆ beta() [2/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
const auto & mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::beta ( ) const
inline

◆ iter() [1/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
unsigned & mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::iter ( )
inline

◆ iter() [2/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
unsigned mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::iter ( ) const
inline

◆ converged() [1/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
bool & mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::converged ( )
inline

◆ converged() [2/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
bool mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::converged ( ) const
inline

◆ residual() [1/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
value_type & mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::residual ( )
inline

◆ residual() [2/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
value_type mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::residual ( ) const
inline

◆ smallest_eigenvalue() [1/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
value_type & mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::smallest_eigenvalue ( )
inline

◆ smallest_eigenvalue() [2/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
value_type mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::smallest_eigenvalue ( ) const
inline

◆ largest_eigenvalue() [1/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
value_type & mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::largest_eigenvalue ( )
inline

◆ largest_eigenvalue() [2/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
value_type mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::largest_eigenvalue ( ) const
inline

◆ smallest_ritz_residual() [1/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
value_type & mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::smallest_ritz_residual ( )
inline

◆ smallest_ritz_residual() [2/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
value_type mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::smallest_ritz_residual ( ) const
inline

◆ largest_ritz_residual() [1/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
value_type & mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::largest_ritz_residual ( )
inline

◆ largest_ritz_residual() [2/2]

template<class Scalar, class VVector, class VPrevVector, class ZVector, class AzVector, class AlphaArray, class BetaArray>
value_type mundy::LanczosState< Scalar, VVector, VPrevVector, ZVector, AzVector, AlphaArray, BetaArray >::largest_ritz_residual ( ) const
inline