Octopus
lalg_basic_oct_m Module Reference

Data Types

interface  lalg_axpy
 constant times a vector plus a vector More...
 
interface  lalg_copy
 Copies a vector x, to a vector y. More...
 
interface  lalg_gemm
 Matrix-matrix multiplication plus matrix. More...
 
interface  lalg_gemm_cn
 The same as above but with (Hermitian) transpose of A. More...
 
interface  lalg_gemm_nc
 The same as lalg_gemm but with (Hermitian) transpose of B. More...
 
interface  lalg_gemv
 
interface  lalg_nrm2
 Returns the euclidean norm of a vector. More...
 
interface  lalg_scal
 scales a vector by a constant More...
 
interface  lalg_swap
 swap two vectors More...
 
interface  lalg_symm
 The following matrix multiplications all expect upper triangular matrices for a. For real matrices, \(A = A^T\), for complex matrices \(A = A^H\). More...
 
interface  lalg_symv
 Matrix-vector multiplication plus vector. More...
 
interface  lalg_trmm
 Matrix-matrix multiplication. More...
 

Functions/Subroutines

subroutine swap_1_2 (n1, dx, dy)
 
subroutine swap_2_2 (n1, n2, dx, dy)
 
subroutine swap_3_2 (n1, n2, n3, dx, dy)
 
subroutine swap_4_2 (n1, n2, n3, n4, dx, dy)
 
subroutine scal_1_2 (n1, da, dx)
 
subroutine scal_2_2 (n1, n2, da, dx)
 
subroutine scal_3_2 (n1, n2, n3, da, dx)
 
subroutine scal_4_2 (n1, n2, n3, n4, da, dx)
 
subroutine axpy_1_2 (n1, da, dx, dy)
 
subroutine axpy_2_2 (n1, n2, da, dx, dy)
 
subroutine axpy_3_2 (n1, n2, n3, da, dx, dy)
 
subroutine axpy_4_2 (n1, n2, n3, n4, da, dx, dy)
 
subroutine copy_1_2 (n1, dx, dy)
 
subroutine copy_2_2 (n1, n2, dx, dy)
 
subroutine copy_3_2 (n1, n2, n3, dx, dy)
 
subroutine copy_4_2 (n1, n2, n3, n4, dx, dy)
 
real(real64) function nrm2_2 (n, dx)
 
subroutine symv_1_2 (n, alpha, a, x, beta, y)
 
subroutine symv_2_2 (n1, n2, alpha, a, x, beta, y)
 
subroutine gemv_1_2 (m, n, alpha, a, x, beta, y)
 
subroutine gemv_2_2 (m1, m2, n, alpha, a, x, beta, y)
 
subroutine gemm_1_2 (m, n, k, alpha, a, b, beta, c)
 
subroutine gemm_2_2 (m1, m2, n, k, alpha, a, b, beta, c)
 
subroutine gemm_cn_1_2 (m, n, k, alpha, a, b, beta, c)
 The same as above but with (Hermitian) transpose of a. More...
 
subroutine gemm_cn_2_2 (m1, m2, n1, n2, k, alpha, a, b, beta, c)
 
subroutine gemm_nc_1_2 (m, n, k, alpha, a, b, beta, c)
 The same as gemm but with (Hermitian) transpose of b. More...
 
subroutine gemm_nc_2_2 (m1, m2, n1, n2, k, alpha, a, b, beta, c)
 
subroutine symm_1_2 (m, n, side, alpha, a, b, beta, c)
 The following matrix multiplications all expect upper triangular matrices for a. For real matrices, a = a^T, for complex matrices a = a^H. More...
 
subroutine trmm_1_2 (m, n, uplo, transa, side, alpha, a, b)
 
subroutine swap_1_4 (n1, dx, dy)
 
subroutine swap_2_4 (n1, n2, dx, dy)
 
subroutine swap_3_4 (n1, n2, n3, dx, dy)
 
