Loading...
Searching...
No Matches
trmm: Triangular matrix multiply
Dense LA » MAGMA BLAS and Auxiliary » Level 3: matrix-matrix operations, O(n^3) work

\(B = \alpha \;op(A)\; B\) or \(B = \alpha B \;op(A) \) where \(A\) is triangular More...

## Functions

void | magma_ctrmm (magma_side_t side, magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag, magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_ptr dB, magma_int_t lddb, magma_queue_t queue)
| Perform triangular matrix-matrix product.
void | magma_dtrmm (magma_side_t side, magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag, magma_int_t m, magma_int_t n, double alpha, magmaDouble_const_ptr dA, magma_int_t ldda, magmaDouble_ptr dB, magma_int_t lddb, magma_queue_t queue)
| Perform triangular matrix-matrix product.
void | magma_strmm (magma_side_t side, magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag, magma_int_t m, magma_int_t n, float alpha, magmaFloat_const_ptr dA, magma_int_t ldda, magmaFloat_ptr dB, magma_int_t lddb, magma_queue_t queue)
| Perform triangular matrix-matrix product.
void | magma_ztrmm (magma_side_t side, magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag, magma_int_t m, magma_int_t n, magmaDoubleComplex alpha, magmaDoubleComplex_const_ptr dA, magma_int_t ldda, magmaDoubleComplex_ptr dB, magma_int_t lddb, magma_queue_t queue)
| Perform triangular matrix-matrix product.

## Detailed Description

\(B = \alpha \;op(A)\; B\) or \(B = \alpha B \;op(A) \) where \(A\) is triangular

## Function Documentation

## magma_ctrmm()

void magma_ctrmm | ( | magma_side_t | side,
|  | magma_uplo_t | uplo,
|  | magma_trans_t | trans,
|  | magma_diag_t | diag,
|  | magma_int_t | m,
|  | magma_int_t | n,
|  | magmaFloatComplex | alpha,
|  | magmaFloatComplex_const_ptr | dA,
|  | magma_int_t | ldda,
|  | magmaFloatComplex_ptr | dB,
|  | magma_int_t | lddb,
|  | magma_queue_t | queue )

Perform triangular matrix-matrix product.

\( B = \alpha op(A) B \) (side == MagmaLeft), or
\( B = \alpha B op(A) \) (side == MagmaRight),
where \( A \) is triangular.

Parameters

  [in] | side | Whether A is on the left or right.
  [in] | uplo | Whether A is upper or lower triangular.
  [in] | trans | Operation to perform on A.
  [in] | diag | Whether the diagonal of A is assumed to be unit or non-unit.
  [in] | m | Number of rows of B. m >= 0.
  [in] | n | Number of columns of B. n >= 0.
  [in] | alpha | Scalar \( \alpha \)
  [in] | dA | COMPLEX array on GPU device. If side == MagmaLeft, the n-by-n triangular matrix A of dimension (ldda,n), ldda >= max(1,n); otherwise, the m-by-m triangular matrix A of dimension (ldda,m), ldda >= max(1,m).
  [in] | ldda | Leading dimension of dA.
  [in] | dB | COMPLEX array on GPU device. The m-by-n matrix B of dimension (lddb,n), lddb >= max(1,m).
  [in] | lddb | Leading dimension of dB.
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dtrmm()

void magma_dtrmm | ( | magma_side_t | side,
|  | magma_uplo_t | uplo,
|  | magma_trans_t | trans,
|  | magma_diag_t | diag,
|  | magma_int_t | m,
|  | magma_int_t | n,
|  | double | alpha,
|  | magmaDouble_const_ptr | dA,
|  | magma_int_t | ldda,
|  | magmaDouble_ptr | dB,
|  | magma_int_t | lddb,
|  | magma_queue_t | queue )

Perform triangular matrix-matrix product.

\( B = \alpha op(A) B \) (side == MagmaLeft), or
\( B = \alpha B op(A) \) (side == MagmaRight),
where \( A \) is triangular.

