Lines Matching full: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;
98 /** \brief Constructs a QR factorization from a given matrix
100 * This constructor computes the QR factorization of the matrix \a matrix by calling
104 * ColPivHouseholderQR<MatrixType> qr(matrix.rows(), matrix.cols());
105 * qr.compute(matrix);
110 ColPivHouseholderQR(const MatrixType& matrix)
111 : m_qr(matrix.rows(), matrix.cols()),
112 m_hCoeffs((std::min)(matrix.rows(),matrix.cols())),
113 m_colsPermutation(PermIndexType(matrix.cols())),
114 m_colsTranspositions(matrix.cols()),
115 m_temp(matrix.cols()),
116 m_colSqNorms(matrix.cols()),
120 compute(matrix);
123 /** This method finds a solution x to the equation Ax=b, where A is the matrix of which
130 * \note The case where b is a matrix is not yet implemented. Also, this
154 /** \returns a reference to the matrix where the Householder QR decomposition is stored
162 /** \returns a reference to the matrix where the result Householder QR is stored
163 * \warning The strict lower part of this matrix contains internal values.
177 ColPivHouseholderQR& compute(const MatrixType& matrix);
179 /** \returns a const reference to the column permutation matrix */
186 /** \returns the absolute value of the determinant of the matrix of which
188 * (that is, O(n) where n is the dimension of the square matrix)
201 /** \returns the natural log of the absolute value of the determinant of the matrix of which
203 * (that is, O(n) where n is the dimension of the square matrix)
215 /** \returns the rank of the matrix of which *this is the QR decomposition.
232 /** \returns the dimension of the kernel of the matrix of which *this is the QR decomposition.
244 /** \returns true if the matrix of which *this is the QR decomposition represents an injective
257 /** \returns true if the matrix of which *this is the QR decomposition represents a surjective
270 /** \returns true if the matrix of which *this is the QR decomposition is invertible.
282 /** \returns the inverse of the matrix of which *this is the QR decomposition.
284 * \note If this matrix is not invertible, the returned matrix has undefined coefficients.
285 * Use isInvertible() to first determine whether this matrix is invertible.
404 eigen_assert(m_qr.rows() == m_qr.cols() && "You can't take the determinant of a non-square matrix!");
412 eigen_assert(m_qr.rows() == m_qr.cols() && "You can't take the determinant of a non-square matrix!");
416 /** Performs the QR factorization of the given matrix \a matrix. The result of
423 ColPivHouseholderQR<MatrixType>& ColPivHouseholderQR<MatrixType>::compute(const MatrixType& matrix)
426 Index rows = matrix.rows();
427 Index cols = matrix.cols();
428 Index size = matrix.diagonalSize();
433 m_qr = matrix;
438 m_colsTranspositions.resize(matrix.cols());
540 // Note that the matrix Q = H_0^* H_1^*... so its inverse is Q^* = (H_0 H_1 ...)^T
558 /** \returns the matrix Q as a sequence of householder transformations */