subroutine swap_4_4 (n1, n2, n3, n4, dx, dy)
 
subroutine scal_1_4 (n1, da, dx)
 
subroutine scal_2_4 (n1, n2, da, dx)
 
subroutine scal_3_4 (n1, n2, n3, da, dx)
 
subroutine scal_4_4 (n1, n2, n3, n4, da, dx)
 
subroutine scal_5_4 (n1, da, dx)
 
subroutine scal_6_4 (n1, n2, da, dx)
 
subroutine axpy_1_4 (n1, da, dx, dy)
 
subroutine axpy_2_4 (n1, n2, da, dx, dy)
 
subroutine axpy_3_4 (n1, n2, n3, da, dx, dy)
 
subroutine axpy_4_4 (n1, n2, n3, n4, da, dx, dy)
 
subroutine axpy_5_4 (n1, da, dx, dy)
 
subroutine axpy_6_4 (n1, n2, da, dx, dy)
 
subroutine axpy_7_4 (n1, n2, n3, da, dx, dy)
 
subroutine copy_1_4 (n1, dx, dy)
 
subroutine copy_2_4 (n1, n2, dx, dy)
 
subroutine copy_3_4 (n1, n2, n3, dx, dy)
 
subroutine copy_4_4 (n1, n2, n3, n4, dx, dy)
 
real(real64) function nrm2_4 (n, dx)
 
subroutine symv_1_4 (n, alpha, a, x, beta, y)
 
subroutine symv_2_4 (n1, n2, alpha, a, x, beta, y)
 
subroutine gemv_1_4 (m, n, alpha, a, x, beta, y)
 
subroutine gemv_2_4 (m1, m2, n, alpha, a, x, beta, y)
 
subroutine gemm_1_4 (m, n, k, alpha, a, b, beta, c)
 
subroutine gemm_2_4 (m1, m2, n, k, alpha, a, b, beta, c)
 
subroutine gemm_cn_1_4 (m, n, k, alpha, a, b, beta, c)
 The same as above but with (Hermitian) transpose of a. More...
 
subroutine gemm_cn_2_4 (m1, m2, n1, n2, k, alpha, a, b, beta, c)
 
subroutine gemm_nc_1_4 (m, n, k, alpha, a, b, beta, c)
 The same as gemm but with (Hermitian) transpose of b. More...
 
subroutine gemm_nc_2_4 (m1, m2, n1, n2, k, alpha, a, b, beta, c)
 
subroutine symm_1_4 (m, n, side, alpha, a, b, beta, c)
 The following matrix multiplications all expect upper triangular matrices for a. For real matrices, a = a^T, for complex matrices a = a^H. More...
 
subroutine trmm_1_4 (m, n, uplo, transa, side, alpha, a, b)
 

Function/Subroutine Documentation

◆ swap_1_2()

subroutine lalg_basic_oct_m::swap_1_2 ( integer, intent(in)  n1,
real(real64), dimension(:), intent(inout), contiguous  dx,
real(real64), dimension(:), intent(inout), contiguous  dy 
)
private

BLAS level I

Definition at line 297 of file lalg_basic.F90.

◆ swap_2_2()

subroutine lalg_basic_oct_m::swap_2_2 ( integer, intent(in)  n1,
integer, intent(in)  n2,
real(real64), dimension(:,:), intent(inout), contiguous  dx,
real(real64), dimension(:,:), intent(inout), contiguous  dy 
)
private

Definition at line 314 of file lalg_basic.F90.

◆ swap_3_2()

subroutine lalg_basic_oct_m::swap_3_2 ( integer, intent(in)  n1,
integer, intent(in)  n2,
integer, intent(in)  n3,
real(real64), dimension(:,:,:), intent(inout), contiguous  dx,
real(real64), dimension(:,:,:), intent(inout), contiguous  dy 
)
private

Definition at line 340 of file lalg_basic.F90.

◆ swap_4_2()

