Symmetric solve

Implementation

Solve \(AX=B\), \(A^T X = B\), or \(A^H X = B\) for \(X\) given a symmetric or Hermitian matrix \(A\) and a right-hand side matrix \(B\) using Bunch-Kaufman.

Note

Only the lower-triangular storage case (uplo=LOWER) is supported by the following routines.

C++ API

void SymmetricSolve(UpperOrLower uplo, Orientation orientation, Matrix<F> &A, Matrix<F> &B, bool conjugate = false, LDLPivotType pivotType = BUNCH_KAUFMAN_A)
void SymmetricSolve(UpperOrLower uplo, Orientation orientation, AbstractDistMatrix<F> &A, AbstractDistMatrix<F> &B, bool conjugate = false, LDLPivotType pivotType = BUNCH_KAUFMAN_A)

C API

ElError ElSymmetricSolve_s(ElUpperOrLower uplo, ElOrientation orientation, ElMatrix_s A, ElMatrix_s B)
ElError ElSymmetricSolve_d(ElUpperOrLower uplo, ElOrientation orientation, ElMatrix_d A, ElMatrix_d B)
ElError ElSymmetricSolve_c(ElUpperOrLower uplo, ElOrientation orientation, ElMatrix_c A, ElMatrix_c B)
ElError ElSymmetricSolve_z(ElUpperOrLower uplo, ElOrientation orientation, ElMatrix_z A, ElMatrix_z B)
ElError ElSymmetricSolveDist_s(ElUpperOrLower uplo, ElOrientation orientation, ElDistMatrix_s A, ElDistMatrix_s B)
ElError ElSymmetricSolveDist_d(ElUpperOrLower uplo, ElOrientation orientation, ElDistMatrix_d A, ElDistMatrix_d B)
ElError ElSymmetricSolveDist_c(ElUpperOrLower uplo, ElOrientation orientation, ElDistMatrix_c A, ElDistMatrix_c B)
ElError ElSymmetricSolveDist_z(ElUpperOrLower uplo, ElOrientation orientation, ElDistMatrix_z A, ElDistMatrix_z B)