Home | History | Annotate | Download | only in PaStiXSupport

Lines Matching full:matrix

19   * The matrix can be either real or complex, symmetric or not.
87 // Convert the matrix to Fortran-style Numbering
128 typedef Matrix<Scalar,Dynamic,1> Vector;
153 && "PastixBase::solve(): invalid number of rows of the right hand side matrix b");
167 // we process the sparse rhs per block of NbColsAtOnce columns temporarily stored into a dense matrix.
171 Eigen::Matrix<DestScalar,Dynamic,Dynamic> tmp(size,rhsCols);
234 * \c InvalidInput if the input matrix is invalid
254 && "PastixBase::solve(): invalid number of rows of the right hand side matrix b");
260 // Initialize the Pastix data structure, check the matrix
288 mutable Matrix<int,IPARM_SIZE,1> m_iparm; // integer vector for the input parameters
289 mutable Matrix<double,DPARM_SIZE,1> m_dparm; // Scalar vector for the input parameters
290 mutable Matrix<Index,Dynamic,1> m_perm; // Permutation vector
291 mutable Matrix<Index,Dynamic,1> m_invp; // Inverse permutation vector
292 mutable int m_size; // Size of the matrix
338 eigen_assert(mat.rows() == mat.cols() && "The input matrix should be squared");
411 eigen_assert(m_isInitialized && "The matrix should be factorized first");
437 * factorization in the PaStiX library. The matrix A should be squared and nonsingular
438 * PaStiX requires that the matrix A has a symmetric structural pattern.
439 * This interface can symmetrize the input matrix otherwise.
442 * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
443 * \tparam IsStrSym Indicates if the input matrix has a symmetric pattern, default is false
445 * the input matrix will be symmetrized at each call, hence it is advised to
446 * symmetrize the matrix in a end-user program and set \p IsStrSym to true
466 PastixLU(const MatrixType& matrix):Base()
469 compute(matrix);
471 /** Compute the LU supernodal factorization of \p matrix.
476 void compute (const MatrixType& matrix)
480 grabMatrix(matrix, temp);
483 /** Compute the LU symbolic factorization of \p matrix using its sparsity pattern.
485 * The result of this operation can be used with successive matrices having the same pattern as \p matrix
488 void analyzePattern(const MatrixType& matrix)
492 grabMatrix(matrix, temp);
496 /** Compute the LU supernodal factorization of \p matrix
497 * WARNING The matrix \p matrix should have the same structural pattern
501 void factorize(const MatrixType& matrix)
504 grabMatrix(matrix, temp);
516 void grabMatrix(const MatrixType& matrix, ColSpMatrix& out)
519 out = matrix;
525 m_transposedStructure = matrix.transpose();
527 // Set the elements of the matrix to zero
535 out = m_transposedStructure + matrix;
552 * available in the PaStiX library. The matrix A should be symmetric and positive definite
556 * \tparam MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
557 * \tparam UpLo The part of the matrix to use : Lower or Upper. The default is Lower as required by PaStiX
576 PastixLLT(const MatrixType& matrix):Base()
579 compute(matrix);
582 /** Compute the L factor of the LL^T supernodal factorization of \p matrix
585 void compute (const MatrixType& matrix)
588 grabMatrix(matrix, temp);
592 /** Compute the LL^T symbolic factorization of \p matrix using its sparsity pattern
593 * The result of this operation can be used with successive matrices having the same pattern as \p matrix
596 void analyzePattern(const MatrixType& matrix)
599 grabMatrix(matrix, temp);
602 /** Compute the LL^T supernodal numerical factorization of \p matrix
605 void factorize(const MatrixType& matrix)
608 grabMatrix(matrix, temp);
620 void grabMatrix(const MatrixType& matrix, ColSpMatrix& out)
623 out.template selfadjointView<Lower>() = matrix.template selfadjointView<UpLo>();
633 * available in the PaStiX library. The matrix A should be symmetric and positive definite
637 * \tparam MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
638 * \tparam UpLo The part of the matrix to use : Lower or Upper. The default is Lower as required by PaStiX
657 PastixLDLT(const MatrixType& matrix):Base()
660 compute(matrix);
663 /** Compute the L and D factors of the LDL^T factorization of \p matrix
666 void compute (const MatrixType& matrix)
669 grabMatrix(matrix, temp);
673 /** Compute the LDL^T symbolic factorization of \p matrix using its sparsity pattern
674 * The result of this operation can be used with successive matrices having the same pattern as \p matrix
677 void analyzePattern(const MatrixType& matrix)
680 grabMatrix(matrix, temp);
683 /** Compute the LDL^T supernodal numerical factorization of \p matrix
686 void factorize(const MatrixType& matrix)
689 grabMatrix(matrix, temp);
702 void grabMatrix(const MatrixType& matrix, ColSpMatrix& out)
705 out.template selfadjointView<Lower>() = matrix.template selfadjointView<UpLo>();