subroutine lalg_basic_oct_m::swap_4_2 ( integer, intent(in)  n1,
integer, intent(in)  n2,
integer, intent(in)  n3,
integer, intent(in)  n4,
real(real64), dimension(:,:,:,:), intent(inout), contiguous  dx,
real(real64), dimension(:,:,:,:), intent(inout), contiguous  dy 
)
private

Definition at line 361 of file lalg_basic.F90.

◆ scal_1_2()

subroutine lalg_basic_oct_m::scal_1_2 ( integer, intent(in)  n1,
real(real64), intent(in)  da,
real(real64), dimension(:), intent(inout), contiguous  dx 
)
private

scales a vector by a constant

Definition at line 388 of file lalg_basic.F90.

◆ scal_2_2()

subroutine lalg_basic_oct_m::scal_2_2 ( integer, intent(in)  n1,
integer, intent(in)  n2,
real(real64), intent(in)  da,
real(real64), dimension(:, :), intent(inout), contiguous  dx 
)
private

Definition at line 405 of file lalg_basic.F90.

◆ scal_3_2()

subroutine lalg_basic_oct_m::scal_3_2 ( integer, intent(in)  n1,
integer, intent(in)  n2,
integer, intent(in)  n3,
real(real64), intent(in)  da,
real(real64), dimension(:, :, :), intent(inout), contiguous  dx 
)
private

Definition at line 430 of file lalg_basic.F90.

◆ scal_4_2()

subroutine lalg_basic_oct_m::scal_4_2 ( integer, intent(in)  n1,
integer, intent(in)  n2,
integer, intent(in)  n3,
integer, intent(in)  n4,
real(real64), intent(in)  da,
real(real64), dimension(:, :, :, :), intent(inout), contiguous  dx 
)
private

Definition at line 449 of file lalg_basic.F90.

◆ axpy_1_2()

subroutine lalg_basic_oct_m::axpy_1_2 ( integer, intent(in)  n1,
real(real64), intent(in)  da,
real(real64), dimension(:), intent(in), contiguous  dx,
real(real64), dimension(:), intent(inout), contiguous  dy 
)
private

constant times a vector plus a vector

Definition at line 473 of file lalg_basic.F90.

◆ axpy_2_2()

subroutine lalg_basic_oct_m::axpy_2_2 ( integer, intent(in)  n1,
integer, intent(in)  n2,
real(real64), intent(in)  da,
real(real64), dimension(:, :), intent(in), contiguous  dx,
real(real64), dimension(:, :), intent(inout), contiguous  dy 
)
private

Definition at line 502 of file lalg_basic.F90.

◆ axpy_3_2()

subroutine lalg_basic_oct_m::axpy_3_2 ( integer, intent(in)  n1,
integer, intent(in)  n2,
integer, intent(in)  n3,
real(real64), intent(in)  da,
real(real64), dimension(:, :, :), intent(in), contiguous  dx,
real(real64), dimension(:, :, :), intent(inout), contiguous  dy 
)
private

Definition at line 541 of file lalg_basic.F90.

◆ axpy_4_2()

subroutine lalg_basic_oct_m::axpy_4_2 ( integer, intent(in)  n1,
integer, intent(in)  n2,
integer, intent(in)  n3,
integer, intent(in)  n4,
real(real64), intent(in)  da,
real(real64), dimension(:, :, :, :), intent(in), contiguous  dx,
real(real64), dimension(:, :, :, :), intent(inout), contiguous  dy 
)
private

Definition at line 573 of file lalg_basic.F90.

◆ copy_1_2()

subroutine lalg_basic_oct_m::copy_1_2 ( integer, intent(in)  n1,
real(real64), dimension(:), intent(in), contiguous  dx,
real(real64), dimension(:), intent(inout), contiguous  dy 
)
private

Copies a vector x, to a vector y

Definition at line 611 of file lalg_basic.F90.

◆ copy_2_2()

