Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
Spectra::DoubleShiftQR< Scalar > Class Template Reference

#include <DoubleShiftQR.h>

Public Member Functions

void apply_QtY (Vector &y) const
 
void apply_YQ (GenericMatrix Y) const
 
void compute (ConstGenericMatrix &mat, const Scalar &s, const Scalar &t)
 
 DoubleShiftQR (ConstGenericMatrix &mat, const Scalar &s, const Scalar &t)
 
 DoubleShiftQR (Index size)
 
void matrix_QtHQ (Matrix &dest) const
 

Private Types

typedef Eigen::Ref< MatrixGenericMatrix
 
typedef Eigen::Index Index
 
typedef Eigen::Array< unsigned char, Eigen::Dynamic, 1 > IntArray
 
typedef Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::DynamicMatrix
 
typedef Eigen::Matrix< Scalar, 3, Eigen::DynamicMatrix3X
 
typedef Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > Vector
 

Private Member Functions

void apply_PX (GenericMatrix X, Index stride, Index u_ind) const
 
void apply_PX (Scalar *x, Index u_ind) const
 
void apply_XP (GenericMatrix X, Index stride, Index u_ind) const
 
void compute_reflector (const Scalar &x1, const Scalar &x2, const Scalar &x3, Index ind)
 
void compute_reflector (const Scalar *x, Index ind)
 
void update_block (Index il, Index iu)
 

Private Attributes

const typedef Eigen::Ref< const MatrixConstGenericMatrix
 
bool m_computed
 
const Scalar m_eps
 
const Scalar m_eps_abs
 
const Scalar m_eps_rel
 
Matrix m_mat_H
 
Index m_n
 
const Scalar m_near_0
 
IntArray m_ref_nr
 
Matrix3X m_ref_u
 
Scalar m_shift_s
 
Scalar m_shift_t
 

Detailed Description

template<typename Scalar = double>
class Spectra::DoubleShiftQR< Scalar >

Definition at line 21 of file DoubleShiftQR.h.

Member Typedef Documentation

◆ GenericMatrix

template<typename Scalar = double>
typedef Eigen::Ref<Matrix> Spectra::DoubleShiftQR< Scalar >::GenericMatrix
private

Definition at line 30 of file DoubleShiftQR.h.

◆ Index

template<typename Scalar = double>
typedef Eigen::Index Spectra::DoubleShiftQR< Scalar >::Index
private

Definition at line 24 of file DoubleShiftQR.h.

◆ IntArray

template<typename Scalar = double>
typedef Eigen::Array<unsigned char, Eigen::Dynamic, 1> Spectra::DoubleShiftQR< Scalar >::IntArray
private

Definition at line 28 of file DoubleShiftQR.h.

◆ Matrix

template<typename Scalar = double>
typedef Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic> Spectra::DoubleShiftQR< Scalar >::Matrix
private

Definition at line 25 of file DoubleShiftQR.h.

◆ Matrix3X

template<typename Scalar = double>
typedef Eigen::Matrix<Scalar, 3, Eigen::Dynamic> Spectra::DoubleShiftQR< Scalar >::Matrix3X
private

Definition at line 26 of file DoubleShiftQR.h.

◆ Vector

template<typename Scalar = double>
typedef Eigen::Matrix<Scalar, Eigen::Dynamic, 1> Spectra::DoubleShiftQR< Scalar >::Vector
private

Definition at line 27 of file DoubleShiftQR.h.

Constructor & Destructor Documentation

◆ DoubleShiftQR() [1/2]

template<typename Scalar = double>
Spectra::DoubleShiftQR< Scalar >::DoubleShiftQR ( Index  size)
inline

Definition at line 268 of file DoubleShiftQR.h.

◆ DoubleShiftQR() [2/2]

template<typename Scalar = double>
Spectra::DoubleShiftQR< Scalar >::DoubleShiftQR ( ConstGenericMatrix mat,
const Scalar s,
const Scalar t 
)
inline

Definition at line 277 of file DoubleShiftQR.h.

Member Function Documentation

◆ apply_PX() [1/2]

template<typename Scalar = double>
void Spectra::DoubleShiftQR< Scalar >::apply_PX ( GenericMatrix  X,
Index  stride,
Index  u_ind 
) const
inlineprivate

Definition at line 165 of file DoubleShiftQR.h.

◆ apply_PX() [2/2]

template<typename Scalar = double>
void Spectra::DoubleShiftQR< Scalar >::apply_PX ( Scalar x,
Index  u_ind 
) const
inlineprivate

Definition at line 205 of file DoubleShiftQR.h.

