Octopus
blas_oct_m Module Reference

This module contains interfaces for BLAS routines You should not use these routines directly. Please use the lalg_XXXX. More...

Detailed Description

This module contains interfaces for BLAS routines You should not use these routines directly. Please use the lalg_XXXX.

Data Types

interface  blas_axpy
 --------------— axpy ---------------— Constant times a vector plus a vector. More...
 
interface  blas_copy
 --------------— copy ---------------— Copies a vector, x, to a vector, y. More...
 
interface  blas_dot
 --------------— dot ---------------— Forms the dot product of two vectors. More...
 
interface  blas_dotu
 
interface  blas_gemm
 --------------— gemm ---------------— performs one of the matrix-matrix operations More...
 
interface  blas_gemv
 --------------— gemv ---------------— SGEMV performs one of the matrix-vector operations More...
 
interface  blas_herk
 --------------— syrk, herk ---------------— performs one of the symmetric rank k operations More...
 
interface  blas_nrm2
 --------------— nrm2 ---------------— Returns the euclidean norm of a vector via the function name, so that More...
 
interface  blas_scal
 --------------— scal ---------------— Scales a vector by a constant. More...
 
interface  blas_swap
 --------------— swap ---------------— Interchanges two vectors. More...
 
interface  blas_symm
 --------------— symm, hemm ---------------— performs one of the matrix-matrix operations More...
 
interface  blas_symv
 --------------— symv ---------------— performs the matrix-vector operation More...
 
interface  blas_trmm
 --------------— trmm ---------------— Performs one of the matrix-matrix operations More...
 
interface  blas_trsm
 --------------------—trsm----------------------— Solves one of the matrix equations More...
 

Functions/Subroutines

subroutine dazaxpy (n, da, dx, dy)
 A real constant times a complex vector plus a complex vector. More...
 
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...
 

Function/Subroutine Documentation

◆ dazaxpy()

subroutine blas_oct_m::dazaxpy ( integer, intent(in)  n,
real(real64), intent(in)  da,
complex(real64), intent(in), target  dx,
complex(real64), intent(inout), target  dy 
)

A real constant times a complex vector plus a complex vector.

A real constant scales the real and imaginary parts alike, so this is daxpy over twice as many reals. The complex vectors are reinterpreted rather than copied, as transfer would.

Parameters
[in]dxdx(n)
[in,out]dydy(n)

Definition at line 563 of file blas.F90.

◆ zdgemm()

subroutine blas_oct_m::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.