Home | History | Annotate | Download | only in Eigenvalues

Lines Matching full:matrix

23   * \brief Performs a real Schur decomposition of a square matrix
25 * \tparam _MatrixType the type of the matrix of which we are computing the
27 * Matrix class template.
29 * Given a real square matrix A, this class computes the real Schur
30 * decomposition: \f$ A = U T U^T \f$ where U is a real orthogonal matrix and
31 * T is a real quasi-triangular matrix. An orthogonal matrix is a matrix whose
33 * matrix is a block-triangular matrix whose diagonal consists of 1-by-1
35 * blocks on the diagonal of T are the same as the eigenvalues of the matrix
37 * the eigendecomposition of a matrix.
40 * given matrix. Alternatively, you can use the RealSchur(const MatrixType&, bool)
69 typedef Matrix<ComplexScalar, ColsAtCompileTime, 1, Options & ~RowMajor, MaxColsAtCompileTime, 1> EigenvalueType;
70 typedef Matrix<Scalar, ColsAtCompileTime, 1, Options & ~RowMajor, MaxColsAtCompileTime, 1> ColumnVectorType;
74 * \param [in] size Positive integer, size of the matrix whose Schur decomposition will be computed.
92 /** \brief Constructor; computes real Schur decomposition of given matrix.
94 * \param[in] matrix Square matrix whose Schur decomposition is to be computed.
102 RealSchur(const MatrixType& matrix, bool computeU = true)
103 : m_matT(matrix.rows(),matrix.cols()),
104 m_matU(matrix.rows(),matrix.cols()),
105 m_workspaceVector(matrix.rows()),
106 m_hess(matrix.rows()),
110 compute(matrix, computeU);
113 /** \brief Returns the orthogonal matrix in the Schur decomposition.
115 * \returns A const reference to the matrix U.
119 * to compute the Schur decomposition of a matrix, and \p computeU was set
127 eigen_assert(m_matUisUptodate && "The matrix U has not been computed during the RealSchur decomposition.");
131 /** \brief Returns the quasi-triangular matrix in the Schur decomposition.
133 * \returns A const reference to the matrix T.
137 * to compute the Schur decomposition of a matrix.
147 /** \brief Computes Schur decomposition of given matrix.
149 * \param[in] matrix Square matrix whose Schur decomposition is to be computed.
153 * The Schur decomposition is computed by first reducing the matrix to
155 * matrix is then reduced to triangular form by performing Francis QR
164 RealSchur& compute(const MatrixType& matrix, bool computeU = true);
192 typedef Matrix<Scalar,3,1> Vector3s;
204 RealSchur<MatrixType>& RealSchur<MatrixType>::compute(const MatrixType& matrix, bool computeU)
206 assert(matrix.cols() == matrix.rows());
209 m_hess.compute(matrix);
218 // The matrix m_matT is divided in three parts.
308 // The eigenvalues of the 2x2 matrix [a b; c d] are
421 Matrix<Scalar, 2, 1> ess;
439 Matrix<Scalar, 2, 1> v = m_matT.template block<2,1>(iu-1, iu-2);
441 Matrix<Scalar, 1, 1> ess;