Lines Matching refs:Matrix
20 * \brief Householder rank-revealing QR decomposition of a matrix with column-pivoting
22 * \param MatrixType the type of the matrix of which we are computing the QR decomposition
24 * This class performs a rank-revealing QR decomposition of a matrix \b A into matrices \b P, \b Q and \b R
29 * by using Householder transformations. Here, \b P is a permutation matrix, \b Q a unitary matrix and \b R an
30 * upper triangular matrix.
52 typedef Matrix<Scalar, RowsAtCompileTime, RowsAtCompileTime, Options, MaxRowsAtCompileTime, MaxRowsAtCompileTime> MatrixQType;
91 ColPivHouseholderQR(const MatrixType& matrix)
92 : m_qr(matrix.rows(), matrix.cols()),
93 m_hCoeffs((std::min)(matrix.rows(),matrix.cols())),
94 m_colsPermutation(matrix.cols()),
95 m_colsTranspositions(matrix.cols()),
96 m_temp(matrix.cols()),
97 m_colSqNorms(matrix.cols()),
101 compute(matrix);
104 /** This method finds a solution x to the equation Ax=b, where A is the matrix of which
111 * \note The case where b is a matrix is not yet implemented. Also, this
131 /** \returns a reference to the matrix where the Householder QR decomposition is stored
139 ColPivHouseholderQR& compute(const MatrixType& matrix);
147 /** \returns the absolute value of the determinant of the matrix of which
149 * (that is, O(n) where n is the dimension of the square matrix)
162 /** \returns the natural log of the absolute value of the determinant of the matrix of which
164 * (that is, O(n) where n is the dimension of the square matrix)
176 /** \returns the rank of the matrix of which *this is the QR decomposition.
192 /** \returns the dimension of the kernel of the matrix of which *this is the QR decomposition.
204 /** \returns true if the matrix of which *this is the QR decomposition represents an injective
217 /** \returns true if the matrix of which *this is the QR decomposition represents a surjective
230 /** \returns true if the matrix of which *this is the QR decomposition is invertible.
242 /** \returns the inverse of the matrix of which *this is the QR decomposition.
244 * \note If this matrix is not invertible, the returned matrix has undefined coefficients.
245 * Use isInvertible() to first determine whether this matrix is invertible.
346 eigen_assert(m_qr.rows() == m_qr.cols() && "You can't take the determinant of a non-square matrix!");
354 eigen_assert(m_qr.rows() == m_qr.cols() && "You can't take the determinant of a non-square matrix!");
359 ColPivHouseholderQR<MatrixType>& ColPivHouseholderQR<MatrixType>::compute(const MatrixType& matrix)
361 Index rows = matrix.rows();
362 Index cols = matrix.cols();
363 Index size = matrix.diagonalSize();
365 m_qr = matrix;
370 m_colsTranspositions.resize(matrix.cols());
472 // Note that the matrix Q = H_0^* H_1^*... so its inverse is Q^* = (H_0 H_1 ...)^T
498 /** \returns the matrix Q as a sequence of householder transformations */