◆ apply_QtY()

template<typename Scalar = double>
void Spectra::DoubleShiftQR< Scalar >::apply_QtY ( Vector y) const
inline

Definition at line 352 of file DoubleShiftQR.h.

◆ apply_XP()

template<typename Scalar = double>
void Spectra::DoubleShiftQR< Scalar >::apply_XP ( GenericMatrix  X,
Index  stride,
Index  u_ind 
) const
inlineprivate

Definition at line 225 of file DoubleShiftQR.h.

◆ apply_YQ()

template<typename Scalar = double>
void Spectra::DoubleShiftQR< Scalar >::apply_YQ ( GenericMatrix  Y) const
inline

Definition at line 367 of file DoubleShiftQR.h.

◆ compute()

template<typename Scalar = double>
void Spectra::DoubleShiftQR< Scalar >::compute ( ConstGenericMatrix mat,
const Scalar s,
const Scalar t 
)
inline

Definition at line 293 of file DoubleShiftQR.h.

◆ compute_reflector() [1/2]

template<typename Scalar = double>
void Spectra::DoubleShiftQR< Scalar >::compute_reflector ( const Scalar x1,
const Scalar x2,
const Scalar x3,
Index  ind 
)
inlineprivate

Definition at line 50 of file DoubleShiftQR.h.

◆ compute_reflector() [2/2]

template<typename Scalar = double>
void Spectra::DoubleShiftQR< Scalar >::compute_reflector ( const Scalar x,
Index  ind 
)
inlineprivate

Definition at line 94 of file DoubleShiftQR.h.

◆ matrix_QtHQ()

template<typename Scalar = double>
void Spectra::DoubleShiftQR< Scalar >::matrix_QtHQ ( Matrix dest) const
inline

Definition at line 342 of file DoubleShiftQR.h.

◆ update_block()

template<typename Scalar = double>
void Spectra::DoubleShiftQR< Scalar >::update_block ( Index  il,
Index  iu 
)
inlineprivate

Definition at line 100 of file DoubleShiftQR.h.

Member Data Documentation

◆ ConstGenericMatrix

template<typename Scalar = double>
const typedef Eigen::Ref<const Matrix> Spectra::DoubleShiftQR< Scalar >::ConstGenericMatrix
private

Definition at line 31 of file DoubleShiftQR.h.

◆ m_computed

template<typename Scalar = double>
bool Spectra::DoubleShiftQR< Scalar >::m_computed
private

Definition at line 48 of file DoubleShiftQR.h.

◆ m_eps

template<typename Scalar = double>
const Scalar Spectra::DoubleShiftQR< Scalar >::m_eps
private

Definition at line 44 of file DoubleShiftQR.h.

◆ m_eps_abs

template<typename Scalar = double>
const Scalar Spectra::DoubleShiftQR< Scalar >::m_eps_abs
private

Definition at line 47 of file DoubleShiftQR.h.

◆ m_eps_rel

template<typename Scalar = double>
const Scalar Spectra::DoubleShiftQR< Scalar >::m_eps_rel
private

Definition at line 46 of file DoubleShiftQR.h.

◆ m_mat_H

template<typename Scalar = double>
Matrix Spectra::DoubleShiftQR< Scalar >::m_mat_H
private

Definition at line 34 of file DoubleShiftQR.h.

◆ m_n

template<typename Scalar = double>
Index Spectra::DoubleShiftQR< Scalar >::m_n
private

Definition at line 33 of file DoubleShiftQR.h.

◆ m_near_0

template<typename Scalar = double>
const Scalar Spectra::DoubleShiftQR< Scalar >::m_near_0
private

Definition at line 42 of file DoubleShiftQR.h.

◆ m_ref_nr

template<typename Scalar = double>
IntArray Spectra::DoubleShiftQR< Scalar >::m_ref_nr
private

Definition at line 38 of file DoubleShiftQR.h.

◆ m_ref_u

template<typename Scalar = double>
Matrix3X Spectra::DoubleShiftQR< Scalar >::m_ref_u
private

Definition at line 37 of file DoubleShiftQR.h.

◆ m_shift_s

template<typename Scalar = double>
Scalar Spectra::DoubleShiftQR< Scalar >::m_shift_s
private

Definition at line 35 of file DoubleShiftQR.h.

◆ m_shift_t

template<typename Scalar = double>
Scalar Spectra::DoubleShiftQR< Scalar >::m_shift_t
private

Definition at line 36 of file DoubleShiftQR.h.


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


gtsam
Author(s):
autogenerated on Sun Dec 22 2024 04:25:06