Octopus
blas_oct_m::blas_gemm Interface Reference

--------------— gemm ---------------— performs one of the matrix-matrix operations More...

Detailed Description

--------------— gemm ---------------— performs one of the matrix-matrix operations

\[ C := \alpha op( A ) op( B ) + \beta C, \]

where op(X) is one of

\[ op( X ) = X \mbox{ or } op( X ) = X^T, \]

\( \alpha \) and \( \beta \) are scalars, and A, B and C are matrices, with op(A) an \( m \times k \) matrix, op(B) a \( k \times n \) matrix and C an \( m \times n \)m matrix.

Definition at line 371 of file blas.F90.

Public Member Functions

subroutine dgemm (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
 
subroutine zgemm (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
 
subroutine zdgemm (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
 A real matrix multiplying a complex one, added to a complex matrix. More...
 

Member Function/Subroutine Documentation

◆ dgemm()

subroutine blas_oct_m::blas_gemm::dgemm ( character(1), intent(in)  transa,
character(1), intent(in)  transb,
integer, intent(in)  m,
integer, intent(in)  n,
integer, intent(in)  k,
real(real64), intent(in)  alpha,
real(real64), intent(in)  a,
integer, intent(in)  lda,
real(real64), intent(in)  b,
integer, intent(in)  ldb,
real(real64), intent(in)  beta,
real(real64), intent(inout)  c,
integer, intent(in)  ldc 
)
Parameters
[in]aa(lda,ka) ka=k if transa='N' or 'n'; m otherwise
[in]bb(ldb,kb) kb=k if transa='N' or 'n'; m otherwise
[in,out]cc(ldc,n)

Definition at line 372 of file blas.F90.

◆ zgemm()

subroutine blas_oct_m::blas_gemm::zgemm ( character(1), intent(in)  transa,
character(1), intent(in)  transb,
integer, intent(in)  m,
integer, intent(in)  n,
integer, intent(in)  k,
complex(real64), intent(in)  alpha,
complex(real64), intent(in)  a,
integer, intent(in)  lda,
complex(real64), intent(in)  b,
integer, intent(in)  ldb,
complex(real64), intent(in)  beta,
complex(real64), intent(inout)  c,
integer, intent(in)  ldc 
)
Parameters
[in]aa(lda,ka) ka=k if transa='N' or 'n'; m otherwise
[in]bb(ldb,kb) kb=k if transa='N' or 'n'; m otherwise
[in,out]cc(ldc,n)

Definition at line 383 of file blas.F90.

◆ zdgemm()

subroutine blas_oct_m::blas_gemm::zdgemm ( character(1), intent(in)  transa,
character(1), intent(in)  transb,
integer, intent(in)  m,
integer, intent(in)  n,
integer, intent(in)  k,
real(real64), intent(in)  alpha,
complex(real64), intent(in), target  a,
integer, intent(in)  lda,
real(real64), intent(in)  b,
integer, intent(in)  ldb,
real(real64), intent(in)  beta,
complex(real64), intent(inout), target  c,
integer, intent(in)  ldc 
)

A real matrix multiplying a complex one, added to a complex matrix.

A real matrix multiplies the real and imaginary parts alike, so this is dgemm over matrices with twice the rows, which the caller accounts for in m, lda and ldc. As above, a and c are reinterpreted rather than copied.

Parameters
[in]aa(lda,ka) ka=k if transa='N' or 'n'; m otherwise
[in]bb(ldb,kb) kb=k if transa='N' or 'n'; m otherwise
[in,out]cc(ldc,n)

Definition at line 588 of file blas.F90.


The documentation for this interface was generated from the following file: