QuasiTrsm¶
Solve for \(X\) in the linear system
\[T^\# X = Y\]
or
\[X T^\# = Y\]
where \(T\) is quasi-triangular and
\(A^\#\) is defined to be one of \(\{A,A^T,A^H\}\).
The algorithm is very similar to that of Trsm()
.
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.
The following routines overwrite the columns of X with the solutions to the quasi-triangular linear systems.
Note
There is no corresponding BLAS routine, but it is a natural extension of Trsm.
Note
For best performance, T and X should be in [MC,MR] distributions.
C++ API¶
-
void
QuasiTrsm
(LeftOrRight side, UpperOrLower uplo, Orientation orientation, F alpha, const Matrix<F> &T, Matrix<F> &X, bool checkIfSingular = false)¶
-
void
QuasiTrsm
(LeftOrRight side, UpperOrLower uplo, Orientation orientation, F alpha, const AbstractDistMatrix<F> &T, AbstractDistMatrix<F> &X, bool checkIfSingular = false)¶
C API¶
-
ElError
ElQuasiTrsm_s
(ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, float alpha, ElConstMatrix_s A, ElMatrix_s B)¶
-
ElError
ElQuasiTrsm_d
(ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, double alpha, ElConstMatrix_d A, ElMatrix_d B)¶
-
ElError
ElQuasiTrsm_c
(ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, complex_float alpha, ElConstMatrix_c A, ElMatrix_c B)¶
-
ElError
ElQuasiTrsm_z
(ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, complex_double alpha, ElConstMatrix_z A, ElMatrix_z B)¶
-
ElError
ElQuasiTrsmDist_s
(ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, float alpha, ElConstDistMatrix_s A, ElDistMatrix_s B)¶
-
ElError
ElQuasiTrsmDist_d
(ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, double alpha, ElConstDistMatrix_d A, ElDistMatrix_d B)¶
-
ElError
ElQuasiTrsmDist_c
(ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, complex_float alpha, ElConstDistMatrix_c A, ElDistMatrix_c B)¶
-
ElError
ElQuasiTrsmDist_z
(ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, complex_double alpha, ElConstDistMatrix_z A, ElDistMatrix_z B)¶