Lines Matching refs:matrix

19   * \brief LU decomposition of a matrix with complete pivoting, and related features
21 * \param MatrixType the type of the matrix of which we are computing the LU decomposition
23 * This class represents a LU decomposition of any matrix, with complete pivoting: the matrix A is
33 * decomposition is inherently more stable and/or flexible. For example, when computing the kernel of a matrix,
34 * working with the SVD allows to select the smallest singular values of the matrix, something that
40 * As an exemple, here is how the original matrix can be retrieved:
84 * \param matrix the matrix of which to compute the LU decomposition.
87 FullPivLU(const MatrixType& matrix);
89 /** Computes the LU decomposition of the given matrix.
91 * \param matrix the matrix of which to compute the LU decomposition.
96 FullPivLU& compute(const MatrixType& matrix);
98 /** \returns the LU decomposition matrix: the upper-triangular part is U, the
128 /** \returns the permutation matrix P
138 /** \returns the permutation matrix Q
148 /** \returns the kernel of the matrix, also called its null-space. The columns of the returned matrix
151 * \note If the kernel has dimension zero, then the returned matrix is a column-vector filled with zeros.
168 /** \returns the image of the matrix, also called its column-space. The columns of the returned matrix
171 * \param originalMatrix the original matrix, of which *this is the LU decomposition.
176 * \note If the image has dimension zero, then the returned matrix is a column-vector filled with zeros.
194 /** \return a solution x to the equation Ax=b, where A is the matrix of which
197 * \param b the right-hand-side of the equation to solve. Can be a vector or a matrix,
199 * b.rows()==A.rows(), where A is the matrix of which *this is the LU decomposition.
221 /** \returns the determinant of the matrix of which
223 * (that is, O(n) where n is the dimension of the square matrix)
289 /** \returns the rank of the matrix of which *this is the LU decomposition.
306 /** \returns the dimension of the kernel of the matrix of which *this is the LU decomposition.
318 /** \returns true if the matrix of which *this is the LU decomposition represents an injective
331 /** \returns true if the matrix of which *this is the LU decomposition represents a surjective
344 /** \returns true if the matrix of which *this is the LU decomposition is invertible.
356 /** \returns the inverse of the matrix of which *this is the LU decomposition.
358 * \note If this matrix is not invertible, the returned matrix has undefined coefficients.
359 * Use isInvertible() to first determine whether this matrix is invertible.
366 eigen_assert(m_lu.rows() == m_lu.cols() && "You can't take the inverse of a non-square matrix!");
406 FullPivLU<MatrixType>::FullPivLU(const MatrixType& matrix)
407 : m_lu(matrix.rows(), matrix.cols()),
408 m_p(matrix.rows()),
409 m_q(matrix.cols()),
410 m_rowsTranspositions(matrix.rows()),
411 m_colsTranspositions(matrix.cols()),
415 compute(matrix);
419 FullPivLU<MatrixType>& FullPivLU<MatrixType>::compute(const MatrixType& matrix)
422 eigen_assert(matrix.rows()<=NumTraits<int>::highest() && matrix.cols()<=NumTraits<int>::highest());
425 m_lu = matrix;
427 const Index size = matrix.diagonalSize();
428 const Index rows = matrix.rows();
429 const Index cols = matrix.cols();
433 m_rowsTranspositions.resize(matrix.rows());
434 m_colsTranspositions.resize(matrix.cols());
510 eigen_assert(m_lu.rows() == m_lu.cols() && "You can't take the determinant of a non-square matrix!");
514 /** \returns the matrix represented by the decomposition,
568 * Lemma: If the matrix A has the LU decomposition PAQ = LU,
590 // we construct a temporaty trapezoid matrix m, by taking the U matrix and
607 // ok, we have our trapezoid matrix, we can apply the triangular solver.