subroutine lalg_basic_oct_m::copy_2_2 ( integer, intent(in)  n1,
integer, intent(in)  n2,
real(real64), dimension(:,:), intent(in), contiguous  dx,
real(real64), dimension(:,:), intent(inout), contiguous  dy 
)
private

Definition at line 634 of file lalg_basic.F90.

◆ copy_3_2()

subroutine lalg_basic_oct_m::copy_3_2 ( integer, intent(in)  n1,
integer, intent(in)  n2,
integer, intent(in)  n3,
real(real64), dimension(:,:,:), intent(in), contiguous  dx,
real(real64), dimension(:,:,:), intent(inout), contiguous  dy 
)
private

Definition at line 665 of file lalg_basic.F90.

◆ copy_4_2()

subroutine lalg_basic_oct_m::copy_4_2 ( integer, intent(in)  n1,
integer, intent(in)  n2,
integer, intent(in)  n3,
integer, intent(in)  n4,
real(real64), dimension(:,:,:,:), intent(in), contiguous  dx,
real(real64), dimension(:,:,:,:), intent(inout), contiguous  dy 
)
private

Definition at line 690 of file lalg_basic.F90.

◆ nrm2_2()

real(real64) function lalg_basic_oct_m::nrm2_2 ( integer, intent(in)  n,
real(real64), dimension(:), intent(in)  dx 
)
private

Returns the euclidean norm of a vector

Definition at line 721 of file lalg_basic.F90.

◆ symv_1_2()

subroutine lalg_basic_oct_m::symv_1_2 ( integer, intent(in)  n,
real(real64), intent(in)  alpha,
real(real64), dimension(:, :), intent(in), contiguous  a,
real(real64), dimension(:), intent(in), contiguous  x,
real(real64), intent(in)  beta,
real(real64), dimension(:), intent(inout), contiguous  y 
)
private

BLAS level II

Matrix-vector multiplication plus vector.

Definition at line 749 of file lalg_basic.F90.

◆ symv_2_2()

subroutine lalg_basic_oct_m::symv_2_2 ( integer, intent(in)  n1,
integer, intent(in)  n2,
real(real64), intent(in)  alpha,
real(real64), dimension(:, :, :), intent(in), contiguous  a,
real(real64), dimension(:), intent(in), contiguous  x,
real(real64), intent(in)  beta,
real(real64), dimension(:, :), intent(inout), contiguous  y 
)
private

Definition at line 767 of file lalg_basic.F90.

◆ gemv_1_2()

subroutine lalg_basic_oct_m::gemv_1_2 ( integer, intent(in)  m,
integer, intent(in)  n,
real(real64), intent(in)  alpha,
real(real64), dimension(:,:), intent(in), contiguous  a,
real(real64), dimension(:), intent(in), contiguous  x,
real(real64), intent(in)  beta,
real(real64), dimension(:), intent(inout), contiguous  y 
)
private

Definition at line 789 of file lalg_basic.F90.

◆ gemv_2_2()

subroutine lalg_basic_oct_m::gemv_2_2 ( integer, intent(in)  m1,
integer, intent(in)  m2,
integer, intent(in)  n,
real(real64), intent(in)  alpha,
real(real64), dimension(:,:,:), intent(in), contiguous  a,
real(real64), dimension(:), intent(in), contiguous  x,
real(real64), intent(in)  beta,
real(real64), dimension(:,:), intent(inout), contiguous  y 
)
private

Definition at line 808 of file lalg_basic.F90.

◆ gemm_1_2()

subroutine lalg_basic_oct_m::gemm_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

BLAS level III

Matrix-matrix multiplication plus matrix.

Definition at line 839 of file lalg_basic.F90.

◆ gemm_2_2()

