Lines Matching refs:Matrix
30 * \brief LU decomposition of a matrix with complete pivoting, and related features
32 * \tparam _MatrixType the type of the matrix of which we are computing the LU decomposition
34 * This class represents a LU decomposition of any matrix, with complete pivoting: the matrix A is
44 * decomposition is inherently more stable and/or flexible. For example, when computing the kernel of a matrix,
45 * working with the SVD allows to select the smallest singular values of the matrix, something that
51 * As an exemple, here is how the original matrix can be retrieved:
96 * \param matrix the matrix of which to compute the LU decomposition.
100 explicit FullPivLU(const EigenBase<InputType>& matrix);
102 /** \brief Constructs a LU factorization from a given matrix
109 explicit FullPivLU(EigenBase<InputType>& matrix);
111 /** Computes the LU decomposition of the given matrix.
113 * \param matrix the matrix of which to compute the LU decomposition.
119 FullPivLU& compute(const EigenBase<InputType>& matrix) {
120 m_lu = matrix.derived();
125 /** \returns the LU decomposition matrix: the upper-triangular part is U, the
155 /** \returns the permutation matrix P
165 /** \returns the permutation matrix Q
175 /** \returns the kernel of the matrix, also called its null-space. The columns of the returned matrix
178 * \note If the kernel has dimension zero, then the returned matrix is a column-vector filled with zeros.
195 /** \returns the image of the matrix, also called its column-space. The columns of the returned matrix
198 * \param originalMatrix the original matrix, of which *this is the LU decomposition.
203 * \note If the image has dimension zero, then the returned matrix is a column-vector filled with zeros.
221 /** \return a solution x to the equation Ax=b, where A is the matrix of which
224 * \param b the right-hand-side of the equation to solve. Can be a vector or a matrix,
226 * b.rows()==A.rows(), where A is the matrix of which *this is the LU decomposition.
249 /** \returns an estimate of the reciprocal condition number of the matrix of which \c *this is
258 /** \returns the determinant of the matrix of which
260 * (that is, O(n) where n is the dimension of the square matrix)
326 /** \returns the rank of the matrix of which *this is the LU decomposition.
343 /** \returns the dimension of the kernel of the matrix of which *this is the LU decomposition.
355 /** \returns true if the matrix of which *this is the LU decomposition represents an injective
368 /** \returns true if the matrix of which *this is the LU decomposition represents a surjective
381 /** \returns true if the matrix of which *this is the LU decomposition is invertible.
393 /** \returns the inverse of the matrix of which *this is the LU decomposition.
395 * \note If this matrix is not invertible, the returned matrix has undefined coefficients.
396 * Use isInvertible() to first determine whether this matrix is invertible.
403 eigen_assert(m_lu.rows() == m_lu.cols() && "You can't take the inverse of a non-square matrix!");
463 FullPivLU<MatrixType>::FullPivLU(const EigenBase<InputType>& matrix)
464 : m_lu(matrix.rows(), matrix.cols()),
465 m_p(matrix.rows()),
466 m_q(matrix.cols()),
467 m_rowsTranspositions(matrix.rows()),
468 m_colsTranspositions(matrix.cols()),
472 compute(matrix.derived());
477 FullPivLU<MatrixType>::FullPivLU(EigenBase<InputType>& matrix)
478 : m_lu(matrix.derived()),
479 m_p(matrix.rows()),
480 m_q(matrix.cols()),
481 m_rowsTranspositions(matrix.rows()),
482 m_colsTranspositions(matrix.cols()),
586 eigen_assert(m_lu.rows() == m_lu.cols() && "You can't take the determinant of a non-square matrix!");
590 /** \returns the matrix represented by the decomposition,
644 * Lemma: If the matrix A has the LU decomposition PAQ = LU,
658 Matrix<Index, Dynamic, 1, 0, MaxSmallDimAtCompileTime, 1> pivots(rank());
666 // we construct a temporaty trapezoid matrix m, by taking the U matrix and
670 Matrix<typename MatrixType::Scalar, Dynamic, Dynamic, MatrixType::Options,
683 // ok, we have our trapezoid matrix, we can apply the triangular solver.
727 Matrix<Index, Dynamic, 1, 0, MaxSmallDimAtCompileTime, 1> pivots(rank());