Mundy: Multibody Nonlocal Dynamics Version of the Day
Loading...
Searching...
No Matches
mundy::PowerState< Scalar, QVector, ZVector, RVector > Class Template Reference

The power-method state: the q/z/r vectors and the iteration scalars. More...

#include <eigenvalues.hpp>

Public Types

using value_type = Scalar

Public Member Functions

 PowerState (QVector &&q, ZVector &&z, RVector &&r)
auto & q ()
const auto & q () const
auto & z ()
const auto & z () const
auto & r ()
const auto & r () const
unsigned & iter ()
unsigned iter () const
bool & converged ()
bool converged () const
value_type & residual ()
value_type residual () const
value_type & eigenvalue ()
value_type eigenvalue () const

Detailed Description

template<class Scalar, class QVector, class ZVector, class RVector>
class mundy::PowerState< Scalar, QVector, ZVector, RVector >

q is the start vector on entry and the unit eigenvector estimate on exit; z holds A q and r the eigen residual A q - lambda q. eigenvalue() is the Rayleigh quotient of the q that residual() was measured at, and +infinity before the first iterate.

Member Typedef Documentation

◆ value_type

template<class Scalar, class QVector, class ZVector, class RVector>
using mundy::PowerState< Scalar, QVector, ZVector, RVector >::value_type = Scalar

Constructor & Destructor Documentation

◆ PowerState()

template<class Scalar, class QVector, class ZVector, class RVector>
mundy::PowerState< Scalar, QVector, ZVector, RVector >::PowerState ( QVector && q,
ZVector && z,
RVector && r )
inline

Member Function Documentation

◆ q() [1/2]

template<class Scalar, class QVector, class ZVector, class RVector>
auto & mundy::PowerState< Scalar, QVector, ZVector, RVector >::q ( )
inline

◆ q() [2/2]

template<class Scalar, class QVector, class ZVector, class RVector>
const auto & mundy::PowerState< Scalar, QVector, ZVector, RVector >::q ( ) const
inline

◆ z() [1/2]

template<class Scalar, class QVector, class ZVector, class RVector>
auto & mundy::PowerState< Scalar, QVector, ZVector, RVector >::z ( )
inline

◆ z() [2/2]

template<class Scalar, class QVector, class ZVector, class RVector>
const auto & mundy::PowerState< Scalar, QVector, ZVector, RVector >::z ( ) const
inline

◆ r() [1/2]

template<class Scalar, class QVector, class ZVector, class RVector>
auto & mundy::PowerState< Scalar, QVector, ZVector, RVector >::r ( )
inline

◆ r() [2/2]

template<class Scalar, class QVector, class ZVector, class RVector>
const auto & mundy::PowerState< Scalar, QVector, ZVector, RVector >::r ( ) const
inline

◆ iter() [1/2]

template<class Scalar, class QVector, class ZVector, class RVector>
unsigned & mundy::PowerState< Scalar, QVector, ZVector, RVector >::iter ( )
inline

◆ iter() [2/2]

template<class Scalar, class QVector, class ZVector, class RVector>
unsigned mundy::PowerState< Scalar, QVector, ZVector, RVector >::iter ( ) const
inline

◆ converged() [1/2]

template<class Scalar, class QVector, class ZVector, class RVector>
bool & mundy::PowerState< Scalar, QVector, ZVector, RVector >::converged ( )
inline

◆ converged() [2/2]

template<class Scalar, class QVector, class ZVector, class RVector>
bool mundy::PowerState< Scalar, QVector, ZVector, RVector >::converged ( ) const
inline

◆ residual() [1/2]

template<class Scalar, class QVector, class ZVector, class RVector>
value_type & mundy::PowerState< Scalar, QVector, ZVector, RVector >::residual ( )
inline

◆ residual() [2/2]

template<class Scalar, class QVector, class ZVector, class RVector>
value_type mundy::PowerState< Scalar, QVector, ZVector, RVector >::residual ( ) const
inline

◆ eigenvalue() [1/2]

template<class Scalar, class QVector, class ZVector, class RVector>
value_type & mundy::PowerState< Scalar, QVector, ZVector, RVector >::eigenvalue ( )
inline

◆ eigenvalue() [2/2]

template<class Scalar, class QVector, class ZVector, class RVector>
value_type mundy::PowerState< Scalar, QVector, ZVector, RVector >::eigenvalue ( ) const
inline