11 #ifndef EIGEN_GENERALIZEDEIGENSOLVER_H 12 #define EIGEN_GENERALIZEDEIGENSOLVER_H 73 typedef typename MatrixType::Scalar
Scalar;
75 typedef typename MatrixType::Index
Index;
155 m_matS(A.rows(), A.cols()),
158 compute(A, B, computeEigenvectors);
289 template<
typename MatrixType>
295 eigen_assert(A.cols() == A.rows() && B.cols() == A.rows() && B.cols() == B.rows());
304 if (computeEigenvectors)
313 if (i == A.cols() - 1 ||
m_matS.coeff(i+1, i) ==
Scalar(0))
341 #endif // EIGEN_GENERALIZEDEIGENSOLVER_H RealQZ< MatrixType > m_realQZ
IntermediateState sqrt(const Expression &arg)
ComputationInfo info() const
Reports whether previous computation was successful.
iterative scaling algorithm to equilibrate rows and column norms in matrices
NumTraits< Scalar >::Real RealScalar
const MatrixType & matrixT() const
Returns matrix S in the QZ decomposition.
Holds information about the various numeric (i.e. scalar) types allowed by Eigen. ...
std::complex< RealScalar > ComplexScalar
Complex scalar type for MatrixType.
ComplexVectorType alphas() const
RealQZ & setMaxIterations(Index maxIters)
MatrixType::Scalar Scalar
Scalar type for matrices of type MatrixType.
GeneralizedEigenSolver & compute(const MatrixType &A, const MatrixType &B, bool computeEigenvectors=true)
Computes generalized eigendecomposition of given matrix.
GeneralizedEigenSolver & setMaxIterations(Index maxIters)
EIGEN_STRONG_INLINE const CwiseUnaryOp< internal::scalar_abs_op< Scalar >, const Derived > abs() const
Generic expression where a coefficient-wise binary operator is applied to two expressions.
_MatrixType MatrixType
Synonym for the template parameter _MatrixType.
EIGEN_STRONG_INLINE Scalar & coeffRef(Index rowId, Index colId)
EIGEN_STRONG_INLINE void resize(Index nbRows, Index nbCols)
CwiseBinaryOp< internal::scalar_quotient_op< ComplexScalar, Scalar >, ComplexVectorType, VectorType > EigenvalueType
Expression type for the eigenvalues as returned by eigenvalues().
GeneralizedEigenSolver(Index size)
Default constructor with memory preallocation.
Provides a generic way to set and pass user-specified options.
const MatrixType & matrixS() const
Returns matrix S in the QZ decomposition.
ComplexVectorType m_alphas
const MatrixType & matrixZ() const
Returns matrix Z in the QZ decomposition.
EigenvalueType eigenvalues() const
Returns an expression of the computed generalized eigenvalues.
Matrix< ComplexScalar, RowsAtCompileTime, ColsAtCompileTime, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime > EigenvectorsType
Type for matrix of eigenvectors as returned by eigenvectors().
Matrix< ComplexScalar, ColsAtCompileTime, 1, Options &~RowMajor, MaxColsAtCompileTime, 1 > ComplexVectorType
Type for vector of complex scalar values eigenvalues as returned by betas().
RealQZ & compute(const MatrixType &A, const MatrixType &B, bool computeQZ=true)
Computes QZ decomposition of given matrix.
GeneralizedEigenSolver(const MatrixType &A, const MatrixType &B, bool computeEigenvectors=true)
Constructor; computes the generalized eigendecomposition of given matrix pair.
Computes the generalized eigenvalues and eigenvectors of a pair of general matrices.
Matrix< Scalar, ColsAtCompileTime, 1, Options &~RowMajor, MaxColsAtCompileTime, 1 > VectorType
Type for vector of real scalar values eigenvalues as returned by betas().
ComputationInfo info() const
GeneralizedEigenSolver()
Default constructor.
Matrix< Scalar, ColsAtCompileTime, 1, Options &~RowMajor, MaxColsAtCompileTime, 1 > ColumnVectorType