#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 | |
using | ConstGenericMatrix = const Eigen::Ref< const Matrix > |
using | GenericMatrix = Eigen::Ref< Matrix > |
using | Index = Eigen::Index |
using | IntArray = Eigen::Array< unsigned char, Eigen::Dynamic, 1 > |
using | Matrix = Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > |
using | Matrix3X = Eigen::Matrix< Scalar, 3, Eigen::Dynamic > |
using | Vector = Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > |
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) |
Static Private Member Functions | |
static Scalar | stable_norm3 (Scalar x1, Scalar x2, Scalar x3) |
static void | stable_scaling (Scalar &x1, Scalar &x2, Scalar &x3) |
Private Attributes | |
bool | m_computed |
const Scalar | m_eps = TypeTraits<Scalar>::epsilon() |
Matrix | m_mat_H |
Index | m_n |
const Scalar | m_near_0 = TypeTraits<Scalar>::min() * Scalar(10) |
IntArray | m_ref_nr |
Matrix3X | m_ref_u |
Scalar | m_shift_s |
Scalar | m_shift_t |
Definition at line 22 of file DoubleShiftQR.h.
|
private |
Definition at line 32 of file DoubleShiftQR.h.
|
private |
Definition at line 31 of file DoubleShiftQR.h.
|
private |
Definition at line 25 of file DoubleShiftQR.h.
|
private |
Definition at line 29 of file DoubleShiftQR.h.
|
private |
Definition at line 26 of file DoubleShiftQR.h.
|
private |
Definition at line 27 of file DoubleShiftQR.h.
|
private |
Definition at line 28 of file DoubleShiftQR.h.
|
inline |
Definition at line 318 of file DoubleShiftQR.h.
|
inline |
Definition at line 323 of file DoubleShiftQR.h.
|
inlineprivate |
Definition at line 219 of file DoubleShiftQR.h.
|
inlineprivate |
Definition at line 257 of file DoubleShiftQR.h.
|
inline |
Definition at line 411 of file DoubleShiftQR.h.
|
inlineprivate |
Definition at line 277 of file DoubleShiftQR.h.
|
inline |
Definition at line 426 of file DoubleShiftQR.h.
|
inline |
Definition at line 335 of file DoubleShiftQR.h.
|
inlineprivate |
Definition at line 107 of file DoubleShiftQR.h.
|
inlineprivate |
Definition at line 148 of file DoubleShiftQR.h.
|
inline |
Definition at line 401 of file DoubleShiftQR.h.
|
inlinestaticprivate |
Definition at line 52 of file DoubleShiftQR.h.
|
inlinestaticprivate |
Definition at line 85 of file DoubleShiftQR.h.
|
inlineprivate |
Definition at line 154 of file DoubleShiftQR.h.
|
private |
Definition at line 49 of file DoubleShiftQR.h.
|
private |
Definition at line 38 of file DoubleShiftQR.h.
|
private |
Definition at line 41 of file DoubleShiftQR.h.
|
private |
Definition at line 40 of file DoubleShiftQR.h.
|
private |
Definition at line 36 of file DoubleShiftQR.h.
|
private |
Definition at line 45 of file DoubleShiftQR.h.
|
private |
Definition at line 44 of file DoubleShiftQR.h.
|
private |
Definition at line 42 of file DoubleShiftQR.h.
|
private |
Definition at line 43 of file DoubleShiftQR.h.