Level 2¶
ApplyColumnPivots¶
Note
This is not a standard BLAS routine, but it is BLAS-like.
-
void
ApplyColumnPivots
(DistMatrix<F, U1, V1> &A, const DistMatrix<Int, U2, V2> &p)¶
ApplyInverseColumnPivots¶
Note
This is not a standard BLAS routine, but it is BLAS-like.
-
void
ApplyInverseColumnPivots
(DistMatrix<F, U1, V1> &A, const DistMatrix<Int, U2, V2> &p)¶
ApplyRowPivots¶
Note
This is not a standard BLAS routine, but it is BLAS-like.
-
void
ApplyRowPivots
(DistMatrix<F, U1, V1> &A, const DistMatrix<Int, U2, V2> &p)¶
ApplyInverseRowPivots¶
Note
This is not a standard BLAS routine, but it is BLAS-like.
-
void
ApplyInverseRowPivots
(DistMatrix<F, U1, V1> &A, const DistMatrix<Int, U2, V2> &p)¶
ApplySymmetricPivots¶
Note
This is not a standard BLAS routine, but it is BLAS-like.
-
void
ApplySymmetricPivots
(UpperOrLower uplo, Matrix<F> &A, const Matrix<int> &p, bool conjugate = false)¶
-
void
ApplySymmetricPivots
(UpperOrLower uplo, DistMatrix<F> &A, const DistMatrix<Int, VC, STAR> &p, bool conjugate = false)¶
ApplyInverseSymmetricPivots¶
Note
This is not a standard BLAS routine, but it is BLAS-like.
-
void
ApplyInverseSymmetricPivots
(UpperOrLower uplo, Matrix<F> &A, const Matrix<int> &p, bool conjugate = false)¶
-
void
ApplyInverseSymmetricPivots
(UpperOrLower uplo, DistMatrix<F> &A, const DistMatrix<Int, VC, STAR> &p, bool conjugate = false)¶
ComposePivots¶
Note
This is not a standard BLAS routine, but it is BLAS-like.
-
void
ComposePivots
(const DistMatrix<Int, VC, STAR> &p, std::vector<int> &image, std::vector<int> &preimage)¶
-
void
ComposePivots
(const DistMatrix<Int, STAR, STAR> &p, std::vector<int> &image, std::vector<int> &preimage)¶
Gemv¶
General matrix-vector multiply: \(y := \alpha \mbox{op}(A) x + \beta y\), where \(\mbox{op}(A)\) can be \(A\), \(A^T\), or \(A^H\). Whether or not \(x\) and \(y\) are stored as row vectors, they will be interpreted as column vectors.
-
void
Gemv
(Orientation orientation, T alpha, const Matrix<T> &A, const Matrix<T> &x, T beta, Matrix<T> &y)¶
-
void
Gemv
(Orientation orientation, T alpha, const DistMatrix<T> &A, const DistMatrix<T> &x, T beta, DistMatrix<T> &y)¶
Ger¶
General rank-one update: \(A := \alpha x y^H + A\). \(x\) and \(y\) are free to be stored as either row or column vectors, but they will be interpreted as column vectors.
-
void
Ger
(T alpha, const DistMatrix<T> &x, const DistMatrix<T> &y, DistMatrix<T> &A)¶
Gerc¶
This is the same as Ger()
, but the name is provided because it exists
in the BLAS.
-
void
Gerc
(T alpha, const DistMatrix<T> &x, const DistMatrix<T> &y, DistMatrix<T> &A)¶
Geru¶
General rank-one update (unconjugated): \(A := \alpha x y^T + A\). \(x\) and \(y\) are free to be stored as either row or column vectors, but they will be interpreted as column vectors.
-
void
Geru
(T alpha, const DistMatrix<T> &x, const DistMatrix<T> &y, DistMatrix<T> &A)¶
Hemv¶
Hermitian matrix-vector multiply: \(y := \alpha A x + \beta y\), where \(A\) is Hermitian.
-
void
Hemv
(UpperOrLower uplo, T alpha, const Matrix<T> &A, const Matrix<T> &x, T beta, Matrix<T> &y)¶
-
void
Hemv
(UpperOrLower uplo, T alpha, const DistMatrix<T> &A, const DistMatrix<T> &x, T beta, DistMatrix<T> &y)¶
Please see SetLocalSymvBlocksize<T>()
and
LocalSymvBlocksize<T>()
in the Tuning parameters section for
information on tuning the distributed Hemv()
.
Her¶
Hermitian rank-one update: implicitly performs \(A := \alpha x x^H + A\), where only the triangle of \(A\) specified by uplo is updated.
-
void
Her
(UpperOrLower uplo, T alpha, const Matrix<T> &x, Matrix<T> &A)¶
-
void
Her
(UpperOrLower uplo, T alpha, const DistMatrix<T> &x, DistMatrix<T> &A)¶
Her2¶
Hermitian rank-two update: implicitly performs \(A := \alpha ( x y^H + y x^H ) + A\), where only the triangle of \(A\) specified by uplo is updated.
-
void
Her2
(UpperOrLower uplo, T alpha, const Matrix<T> &x, const Matrix<T> &y, Matrix<T> &A)¶
-
void
Her2
(UpperOrLower uplo, T alpha, const DistMatrix<T> &x, const DistMatrix<T> &y, DistMatrix<T> &A)¶
Symv¶
Symmetric matrix-vector multiply: \(y := \alpha A x + \beta y\), where \(A\) is symmetric.
-
void
Symv
(UpperOrLower uplo, T alpha, const Matrix<T> &A, const Matrix<T> &x, T beta, Matrix<T> &y, bool conjugate = false)¶
-
void
Symv
(UpperOrLower uplo, T alpha, const DistMatrix<T> &A, const DistMatrix<T> &x, T beta, DistMatrix<T> &y, bool conjugate = false)¶
Please see SetLocalSymvBlocksize<T>()
and
LocalSymvBlocksize<T>()
in the Tuning parameters section for
information on tuning the distributed Symv()
.
Syr¶
Symmetric rank-one update: implicitly performs \(A := \alpha x x^T + A\), where only the triangle of \(A\) specified by uplo is updated.
-
void
Syr
(UpperOrLower uplo, T alpha, const Matrix<T> &x, Matrix<T> &A, bool conjugate = false)¶
-
void
Syr
(UpperOrLower uplo, T alpha, const DistMatrix<T> &x, DistMatrix<T> &A, bool conjugate = false)¶
Syr2¶
Symmetric rank-two update: implicitly performs \(A := \alpha ( x y^T + y x^T ) + A\), where only the triangle of \(A\) specified by uplo is updated.
-
void
Syr2
(UpperOrLower uplo, T alpha, const Matrix<T> &x, const Matrix<T> &y, Matrix<T> &A, bool conjugate = false)¶
-
void
Syr2
(UpperOrLower uplo, T alpha, const DistMatrix<T> &x, const DistMatrix<T> &y, DistMatrix<T> &A, bool conjugate = false)¶
Trsv¶
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 triangular matrix, depending upon uplo. \(A\) can also be
treated as implicitly having a unit-diagonal if diag is set to UNIT
.
-
void
Trsv
(UpperOrLower uplo, Orientation orientation, UnitOrNonUnit diag, const Matrix<F> &A, Matrix<F> &x)¶
-
void
Trsv
(UpperOrLower uplo, Orientation orientation, UnitOrNonUnit diag, const DistMatrix<F> &A, DistMatrix<F> &x)¶