QuasiTrsv¶
Quasi-triangular solve with a vector: computes \(x := \mbox{op}(A)^{-1} x\), where \(\mbox{op}(A)\) is either \(A\), \(A^T\), or \(A^H\), and \(A\) is treated an either a lower or upper quasi-triangular matrix, depending upon uplo.
Note that the term quasi-triangular is in the context of real Schur decompositions, which produce triangular matrices with mixes of \(1 \times 1\) and \(2 \times 2\) diagonal blocks.
Note
There is no corresponding BLAS routine, but it is a natural extension of Trsv.
Note
For the best performance, both A and x should be in [MC,MR] distributions.
C++ API¶
-
void
QuasiTrsv
(UpperOrLower uplo, Orientation orientation, const Matrix<F> &A, Matrix<F> &x, bool checkIfSingular = false)¶
-
void
QuasiTrsv
(UpperOrLower uplo, Orientation orientation, const AbstractDistMatrix<F> &A, AbstractDistMatrix<F> &x, bool checkIfSingular = false)¶
C API¶
-
ElError
ElQuasiTrsv_s
(ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_s A, ElMatrix_s x)¶
-
ElError
ElQuasiTrsv_d
(ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_d A, ElMatrix_d x)¶
-
ElError
ElQuasiTrsv_c
(ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c A, ElMatrix_c x)¶
-
ElError
ElQuasiTrsv_z
(ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z A, ElMatrix_z x)¶
-
ElError
ElQuasiTrsvDist_s
(ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_s A, ElDistMatrix_s x)¶
-
ElError
ElQuasiTrsvDist_d
(ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_d A, ElDistMatrix_d x)¶
-
ElError
ElQuasiTrsvDist_c
(ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_c A, ElDistMatrix_c x)¶
-
ElError
ElQuasiTrsvDist_z
(ElUpperOrLower uplo, ElOrientation orientation, ElConstDistMatrix_z A, ElDistMatrix_z x)¶