AxpyTrapezoid

Performs the trapezoidal portion of an axpy \(Y := \alpha X + Y\); the trapezoid is defined by the uplo and offset parameters, where offset determines which sub or superdiagonal to use as the cutoff for the upper or lower-trapezoidal portion of the update.

C++ API

void AxpyTrapezoid(UpperOrLower uplo, S alpha, const Matrix<T> &X, Matrix<T> &Y, ElInt offset = 0)
void AxpyTrapezoid(UpperOrLower uplo, S alpha, const AbstractDistMatrix<T> &X, AbstractDistMatrix<T> &Y, ElInt offset = 0)
void AxpyTrapezoid(UpperOrLower uplo, S alpha, const SparseMatrix<T> &X, SparseMatrix<T> &Y, ElInt offset = 0)
void AxpyTrapezoid(UpperOrLower uplo, S alpha, const DistSparseMatrix<T> &X, DistSparseMatrix<T> &Y, ElInt offset = 0)
void AxpyTrapezoid(UpperOrLower uplo, T alpha, const MultiVec<T> &X, MultiVec<T> &Y, ElInt offset = 0)
void AxpyTrapezoid(UpperOrLower uplo, T alpha, const DistMultiVec<T> &X, DistMultiVec<T> &Y, ElInt offset = 0)

C API

ElError ElAxpyTrapezoid_i(UpperOrLower uplo, ElInt alpha, ElConstMatrix_i X, ElMatrix_i Y, ElInt offset=0)
ElError ElAxpyTrapezoid_s(UpperOrLower uplo, float alpha, ElConstMatrix_s X, ElMatrix_s Y, ElInt offset=0)
ElError ElAxpyTrapezoid_d(UpperOrLower uplo, double alpha, ElConstMatrix_d X, ElMatrix_d Y, ElInt offset=0)
ElError ElAxpyTrapezoid_c(UpperOrLower uplo, complex_float alpha, ElConstMatrix_c X, ElMatrix_c Y, ElInt offset=0)
ElError ElAxpyTrapezoid_z(UpperOrLower uplo, complex_double alpha, ElConstMatrix_z X, ElMatrix_z Y, ElInt offset=0)
ElError ElAxpyTrapezoidDist_i(UpperOrLower uplo, ElInt alpha, ElConstMatrix_i X, ElMatrix_i Y, ElInt offset=0)
ElError ElAxpyTrapezoidDist_s(UpperOrLower uplo, float alpha, ElConstMatrix_s X, ElMatrix_s Y, ElInt offset=0)
ElError ElAxpyTrapezoidDist_d(UpperOrLower uplo, double alpha, ElConstMatrix_d X, ElMatrix_d Y, ElInt offset=0)
ElError ElAxpyTrapezoidDist_c(UpperOrLower uplo, complex_float alpha, ElConstMatrix_c X, ElMatrix_c Y, ElInt offset=0)
ElError ElAxpyTrapezoidDist_z(UpperOrLower uplo, complex_double alpha, ElConstMatrix_z X, ElMatrix_z Y, ElInt offset=0)
ElError ElAxpyTrapezoidSparse_i(UpperOrLower uplo, ElInt alpha, ElConstMatrix_i X, ElMatrix_i Y, ElInt offset=0)
ElError ElAxpyTrapezoidSparse_s(UpperOrLower uplo, float alpha, ElConstMatrix_s X, ElMatrix_s Y, ElInt offset=0)
ElError ElAxpyTrapezoidSparse_d(UpperOrLower uplo, double alpha, ElConstMatrix_d X, ElMatrix_d Y, ElInt offset=0)
ElError ElAxpyTrapezoidSparse_c(UpperOrLower uplo, complex_float alpha, ElConstMatrix_c X, ElMatrix_c Y, ElInt offset=0)
ElError ElAxpyTrapezoidSparse_z(UpperOrLower uplo, complex_double alpha, ElConstMatrix_z X, ElMatrix_z Y, ElInt offset=0)
ElError ElAxpyTrapezoidDistSparse_i(UpperOrLower uplo, ElInt alpha, ElConstMatrix_i X, ElMatrix_i Y, ElInt offset=0)
ElError ElAxpyTrapezoidDistSparse_s(UpperOrLower uplo, float alpha, ElConstMatrix_s X, ElMatrix_s Y, ElInt offset=0)
ElError ElAxpyTrapezoidDistSparse_d(UpperOrLower uplo, double alpha, ElConstMatrix_d X, ElMatrix_d Y, ElInt offset=0)
ElError ElAxpyTrapezoidDistSparse_c(UpperOrLower uplo, complex_float alpha, ElConstMatrix_c X, ElMatrix_c Y, ElInt offset=0)
ElError ElAxpyTrapezoidDistSparse_z(UpperOrLower uplo, complex_double alpha, ElConstMatrix_z X, ElMatrix_z Y, ElInt offset=0)
ElError ElAxpyTrapezoidDistMultiVec_i(UpperOrLower uplo, ElInt alpha, ElConstMatrix_i X, ElMatrix_i Y, ElInt offset=0)
ElError ElAxpyTrapezoidDistMultiVec_s(UpperOrLower uplo, float alpha, ElConstMatrix_s X, ElMatrix_s Y, ElInt offset=0)
ElError ElAxpyTrapezoidDistMultiVec_d(UpperOrLower uplo, double alpha, ElConstMatrix_d X, ElMatrix_d Y, ElInt offset=0)
ElError ElAxpyTrapezoidDistMultiVec_c(UpperOrLower uplo, complex_float alpha, ElConstMatrix_c X, ElMatrix_c Y, ElInt offset=0)
ElError ElAxpyTrapezoidDistMultiVec_z(UpperOrLower uplo, complex_double alpha, ElConstMatrix_z X, ElMatrix_z Y, ElInt offset=0)

Python API

AxpyTrapezoid(uplo, alpha, X, Y, offset=0)