Home | History | Annotate | Download | only in PaStiXSupport

Lines Matching refs:Matrix

27   * The matrix can be either real or complex, symmetric or not.
95 // Convert the matrix to Fortran-style Numbering
142 typedef Matrix<Scalar,Dynamic,1> Vector;
208 * \c InvalidInput if the input matrix is invalid
220 // Initialize the Pastix data structure, check the matrix
249 mutable Matrix<StorageIndex,Dynamic,1> m_perm; // Permutation vector
250 mutable Matrix<StorageIndex,Dynamic,1> m_invp; // Inverse permutation vector
251 mutable int m_size; // Size of the matrix
297 eigen_assert(mat.rows() == mat.cols() && "The input matrix should be squared");
369 eigen_assert(m_isInitialized && "The matrix should be factorized first");
395 * factorization in the PaStiX library. The matrix A should be squared and nonsingular
396 * PaStiX requires that the matrix A has a symmetric structural pattern.
397 * This interface can symmetrize the input matrix otherwise.
400 * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
401 * \tparam IsStrSym Indicates if the input matrix has a symmetric pattern, default is false
403 * the input matrix will be symmetrized at each call, hence it is advised to
404 * symmetrize the matrix in a end-user program and set \p IsStrSym to true
426 explicit PastixLU(const MatrixType& matrix):Base()
429 compute(matrix);
431 /** Compute the LU supernodal factorization of \p matrix.
436 void compute (const MatrixType& matrix)
440 grabMatrix(matrix, temp);
443 /** Compute the LU symbolic factorization of \p matrix using its sparsity pattern.
445 * The result of this operation can be used with successive matrices having the same pattern as \p matrix
448 void analyzePattern(const MatrixType& matrix)
452 grabMatrix(matrix, temp);
456 /** Compute the LU supernodal factorization of \p matrix
457 * WARNING The matrix \p matrix should have the same structural pattern
461 void factorize(const MatrixType& matrix)
464 grabMatrix(matrix, temp);
476 void grabMatrix(const MatrixType& matrix, ColSpMatrix& out)
479 out = matrix;
485 m_transposedStructure = matrix.transpose();
487 // Set the elements of the matrix to zero
495 out = m_transposedStructure + matrix;
512 * available in the PaStiX library. The matrix A should be symmetric and positive definite
516 * \tparam MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
517 * \tparam UpLo The part of the matrix to use : Lower or Upper. The default is Lower as required by PaStiX
538 explicit PastixLLT(const MatrixType& matrix):Base()
541 compute(matrix);
544 /** Compute the L factor of the LL^T supernodal factorization of \p matrix
547 void compute (const MatrixType& matrix)
550 grabMatrix(matrix, temp);
554 /** Compute the LL^T symbolic factorization of \p matrix using its sparsity pattern
555 * The result of this operation can be used with successive matrices having the same pattern as \p matrix
558 void analyzePattern(const MatrixType& matrix)
561 grabMatrix(matrix, temp);
564 /** Compute the LL^T supernodal numerical factorization of \p matrix
567 void factorize(const MatrixType& matrix)
570 grabMatrix(matrix, temp);
582 void grabMatrix(const MatrixType& matrix, ColSpMatrix& out)
584 out.resize(matrix.rows(), matrix.cols());
586 out.template selfadjointView<Lower>() = matrix.template selfadjointView<UpLo>();
596 * available in the PaStiX library. The matrix A should be symmetric and positive definite
600 * \tparam MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
601 * \tparam UpLo The part of the matrix to use : Lower or Upper. The default is Lower as required by PaStiX
622 explicit PastixLDLT(const MatrixType& matrix):Base()
625 compute(matrix);
628 /** Compute the L and D factors of the LDL^T factorization of \p matrix
631 void compute (const MatrixType& matrix)
634 grabMatrix(matrix, temp);
638 /** Compute the LDL^T symbolic factorization of \p matrix using its sparsity pattern
639 * The result of this operation can be used with successive matrices having the same pattern as \p matrix
642 void analyzePattern(const MatrixType& matrix)
645 grabMatrix(matrix, temp);
648 /** Compute the LDL^T supernodal numerical factorization of \p matrix
651 void factorize(const MatrixType& matrix)
654 grabMatrix(matrix, temp);
667 void grabMatrix(const MatrixType& matrix, ColSpMatrix& out)
670 out.resize(matrix.rows(), matrix.cols());
671 out.template selfadjointView<Lower>() = matrix.template selfadjointView<UpLo>();