HPD solve¶
Solves \(AX=B\), \(A^T X = B\), or \(A^H X=B\) for \(X\) given Hermitian positive-definite (HPD) \(A\) and right-hand side matrix \(B\) (note that these options are all identical except for when \(A\). is complex). The solution is computed by first finding the Cholesky factorization of \(A\) and then performing two successive triangular solves against \(B\).
Note that only the uplo triangle of \(A\) is accessed by the below routines.
Python API¶
-
HPDSolve
(A, B[, uplo=LOWER, orient=NORMAL])¶ - Parameters
A – Dense or sparse HPD matrix to solve against
B – Right-hand sides (which will be overwritten with the solution).
uplo – (optional) which triangle the data is explicitly stored in
orient – (optional) whether to use \(A\), \(A^T\), or \(A^H\)
Type of \(A\) |
Type of B |
|
|
|
|
|
|
|
|
C++ API¶
-
void
HPDSolve
(UpperOrLower uplo, Orientation orientation, const Matrix<F> &A, Matrix<F> &B)¶
-
void
HPDSolve
(UpperOrLower uplo, Orientation orientation, const AbstractDistMatrix<F> &A, AbstractDistMatrix<F> &B)¶
-
void
HPDSolve
(const SparseMatrix<F> &A, Matrix<F> &B, const BisectCtrl &ctrl = BisectCtrl())¶
-
void
HPDSolve
(const DistSparseMatrix<F> &A, DistMultiVec<F> &B, const BisectCtrl &ctrl = BisectCtrl())¶
Dense versions which factor in-place¶
-
void
hpd_solve
::
Overwrite
(UpperOrLower uplo, Orientation orientation, Matrix<F> &A, Matrix<F> &B)¶
-
void
hpd_solve
::
Overwrite
(UpperOrLower uplo, Orientation orientation, AbstractDistMatrix<F> &A, AbstractDistMatrix<F> &B)¶
C API¶
Single-precision¶
-
ElError
ElHPDSolve_s
(ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_s A, ElMatrix_s B)¶
-
ElError
ElHPDSolveDist_s
(ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_s A, ElDistMatrix_s B)¶
Double-precision¶
-
ElError
ElHPDSolve_d
(ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_d A, ElMatrix_d B)¶
-
ElError
ElHPDSolveDist_d
(ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_d A, ElDistMatrix_d B)¶
Single-precision complex¶
-
ElError
ElHPDSolve_c
(ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c A, ElMatrix_c B)¶
-
ElError
ElHPDSolveDist_c
(ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_c A, ElDistMatrix_c B)¶
Double-precision complex¶
-
ElError
ElHPDSolve_z
(ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z A, ElMatrix_z B)¶
-
ElError
ElHPDSolveDist_z
(ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_z A, ElDistMatrix_z B)¶