Parameters

  [in] | side | Whether A is on the left or right.
  [in] | uplo | Whether A is upper or lower triangular.
  [in] | trans | Operation to perform on A.
  [in] | diag | Whether the diagonal of A is assumed to be unit or non-unit.
  [in] | m | Number of rows of B. m >= 0.
  [in] | n | Number of columns of B. n >= 0.
  [in] | alpha | Scalar \( \alpha \)
  [in] | dA | DOUBLE PRECISION array on GPU device. If side == MagmaLeft, the n-by-n triangular matrix A of dimension (ldda,n), ldda >= max(1,n); otherwise, the m-by-m triangular matrix A of dimension (ldda,m), ldda >= max(1,m).
  [in] | ldda | Leading dimension of dA.
  [in] | dB | DOUBLE PRECISION array on GPU device. The m-by-n matrix B of dimension (lddb,n), lddb >= max(1,m).
  [in] | lddb | Leading dimension of dB.
  [in] | queue | magma_queue_t Queue to execute in.

## magma_strmm()

void magma_strmm | ( | magma_side_t | side,
|  | magma_uplo_t | uplo,
|  | magma_trans_t | trans,
|  | magma_diag_t | diag,
|  | magma_int_t | m,
|  | magma_int_t | n,
|  | float | alpha,
|  | magmaFloat_const_ptr | dA,
|  | magma_int_t | ldda,
|  | magmaFloat_ptr | dB,
|  | magma_int_t | lddb,
|  | magma_queue_t | queue )

Perform triangular matrix-matrix product.

\( B = \alpha op(A) B \) (side == MagmaLeft), or
\( B = \alpha B op(A) \) (side == MagmaRight),
where \( A \) is triangular.

Parameters

  [in] | side | Whether A is on the left or right.
  [in] | uplo | Whether A is upper or lower triangular.
  [in] | trans | Operation to perform on A.
  [in] | diag | Whether the diagonal of A is assumed to be unit or non-unit.
  [in] | m | Number of rows of B. m >= 0.
  [in] | n | Number of columns of B. n >= 0.
  [in] | alpha | Scalar \( \alpha \)
  [in] | dA | REAL array on GPU device. If side == MagmaLeft, the n-by-n triangular matrix A of dimension (ldda,n), ldda >= max(1,n); otherwise, the m-by-m triangular matrix A of dimension (ldda,m), ldda >= max(1,m).
  [in] | ldda | Leading dimension of dA.
  [in] | dB | REAL array on GPU device. The m-by-n matrix B of dimension (lddb,n), lddb >= max(1,m).
  [in] | lddb | Leading dimension of dB.
  [in] | queue | magma_queue_t Queue to execute in.

## magma_ztrmm()

void magma_ztrmm | ( | magma_side_t | side,
|  | magma_uplo_t | uplo,
|  | magma_trans_t | trans,
|  | magma_diag_t | diag,
|  | magma_int_t | m,
|  | magma_int_t | n,
|  | magmaDoubleComplex | alpha,
|  | magmaDoubleComplex_const_ptr | dA,
|  | magma_int_t | ldda,
|  | magmaDoubleComplex_ptr | dB,
|  | magma_int_t | lddb,
|  | magma_queue_t | queue )

Perform triangular matrix-matrix product.

\( B = \alpha op(A) B \) (side == MagmaLeft), or
\( B = \alpha B op(A) \) (side == MagmaRight),
where \( A \) is triangular.

Parameters

  [in] | side | Whether A is on the left or right.
  [in] | uplo | Whether A is upper or lower triangular.
  [in] | trans | Operation to perform on A.
  [in] | diag | Whether the diagonal of A is assumed to be unit or non-unit.
  [in] | m | Number of rows of B. m >= 0.
  [in] | n | Number of columns of B. n >= 0.
  [in] | alpha | Scalar \( \alpha \)
  [in] | dA | COMPLEX_16 array on GPU device. If side == MagmaLeft, the n-by-n triangular matrix A of dimension (ldda,n), ldda >= max(1,n); otherwise, the m-by-m triangular matrix A of dimension (ldda,m), ldda >= max(1,m).
  [in] | ldda | Leading dimension of dA.
  [in] | dB | COMPLEX_16 array on GPU device. The m-by-n matrix B of dimension (lddb,n), lddb >= max(1,m).
  [in] | lddb | Leading dimension of dB.
  [in] | queue | magma_queue_t Queue to execute in.