DiagonalScaleTrapezoid

Note

This is not a standard BLAS routine, but it is BLAS-like.

Performs either \(A := \mbox{op}(D) A\) or \(A := A \mbox{op}(D)\), where \(A\) is trapezoidal (upper or lower with the boundary diagonal of given offset), \(op(D)\) equals \(D=D^T\), or \(D^H=\bar D\), where \(D = \mbox{diag}(d)\) and \(d\) is a column vector.

C++ API

void DiagonalScaleTrapezoid(LeftOrRight side, UpperOrLower uplo, Orientation orientation, const Matrix<T> &d, Matrix<T> &A, Int offset = 0)
void DiagonalScaleTrapezoid(LeftOrRight side, UpperOrLower uplo, Orientation orientation, const AbstractDistMatrix<T> &d, AbstractDistMatrix<T> &A, Int offset = 0)

C API

ElError ElDiagonalScaleTrapezoid_i(ElLeftOrRight side, ElUpperOrLower uplo, ElConstMatrix_i d, ElMatrix_i X, ElInt offset)
ElError ElDiagonalScaleTrapezoid_s(ElLeftOrRight side, ElUpperOrLower uplo, ElConstMatrix_s d, ElMatrix_s X, ElInt offset)
ElError ElDiagonalScaleTrapezoid_d(ElLeftOrRight side, ElUpperOrLower uplo, ElConstMatrix_d d, ElMatrix_d X, ElInt offset)
ElError ElDiagonalScaleTrapezoid_c(ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_c d, ElMatrix_c X, ElInt offset)
ElError ElDiagonalScaleTrapezoid_z(ElLeftOrRight side, ElUpperOrLower uplo, ElOrientation orientation, ElConstMatrix_z d, ElMatrix_z X, ElInt offset)

Python API

DiagonalScaleTrapezoid(side, uplo, d, X, offset=0)