Lines Matching refs:matrix

20   * \brief LU decomposition of a matrix with partial pivoting, and related features
22 * \param MatrixType the type of the matrix of which we are computing the LU decomposition
24 * This class represents a LU decomposition of a \b square \b invertible matrix, with partial pivoting: the matrix A
26 * is a permutation matrix.
29 * matrices. Thus LAPACK's dgesv and dgesvx require the matrix to be square and invertible. The present class
30 * does the same. It will assert that the matrix is square, but it won't (actually it can't) check that the
31 * matrix is invertible: it is your task to check that you only use this decomposition on invertible matrices.
41 * On the other hand, it is \b not suitable to determine whether a given matrix is invertible.
85 * \param matrix the matrix of which to compute the LU decomposition.
87 * \warning The matrix should have full rank (e.g. if it's square, it should be invertible).
90 PartialPivLU(const MatrixType& matrix);
92 PartialPivLU& compute(const MatrixType& matrix);
94 /** \returns the LU decomposition matrix: the upper-triangular part is U, the
106 /** \returns the permutation matrix P.
114 /** This method returns the solution x to the equation Ax=b, where A is the matrix of which
117 * \param b the right-hand-side of the equation to solve. Can be a vector or a matrix,
119 * b.rows()==A.rows(), where A is the matrix of which *this is the LU decomposition.
126 * Since this PartialPivLU class assumes anyway that the matrix A is invertible, the solution
139 /** \returns the inverse of the matrix of which *this is the LU decomposition.
141 * \warning The matrix being decomposed here is assumed to be invertible. If you need to check for
153 /** \returns the determinant of the matrix of which
155 * (that is, O(n) where n is the dimension of the square matrix)
202 PartialPivLU<MatrixType>::PartialPivLU(const MatrixType& matrix)
203 : m_lu(matrix.rows(), matrix.rows()),
204 m_p(matrix.rows()),
205 m_rowsTranspositions(matrix.rows()),
209 compute(matrix);
229 /** \internal performs the LU decomposition in-place of the matrix \a lu
234 * of columns of the matrix \a lu, and an integer \a nb_transpositions
283 /** \internal performs the LU decomposition in-place of the matrix represented
289 * of columns of the matrix \a lu, and an integer \a nb_transpositions
305 // if the matrix is too small, no blocking:
312 // of the matrix so that there is enough sub blocks:
328 // partition the matrix:
387 PartialPivLU<MatrixType>& PartialPivLU<MatrixType>::compute(const MatrixType& matrix)
390 eigen_assert(matrix.rows()<NumTraits<int>::highest());
392 m_lu = matrix;
394 eigen_assert(matrix.rows() == matrix.cols() && "PartialPivLU is only for square (and moreover invertible) matrices");
395 const Index size = matrix.rows();
416 /** \returns the matrix represented by the decomposition,