Lines Matching full:matrix
32 * \brief Reduces a square matrix to Hessenberg form by an orthogonal similarity transformation
34 …* \tparam _MatrixType the type of the matrix of which we are computing the Hessenberg decomposition
36 * This class performs an Hessenberg decomposition of a matrix \f$ A \f$. In
38 * matrix \f$ Q \f$ and a Hessenberg matrix \f$ H \f$ such that \f$ A = Q H
39 * Q^T \f$. An orthogonal matrix is a matrix whose inverse equals its
40 * transpose (\f$ Q^{-1} = Q^T \f$). A Hessenberg matrix has zeros below the
42 * of a complex matrix is \f$ A = Q H Q^* \f$ with \f$ Q \f$ unitary (that is,
46 * given matrix. Alternatively, you can use the
82 … typedef Matrix<Scalar, SizeMinusOne, 1, Options & ~RowMajor, MaxSizeMinusOne, 1> CoeffVectorType;
91 * \param [in] size The size of the matrix whose Hessenberg decomposition will be computed.
109 /** \brief Constructor; computes Hessenberg decomposition of given matrix.
111 * \param[in] matrix Square matrix whose Hessenberg decomposition is to be computed.
119 explicit HessenbergDecomposition(const EigenBase<InputType>& matrix)
120 : m_matrix(matrix.derived()),
121 m_temp(matrix.rows()),
124 if(matrix.rows()<2)
129 m_hCoeffs.resize(matrix.rows()-1,1);
134 /** \brief Computes Hessenberg decomposition of given matrix.
136 * \param[in] matrix Square matrix whose Hessenberg decomposition is to be computed.
140 * matrix successively in the required form using Householder reflections
141 * (see, e.g., Algorithm 7.4.2 in Golub \& Van Loan, <i>%Matrix
143 * denotes the size of the given matrix.
152 HessenbergDecomposition& compute(const EigenBase<InputType>& matrix)
154 m_matrix = matrix.derived();
155 if(matrix.rows()<2)
160 m_hCoeffs.resize(matrix.rows()-1,1);
172 * before to compute the Hessenberg decomposition of a matrix.
174 * The Householder coefficients allow the reconstruction of the matrix
187 * \returns a const reference to a matrix with the internal representation
192 * before to compute the Hessenberg decomposition of a matrix.
194 * The returned matrix contains the following information:
195 * - the upper part and lower sub-diagonal represent the Hessenberg matrix H
198 * allows to reconstruct the matrix Q as
205 * with M the matrix returned by this function.
220 /** \brief Reconstructs the orthogonal matrix Q in the decomposition
222 * \returns object representing the matrix Q
226 * before to compute the Hessenberg decomposition of a matrix.
229 * HouseholderSequence. You can either apply it directly to a matrix or
230 * you can convert it to a matrix of type #MatrixType.
242 /** \brief Constructs the Hessenberg matrix H in the decomposition
244 * \returns expression object representing the matrix H
248 * before to compute the Hessenberg decomposition of a matrix.
250 * The object returned by this function constructs the Hessenberg matrix H
251 * when it is assigned to a matrix or otherwise evaluated. The matrix H is
252 * constructed from the packed matrix as returned by packedMatrix(): The
253 * upper part (including the subdiagonal) of the packed matrix contains
254 * the matrix H. It may sometimes be better to directly use the packed
255 * matrix instead of constructing the matrix H.
270 typedef Matrix<Scalar, 1, Size, Options | RowMajor, 1, MaxSize> VectorType;
284 * \param matA the input selfadjoint matrix
289 * Implemented from Golub's "%Matrix Computations", algorithm 8.3.1.
329 * \tparam MatrixType type of matrix in the Hessenberg decomposition
331 * Objects of this type represent the Hessenberg matrix in the Hessenberg
332 * decomposition of some matrix. The object holds a reference to the
349 /** \brief Hessenberg matrix in decomposition.
351 * \param[out] result Hessenberg matrix in decomposition \p hess which