Lines Matching full:matrix
34 * \brief Tridiagonal decomposition of a selfadjoint matrix
36 * \tparam _MatrixType the type of the matrix of which we are computing the
38 * Matrix class template.
40 * This class performs a tridiagonal decomposition of a selfadjoint matrix \f$ A \f$ such that:
41 …* \f$ A = Q T Q^* \f$ where \f$ Q \f$ is unitary and \f$ T \f$ a real symmetric tridiagonal matrix.
43 * A tridiagonal matrix is a matrix which has nonzero elements only on the
45 * decomposition of a selfadjoint matrix is in fact a tridiagonal
47 * eigenvalues and eigenvectors of a selfadjoint matrix.
50 * given matrix. Alternatively, you can use the Tridiagonalization(const MatrixType&)
80 … typedef Matrix<Scalar, SizeMinusOne, 1, Options & ~RowMajor, MaxSizeMinusOne, 1> CoeffVectorType;
82 …typedef Matrix<RealScalar, SizeMinusOne, 1, Options & ~RowMajor, MaxSizeMinusOne, 1> SubDiagonalTy…
103 * \param [in] size Positive integer, size of the matrix whose tridiagonal
119 /** \brief Constructor; computes tridiagonal decomposition of given matrix.
121 * \param[in] matrix Selfadjoint matrix whose tridiagonal decomposition
129 Tridiagonalization(const MatrixType& matrix)
130 : m_matrix(matrix),
131 m_hCoeffs(matrix.cols() > 1 ? matrix.cols()-1 : 1),
138 /** \brief Computes tridiagonal decomposition of given matrix.
140 * \param[in] matrix Selfadjoint matrix whose tridiagonal decomposition
145 * the matrix successively in the required form using Householder
147 * the size of the given matrix.
150 * object, if the size of the matrix does not change.
155 Tridiagonalization& compute(const MatrixType& matrix)
157 m_matrix = matrix;
158 m_hCoeffs.resize(matrix.rows()-1, 1);
170 * to compute the tridiagonal decomposition of a matrix.
172 * The Householder coefficients allow the reconstruction of the matrix
188 * \returns a const reference to a matrix with the internal representation
193 * to compute the tridiagonal decomposition of a matrix.
195 * The returned matrix contains the following information:
196 * - the strict upper triangular part is equal to the input matrix A.
198 * symmetric matrix T.
201 * householderCoefficients(), allows to reconstruct the matrix Q as
208 * with M the matrix returned by this function.
223 /** \brief Returns the unitary matrix Q in the decomposition
225 * \returns object representing the matrix Q
229 * to compute the tridiagonal decomposition of a matrix.
232 * HouseholderSequence. You can either apply it directly to a matrix or
233 * you can convert it to a matrix of type #MatrixType.
246 /** \brief Returns an expression of the tridiagonal matrix T in the decomposition
248 * \returns expression object representing the matrix T
252 * to compute the tridiagonal decomposition of a matrix.
254 * Currently, this function can be used to extract the matrix T from internal
255 * data and copy it to a dense matrix object. In most cases, it may be
256 * sufficient to directly use the packed matrix or the vector expressions
258 * dense copy matrix with this function.
269 /** \brief Returns the diagonal of the tridiagonal matrix T in the decomposition.
275 * to compute the tridiagonal decomposition of a matrix.
284 /** \brief Returns the subdiagonal of the tridiagonal matrix T in the decomposition.
290 * to compute the tridiagonal decomposition of a matrix.
323 * Performs a tridiagonal decomposition of the selfadjoint matrix \a matA in-place.
325 …* \param[in,out] matA On input the selfadjoint matrix. Only the \b lower triangular part is refere…
330 * On output, the tridiagonal selfadjoint matrix T is stored in the diagonal
331 * and lower sub-diagonal of the matrix \a matA.
332 * The unitary matrix Q is represented in a compact way as a product of
341 * Implemented from Golub's "Matrix Computations", algorithm 8.3.1.
388 * \param[in,out] mat On input, the selfadjoint matrix whose tridiagonal
390 * The rest is left unchanged. On output, the orthogonal matrix Q
392 * \param[out] diag The diagonal of the tridiagonal matrix T in the
394 * \param[out] subdiag The subdiagonal of the tridiagonal matrix T in
396 * \param[in] extractQ If true, the orthogonal matrix Q in the
399 * Computes the tridiagonal decomposition of the selfadjoint matrix \p mat in place
401 * symmetric tridiagonal matrix.
403 * The tridiagonal matrix T is passed to the output parameters \p diag and \p subdiag. If
404 * \p extractQ is true, then the orthogonal matrix Q is passed to \p mat. Otherwise the lower
405 * part of the matrix \p mat is destroyed.
416 * Householder coefficients, and to reconstruct the matrix Q from the Householder
419 * Example (this uses the same matrix as the example in
524 * \tparam MatrixType type of underlying dense matrix
533 * \param[in] mat The underlying dense matrix