Octopus
lalg_basic_oct_m::lalg_gemm_cc Interface Reference

lalg_gemm with both the (Hermitian) transpose of A and B. More...

Detailed Description

lalg_gemm with both the (Hermitian) transpose of A and B.

Definition at line 252 of file lalg_basic.F90.

Private Member Functions

subroutine gemm_cc_1_2 (m, n, k, alpha, a, b, beta, c)
 GEMM when both a and b are (Hermitian) transposes. More...
 
subroutine gemm_cc_1_4 (m, n, k, alpha, a, b, beta, c)
 GEMM when both a and b are (Hermitian) transposes. More...
 

Member Function/Subroutine Documentation

◆ gemm_cc_1_2()

subroutine lalg_basic_oct_m::lalg_gemm_cc::gemm_cc_1_2 ( integer, intent(in)  m,
integer, intent(in)  n,
integer, intent(in)  k,
real(real64), intent(in)  alpha,
real(real64), dimension(:,:), intent(in), contiguous  a,
real(real64), dimension(:,:), intent(in), contiguous  b,
real(real64), intent(in)  beta,
real(real64), dimension(:,:), intent(inout), contiguous  c 
)
private

GEMM when both a and b are (Hermitian) transposes.

\[ \mathbf{C} = \mathbf{A}^\dagger \mathbf{B}^\dagger \]

Note that one can equivalently perform:

\[ \mathbf{C} = \left[\mathbf{B} \mathbf{A} \right]^\dagger \]

It might be more efficient to replace the implementation with the second operation defined above - requires testing.

Parameters
[in]aa(k, m)
[in]bb(n, k)
[in,out]cc(m, n)

Definition at line 1063 of file lalg_basic.F90.

◆ gemm_cc_1_4()

subroutine lalg_basic_oct_m::lalg_gemm_cc::gemm_cc_1_4 ( integer, intent(in)  m,
integer, intent(in)  n,
integer, intent(in)  k,
complex(real64), intent(in)  alpha,
complex(real64), dimension(:,:), intent(in), contiguous  a,
complex(real64), dimension(:,:), intent(in), contiguous  b,
complex(real64), intent(in)  beta,
complex(real64), dimension(:,:), intent(inout), contiguous  c 
)
private

GEMM when both a and b are (Hermitian) transposes.

\[ \mathbf{C} = \mathbf{A}^\dagger \mathbf{B}^\dagger \]

Note that one can equivalently perform:

\[ \mathbf{C} = \left[\mathbf{B} \mathbf{A} \right]^\dagger \]

It might be more efficient to replace the implementation with the second operation defined above - requires testing.

Parameters
[in]aa(k, m)
[in]bb(n, k)
[in,out]cc(m, n)

Definition at line 2020 of file lalg_basic.F90.


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