subroutine lalg_basic_oct_m::gemm_2_2 ( integer, intent(in)  m1,
integer, intent(in)  m2,
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
Parameters
[in]aa(m1, m2, k)
[in]bb(k, n)
[in,out]cc(m1, m2, n)

Definition at line 860 of file lalg_basic.F90.

◆ gemm_cn_1_2()

subroutine lalg_basic_oct_m::gemm_cn_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

The same as above but with (Hermitian) transpose of a.

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

Definition at line 885 of file lalg_basic.F90.

◆ gemm_cn_2_2()

subroutine lalg_basic_oct_m::gemm_cn_2_2 ( integer, intent(in)  m1,
integer, intent(in)  m2,
integer, intent(in)  n1,
integer, intent(in)  n2,
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
Parameters
[in]aa(k, m2, m1)
[in]bb(k, n2, n1)
[in,out]cc(m1*m2, n1*n2)

Definition at line 906 of file lalg_basic.F90.

◆ gemm_nc_1_2()

subroutine lalg_basic_oct_m::gemm_nc_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

The same as gemm but with (Hermitian) transpose of b.

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

Definition at line 932 of file lalg_basic.F90.

◆ gemm_nc_2_2()

subroutine lalg_basic_oct_m::gemm_nc_2_2 ( integer, intent(in)  m1,
integer, intent(in)  m2,
integer, intent(in)  n1,
integer, intent(in)  n2,
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
Parameters
[in]aa(k, m2, m1)
[in]bb(k, n2, n1)
[in,out]cc(m1*m2, n1*n2)

Definition at line 953 of file lalg_basic.F90.

◆ symm_1_2()

subroutine lalg_basic_oct_m::symm_1_2 ( integer, intent(in)  m,
integer, intent(in)  n,
character(1), intent(in)  side,
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

The following matrix multiplications all expect upper triangular matrices for a. For real matrices, a = a^T, for complex matrices a = a^H.

Definition at line 980 of file lalg_basic.F90.

◆ trmm_1_2()

subroutine lalg_basic_oct_m::trmm_1_2 ( integer, intent(in)  m,
integer, intent(in)  n,
character(1), intent(in)  uplo,
character(1), intent(in)  transa,
character(1), intent(in)  side,
real(real64), intent(in)  alpha,
real(real64), dimension(:, :), intent(in), contiguous  a,
real(real64), dimension(:, :), intent(inout), contiguous  b 
)
private

Matrix-matrix multiplication.

Definition at line 1010 of file lalg_basic.F90.

◆ swap_1_4()

subroutine lalg_basic_oct_m::swap_1_4 ( integer, intent(in)  n1,
complex(real64), dimension(:), intent(inout), contiguous  dx,
complex(real64), dimension(:), intent(inout), contiguous  dy 
)
private

BLAS level I

Definition at line 1080 of file lalg_basic.F90.

◆ swap_2_4()

subroutine lalg_basic_oct_m::swap_2_4 ( integer, intent(in)  n1,
integer, intent(in)  n2,
complex(real64), dimension(:,:), intent(inout), contiguous  dx,
complex(real64), dimension(:,:), intent(inout), contiguous  dy 
)
private

Definition at line 1097 of file lalg_basic.F90.

◆ swap_3_4()

subroutine lalg_basic_oct_m::swap_3_4 ( integer, intent(in)  n1,
integer, intent(in)  n2,
integer, intent(in)  n3,
complex(real64), dimension(:,:,:), intent(inout), contiguous  dx,
complex(real64), dimension(:,:,:), intent(inout), contiguous  dy 
)
private

Definition at line 1123 of file lalg_basic.F90.

◆ swap_4_4()

subroutine lalg_basic_oct_m::swap_4_4 ( integer, intent(in)  n1,
integer, intent(in)  n2,
integer, intent(in)  n3,
integer, intent(in)  n4,
complex(real64), dimension(:,:,:,:), intent(inout), contiguous  dx,
complex(real64), dimension(:,:,:,:), intent(inout), contiguous  dy 
)
private

Definition at line 1144 of file lalg_basic.F90.

◆ scal_1_4()

subroutine lalg_basic_oct_m::scal_1_4 ( integer, intent(in)  n1,
complex(real64), intent(in)  da,
complex(real64), dimension(:), intent(inout), contiguous  dx 
)
private

scales a vector by a constant

Definition at line 1171 of file lalg_basic.F90.

◆ scal_2_4()

subroutine lalg_basic_oct_m::scal_2_4 ( integer, intent(in)  n1,
integer, intent(in)  n2,
complex(real64), intent(in)  da,
complex(real64), dimension(:, :), intent(inout), contiguous  dx 
)
private

Definition at line 1188 of file lalg_basic.F90.

◆ scal_3_4()

subroutine lalg_basic_oct_m::scal_3_4 ( integer, intent(in)  n1,
integer, intent(in)  n2,
integer, intent(in)  n3,
complex(real64), intent(in)  da,
complex(real64), dimension(:, :, :), intent(inout), contiguous  dx 
)
private

Definition at line 1213 of file lalg_basic.F90.

◆ scal_4_4()

subroutine lalg_basic_oct_m::scal_4_4 ( integer, intent(in)  n1,
integer, intent(in)  n2,
integer, intent(in)  n3,
integer, intent(in)  n4,
complex(real64), intent(in)  da,
complex(real64), dimension(:, :, :, :), intent(inout), contiguous  dx 
)
private

Definition at line 1232 of file lalg_basic.F90.

◆ scal_5_4()

subroutine lalg_basic_oct_m::scal_5_4 ( integer, intent(in)  n1,
real(real64), intent(in)  da,
complex(real64), dimension(:), intent(inout), contiguous  dx 
)
private

Definition at line 1253 of file lalg_basic.F90.

◆ scal_6_4()

subroutine lalg_basic_oct_m::scal_6_4 ( integer, intent(in)  n1,
integer, intent(in)  n2,
real(real64), intent(in)  da,
complex(real64), dimension(:, :), intent(inout), contiguous  dx 
)
private

Definition at line 1270 of file lalg_basic.F90.

◆ axpy_1_4()

subroutine lalg_basic_oct_m::axpy_1_4 ( integer, intent(in)  n1,
complex(real64), intent(in)  da,
complex(real64), dimension(:), intent(in), contiguous  dx,
complex(real64), dimension(:), intent(inout), contiguous  dy 
)
private

constant times a vector plus a vector

Definition at line 1301 of file lalg_basic.F90.

◆ axpy_2_4()

subroutine lalg_basic_oct_m::axpy_2_4 ( integer, intent(in)  n1,
integer, intent(in)  n2,
complex(real64), intent(in)  da,
complex(real64), dimension(:, :), intent(in), contiguous  dx,
complex(real64), dimension(:, :), intent(inout), contiguous  dy 
)
private

Definition at line 1330 of file lalg_basic.F90.

◆ axpy_3_4()

subroutine lalg_basic_oct_m::axpy_3_4 ( integer, intent(in)  n1,
integer, intent(in)  n2,
integer, intent(in)  n3,
complex(real64), intent(in)  da,
complex(real64), dimension(:, :, :), intent(in), contiguous  dx,
complex(real64), dimension(:, :, :), intent(inout), contiguous  dy 
)
private

Definition at line 1369 of file lalg_basic.F90.

◆ axpy_4_4()

subroutine lalg_basic_oct_m::axpy_4_4 ( integer, intent(in)  n1,
integer, intent(in)  n2,
integer, intent(in)  n3,
integer, intent(in)  n4,
complex(real64), intent(in)  da,
complex(real64), dimension(:, :, :, :), intent(in), contiguous  dx,
complex(real64), dimension(:, :, :, :), intent(inout), contiguous  dy 
)
private

Definition at line 1401 of file lalg_basic.F90.

◆ axpy_5_4()

subroutine lalg_basic_oct_m::axpy_5_4 ( integer, intent(in)  n1,
real(real64), intent(in)  da,
complex(real64), dimension(:), intent(in), contiguous  dx,
complex(real64), dimension(:), intent(inout), contiguous  dy 
)
private

Definition at line 1436 of file lalg_basic.F90.

◆ axpy_6_4()

subroutine lalg_basic_oct_m::axpy_6_4 ( integer, intent(in)  n1,
integer, intent(in)  n2,
real(real64), intent(in)  da,
complex(real64), dimension(:, :), intent(in), contiguous  dx,
complex(real64), dimension(:, :), intent(inout), contiguous  dy 
)
private

Definition at line 1461 of file lalg_basic.F90.

◆ axpy_7_4()

subroutine lalg_basic_oct_m::axpy_7_4 ( integer, intent(in)  n1,
integer, intent(in)  n2,
integer, intent(in)  n3,
real(real64), intent(in)  da,
complex(real64), dimension(:, :, :), intent(in), contiguous  dx,
complex(real64), dimension(:, :, :), intent(inout), contiguous  dy 
)
private

Definition at line 1497 of file lalg_basic.F90.

◆ copy_1_4()

subroutine lalg_basic_oct_m::copy_1_4 ( integer, intent(in)  n1,
complex(real64), dimension(:), intent(in), contiguous  dx,
complex(real64), dimension(:), intent(inout), contiguous  dy 
)
private

Copies a vector x, to a vector y

Definition at line 1530 of file lalg_basic.F90.

◆ copy_2_4()

subroutine lalg_basic_oct_m::copy_2_4 ( integer, intent(in)  n1,
integer, intent(in)  n2,
complex(real64), dimension(:,:), intent(in), contiguous  dx,
complex(real64), dimension(:,:), intent(inout), contiguous  dy 
)
private

Definition at line 1553 of file lalg_basic.F90.

◆ copy_3_4()

subroutine lalg_basic_oct_m::copy_3_4 ( integer, intent(in)  n1,
integer, intent(in)  n2,
integer, intent(in)  n3,
complex(real64), dimension(:,:,:), intent(in), contiguous  dx,
complex(real64), dimension(:,:,:), intent(inout), contiguous  dy 
)
private

Definition at line 1584 of file lalg_basic.F90.

◆ copy_4_4()

subroutine lalg_basic_oct_m::copy_4_4 ( integer, intent(in)  n1,
integer, intent(in)  n2,
integer, intent(in)  n3,
integer, intent(in)  n4,
complex(real64), dimension(:,:,:,:), intent(in), contiguous  dx,
complex(real64), dimension(:,:,:,:), intent(inout), contiguous  dy 
)
private

Definition at line 1609 of file lalg_basic.F90.

◆ nrm2_4()

real(real64) function lalg_basic_oct_m::nrm2_4 ( integer, intent(in)  n,
complex(real64), dimension(:), intent(in)  dx 
)
private

Returns the euclidean norm of a vector

Definition at line 1640 of file lalg_basic.F90.

◆ symv_1_4()

subroutine lalg_basic_oct_m::symv_1_4 ( integer, intent(in)  n,
complex(real64), intent(in)  alpha,
complex(real64), dimension(:, :), intent(in), contiguous  a,
complex(real64), dimension(:), intent(in), contiguous  x,
complex(real64), intent(in)  beta,
complex(real64), dimension(:), intent(inout), contiguous  y 
)
private

BLAS level II

Matrix-vector multiplication plus vector.

Definition at line 1668 of file lalg_basic.F90.

◆ symv_2_4()

subroutine lalg_basic_oct_m::symv_2_4 ( integer, intent(in)  n1,
integer, intent(in)  n2,
complex(real64), intent(in)  alpha,
complex(real64), dimension(:, :, :), intent(in), contiguous  a,
complex(real64), dimension(:), intent(in), contiguous  x,
complex(real64), intent(in)  beta,
complex(real64), dimension(:, :), intent(inout), contiguous  y 
)
private

Definition at line 1686 of file lalg_basic.F90.

◆ gemv_1_4()

subroutine lalg_basic_oct_m::gemv_1_4 ( integer, intent(in)  m,
integer, intent(in)  n,
complex(real64), intent(in)  alpha,
complex(real64), dimension(:,:), intent(in), contiguous  a,
complex(real64), dimension(:), intent(in), contiguous  x,
complex(real64), intent(in)  beta,
complex(real64), dimension(:), intent(inout), contiguous  y 
)
private

Definition at line 1708 of file lalg_basic.F90.

◆ gemv_2_4()

subroutine lalg_basic_oct_m::gemv_2_4 ( integer, intent(in)  m1,
integer, intent(in)  m2,
integer, intent(in)  n,
complex(real64), intent(in)  alpha,
complex(real64), dimension(:,:,:), intent(in), contiguous  a,
complex(real64), dimension(:), intent(in), contiguous  x,
complex(real64), intent(in)  beta,
complex(real64), dimension(:,:), intent(inout), contiguous  y 
)
private

Definition at line 1727 of file lalg_basic.F90.

◆ gemm_1_4()

subroutine lalg_basic_oct_m::gemm_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

BLAS level III

Matrix-matrix multiplication plus matrix.

Definition at line 1758 of file lalg_basic.F90.

◆ gemm_2_4()

subroutine lalg_basic_oct_m::gemm_2_4 ( integer, intent(in)  m1,
integer, intent(in)  m2,
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
Parameters
[in]aa(m1, m2, k)
[in]bb(k, n)
[in,out]cc(m1, m2, n)

Definition at line 1779 of file lalg_basic.F90.

◆ gemm_cn_1_4()

subroutine lalg_basic_oct_m::gemm_cn_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

The same as above but with (Hermitian) transpose of a.

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

Definition at line 1804 of file lalg_basic.F90.

◆ gemm_cn_2_4()

subroutine lalg_basic_oct_m::gemm_cn_2_4 ( integer, intent(in)  m1,
integer, intent(in)  m2,
integer, intent(in)  n1,
integer, intent(in)  n2,
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
Parameters
[in]aa(k, m2, m1)
[in]bb(k, n2, n1)
[in,out]cc(m1*m2, n1*n2)

Definition at line 1825 of file lalg_basic.F90.

◆ gemm_nc_1_4()

subroutine lalg_basic_oct_m::gemm_nc_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

The same as gemm but with (Hermitian) transpose of b.

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

Definition at line 1851 of file lalg_basic.F90.

◆ gemm_nc_2_4()

subroutine lalg_basic_oct_m::gemm_nc_2_4 ( integer, intent(in)  m1,
integer, intent(in)  m2,
integer, intent(in)  n1,
integer, intent(in)  n2,
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
Parameters
[in]aa(k, m2, m1)
[in]bb(k, n2, n1)
[in,out]cc(m1*m2, n1*n2)

Definition at line 1872 of file lalg_basic.F90.

◆ symm_1_4()

subroutine lalg_basic_oct_m::symm_1_4 ( integer, intent(in)  m,
integer, intent(in)  n,
character(1), intent(in)  side,
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

The following matrix multiplications all expect upper triangular matrices for a. For real matrices, a = a^T, for complex matrices a = a^H.

Definition at line 1899 of file lalg_basic.F90.

◆ trmm_1_4()

subroutine lalg_basic_oct_m::trmm_1_4 ( integer, intent(in)  m,
integer, intent(in)  n,
character(1), intent(in)  uplo,
character(1), intent(in)  transa,
character(1), intent(in)  side,
complex(real64), intent(in)  alpha,
complex(real64), dimension(:, :), intent(in), contiguous  a,
complex(real64), dimension(:, :), intent(inout), contiguous  b 
)
private

Matrix-matrix multiplication.

Definition at line 1929 of file lalg_basic.F90.