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");
213 * \c InvalidInput if the input matrix is invalid
233 && "PastixBase::solve(): invalid number of rows of the right hand side matrix b");
239 // Initialize the Pastix data structure, check the matrix
267 mutable Matrix<int,IPARM_SIZE,1> m_iparm; // integer vector for the input parameters
268 mutable Matrix<double,DPARM_SIZE,1> m_dparm; // Scalar vector for the input parameters
269 mutable Matrix<Index,Dynamic,1> m_perm; // Permutation vector
270 mutable Matrix<Index,Dynamic,1> m_invp; // Inverse permutation vector
271 mutable int m_size; // Size of the matrix
317 eigen_assert(mat.rows() == mat.cols() && "The input matrix should be squared");
390 eigen_assert(m_isInitialized && "The matrix should be factorized first");
416 * factorization in the PaStiX library. The matrix A should be squared and nonsingular
417 * PaStiX requires that the matrix A has a symmetric structural pattern.
418 * This interface can symmetrize the input matrix otherwise.
421 * \tparam _MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
422 * \tparam IsStrSym Indicates if the input matrix has a symmetric pattern, default is false
424 * the input matrix will be symmetrized at each call, hence it is advised to
425 * symmetrize the matrix in a end-user program and set \p IsStrSym to true
445 PastixLU(const MatrixType& matrix):Base()
448 compute(matrix);
450 /** Compute the LU supernodal factorization of \p matrix.
455 void compute (const MatrixType& matrix)
459 grabMatrix(matrix, temp);
462 /** Compute the LU symbolic factorization of \p matrix using its sparsity pattern.
464 … result of this operation can be used with successive matrices having the same pattern as \p matrix
467 void analyzePattern(const MatrixType& matrix)
471 grabMatrix(matrix, temp);
475 /** Compute the LU supernodal factorization of \p matrix
476 * WARNING The matrix \p matrix should have the same structural pattern
480 void factorize(const MatrixType& matrix)
483 grabMatrix(matrix, temp);
495 void grabMatrix(const MatrixType& matrix, ColSpMatrix& out)
498 out = matrix;
504 m_transposedStructure = matrix.transpose();
506 // Set the elements of the matrix to zero
514 out = m_transposedStructure + matrix;
531 * available in the PaStiX library. The matrix A should be symmetric and positive definite
535 * \tparam MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
536 …* \tparam UpLo The part of the matrix to use : Lower or Upper. The default is Lower as required by…
555 PastixLLT(const MatrixType& matrix):Base()
558 compute(matrix);
561 /** Compute the L factor of the LL^T supernodal factorization of \p matrix
564 void compute (const MatrixType& matrix)
567 grabMatrix(matrix, temp);
571 /** Compute the LL^T symbolic factorization of \p matrix using its sparsity pattern
572 … result of this operation can be used with successive matrices having the same pattern as \p matrix
575 void analyzePattern(const MatrixType& matrix)
578 grabMatrix(matrix, temp);
581 /** Compute the LL^T supernodal numerical factorization of \p matrix
584 void factorize(const MatrixType& matrix)
587 grabMatrix(matrix, temp);
599 void grabMatrix(const MatrixType& matrix, ColSpMatrix& out)
602 out.template selfadjointView<Lower>() = matrix.template selfadjointView<UpLo>();
612 * available in the PaStiX library. The matrix A should be symmetric and positive definite
616 * \tparam MatrixType the type of the sparse matrix A, it must be a SparseMatrix<>
617 …* \tparam UpLo The part of the matrix to use : Lower or Upper. The default is Lower as required by…
636 PastixLDLT(const MatrixType& matrix):Base()
639 compute(matrix);
642 /** Compute the L and D factors of the LDL^T factorization of \p matrix
645 void compute (const MatrixType& matrix)
648 grabMatrix(matrix, temp);
652 /** Compute the LDL^T symbolic factorization of \p matrix using its sparsity pattern
653 … result of this operation can be used with successive matrices having the same pattern as \p matrix
656 void analyzePattern(const MatrixType& matrix)
659 grabMatrix(matrix, temp);
662 /** Compute the LDL^T supernodal numerical factorization of \p matrix
665 void factorize(const MatrixType& matrix)
668 grabMatrix(matrix, temp);
681 void grabMatrix(const MatrixType& matrix, ColSpMatrix& out)
684 out.template selfadjointView<Lower>() = matrix.template selfadjointView<UpLo>();