MADNESS  version 0.9
Enumerations
madness::cblas Namespace Reference

Enumerations

enum  CBLAS_TRANSPOSE { NoTrans =0, Trans =1, ConjTrans =2 }
 Matrix operations for BLAS function calls. More...
 

Functions

void gemm (const CBLAS_TRANSPOSE OpA, const CBLAS_TRANSPOSE OpB, const integer m, const integer n, const integer k, const float alpha, const float *a, const integer lda, const float *b, const integer ldb, const float beta, float *c, const integer ldc)
 Multiplies a matrix by a vector. More...
 
void gemm (const CBLAS_TRANSPOSE OpA, const CBLAS_TRANSPOSE OpB, const integer m, const integer n, const integer k, const double alpha, const double *a, const integer lda, const double *b, const integer ldb, const double beta, double *c, const integer ldc)
 
void gemm (const CBLAS_TRANSPOSE OpA, const CBLAS_TRANSPOSE OpB, const integer m, const integer n, const integer k, const complex_real4 alpha, const complex_real4 *a, const integer lda, const complex_real4 *b, const integer ldb, const complex_real4 beta, complex_real4 *c, const integer ldc)
 
void gemm (const CBLAS_TRANSPOSE OpA, const CBLAS_TRANSPOSE OpB, const integer m, const integer n, const integer k, const complex_real8 alpha, const complex_real8 *a, const integer lda, const complex_real8 *b, const integer ldb, const complex_real8 beta, complex_real8 *c, const integer ldc)
 
void gemv (const CBLAS_TRANSPOSE OpA, const integer m, const integer n, const float alpha, const float *A, const integer lda, const float *x, const integer incx, const float beta, float *y, const integer incy)
 Multiplies a matrix by a vector. More...
 
void gemv (const CBLAS_TRANSPOSE OpA, const integer m, const integer n, const double alpha, const double *A, const integer lda, const double *x, const integer incx, const double beta, double *y, const integer incy)
 
void gemv (const CBLAS_TRANSPOSE OpA, const integer m, const integer n, const complex_real4 alpha, const complex_real4 *A, const integer lda, const complex_real4 *x, const integer incx, const complex_real4 beta, complex_real4 *y, const integer incy)
 
void gemv (const CBLAS_TRANSPOSE OpA, const integer m, const integer n, const complex_real8 alpha, const complex_real8 *A, const integer lda, const complex_real8 *x, const integer incx, const complex_real8 beta, complex_real8 *y, const integer incy)
 
void ger (const integer m, const integer n, const float alpha, const float *x, const integer incx, const float *y, const integer incy, float *A, const integer lda)
 Multiplies vector $ \mathbf{x} $ by the transform of vector $ \mathbf{y} $. More...
 
void ger (const integer m, const integer n, const double alpha, const double *x, const integer incx, const double *y, const integer incy, double *A, const integer lda)
 
void ger (const integer m, const integer n, const complex_real4 alpha, const complex_real4 *x, const integer incx, const complex_real4 *y, const integer incy, complex_real4 *A, const integer lda)
 
void ger (const integer m, const integer n, const complex_real8 alpha, const complex_real8 *x, const integer incx, const complex_real8 *y, const integer incy, complex_real8 *A, const integer lda)
 
float dot (const integer n, const float *x, const integer incx, const float *y, const integer incy)
 Compute the dot product of vectors $ \mathbf{x} $ and $ \mathbf{y} $. More...
 
double dot (const integer n, const double *x, const integer incx, const double *y, const integer incy)
 
complex_real4 dot (const integer n, const complex_real4 *x, const integer incx, const complex_real4 *y, const integer incy)
 
complex_real8 dot (const integer n, const complex_real8 *x, const integer incx, const complex_real8 *y, const integer incy)
 
void scal (const integer n, const float alpha, float *x, const integer incx)
 Scale a vector. More...
 
void scal (const integer n, const double alpha, double *x, const integer incx)
 
void scal (const integer n, const complex_real4 alpha, complex_real4 *x, const integer incx)
 
void scal (const integer n, const complex_real8 alpha, complex_real8 *x, const integer incx)
 
void scal (const integer n, const float alpha, complex_real4 *x, const integer incx)
 
void scal (const integer n, const double alpha, complex_real8 *x, const integer incx)
 

Enumeration Type Documentation

Matrix operations for BLAS function calls.

Enumerator
NoTrans 
Trans 
ConjTrans 

Function Documentation

float madness::cblas::dot ( const integer  n,
const float *  x,
const integer  incx,
const float *  y,
const integer  incy 
)
inline

Compute the dot product of vectors $ \mathbf{x} $ and $ \mathbf{y} $.

\[ u \leftarrow \alpha \mathbf{x} \cdot \mathbf{y} \]

Parameters
nSize of the vectors $ \mathbf{x} $ and $ \mathbf{y} $
xPointer to vector $ \mathbf{x} $
incxStride of vector $ \mathbf{x} $
yPointer to vector $ \mathbf{y} $
incyStride of vector $ \mathbf{y} $
Returns
The dot product of x and y

References F77_SDOT().

double madness::cblas::dot ( const integer  n,
const double *  x,
const integer  incx,
const double *  y,
const integer  incy 
)
inline

References F77_DDOT().

complex_real4 madness::cblas::dot ( const integer  n,
const complex_real4 x,
const integer  incx,
const complex_real4 y,
const integer  incy 
)
inline

References F77_CDOTU().

complex_real8 madness::cblas::dot ( const integer  n,
const complex_real8 x,
const integer  incx,
const complex_real8 y,
const integer  incy 
)
inline

References F77_ZDOTU().

void madness::cblas::gemm ( const CBLAS_TRANSPOSE  OpA,
const CBLAS_TRANSPOSE  OpB,
const integer  m,
const integer  n,
const integer  k,
const float  alpha,
const float *  a,
const integer  lda,
const float *  b,
const integer  ldb,
const float  beta,
float *  c,
const integer  ldc 
)
inline

Multiplies a matrix by a vector.

\[ \mathbf{C} \leftarrow \alpha \mathbf{A}^{\mathrm{OpA}} \mathbf{B}^{\mathrm{OpB}} + \beta \mathbf{C} \]

Parameters
OpAOperation to be applied to matrix $ \mathbf{A} $
OpBOperation to be applied to matrix $ \mathbf{B} $
mRows in matrix $ \mathbf{C} $
nColumns in matrix $ \mathbf{C} $
kInner dimension size for matrices $ \mathbf{A} $ and $ \mathbf{B} $
alphaScaling factor applied to $ \mathbf{A} $ * $ \mathbf{B} $
aPointer to matrix $ \mathbf{A} $
ldaThe size of the leading-order dimension of matrix $ \mathbf{A} $
bPointer to matrix $ \mathbf{A} $
ldbThe size of the leading-order dimension of matrix $ \mathbf{B} $
betaScaling factor for matrix $ \mathbf{C} $
cPointer to matrix $ \mathbf{C} $
ldcThe size of the leading-order dimension of matrix $ \mathbf{C} $

References ConjTrans, F77_SGEMM(), and op().

void madness::cblas::gemm ( const CBLAS_TRANSPOSE  OpA,
const CBLAS_TRANSPOSE  OpB,
const integer  m,
const integer  n,
const integer  k,
const double  alpha,
const double *  a,
const integer  lda,
const double *  b,
const integer  ldb,
const double  beta,
double *  c,
const integer  ldc 
)
inline

References ConjTrans, F77_DGEMM(), and op().

void madness::cblas::gemm ( const CBLAS_TRANSPOSE  OpA,
const CBLAS_TRANSPOSE  OpB,
const integer  m,
const integer  n,
const integer  k,
const complex_real4  alpha,
const complex_real4 a,
const integer  lda,
const complex_real4 b,
const integer  ldb,
const complex_real4  beta,
complex_real4 c,
const integer  ldc 
)
inline

References F77_CGEMM(), and op().

void madness::cblas::gemm ( const CBLAS_TRANSPOSE  OpA,
const CBLAS_TRANSPOSE  OpB,
const integer  m,
const integer  n,
const integer  k,
const complex_real8  alpha,
const complex_real8 a,
const integer  lda,
const complex_real8 b,
const integer  ldb,
const complex_real8  beta,
complex_real8 c,
const integer  ldc 
)
inline

References F77_ZGEMM(), and op().

void madness::cblas::gemv ( const CBLAS_TRANSPOSE  OpA,
const integer  m,
const integer  n,
const float  alpha,
const float *  A,
const integer  lda,
const float *  x,
const integer  incx,
const float  beta,
float *  y,
const integer  incy 
)
inline

Multiplies a matrix by a vector.

\[ \mathbf{y} \leftarrow \alpha \mathbf{A}^{\mathrm{OpA}} \mathbf{x} + \beta \mathbf{y} \]

Parameters
OpAOperation to be applied to matrix $ \mathbf{A} $
mRows in matrix $ \mathbf{A} $
nColumns in matrix $ \mathbf{A} $
alphaScaling factor applied to $ \mathbf{A} $ * $ \mathbf{x} $
APointer to matrix $ \mathbf{A} $
ldaThe size of the leading-order dimension of matrix $ \mathbf{A} $
xPointer to vector $ \mathbf{x} $
incxStride of vector $ \mathbf{x} $
betaScaling factor for vector $ \mathbf{y} $
yPointer to vector $ \mathbf{y} $
incyStride of vector $ \mathbf{y} $

References ConjTrans, F77_SGEMV(), and op().

void madness::cblas::gemv ( const CBLAS_TRANSPOSE  OpA,
const integer  m,
const integer  n,
const double  alpha,
const double *  A,
const integer  lda,
const double *  x,
const integer  incx,
const double  beta,
double *  y,
const integer  incy 
)
inline

References ConjTrans, F77_DGEMV(), and op().

void madness::cblas::gemv ( const CBLAS_TRANSPOSE  OpA,
const integer  m,
const integer  n,
const complex_real4  alpha,
const complex_real4 A,
const integer  lda,
const complex_real4 x,
const integer  incx,
const complex_real4  beta,
complex_real4 y,
const integer  incy 
)
inline

References F77_CGEMV(), and op().

void madness::cblas::gemv ( const CBLAS_TRANSPOSE  OpA,
const integer  m,
const integer  n,
const complex_real8  alpha,
const complex_real8 A,
const integer  lda,
const complex_real8 x,
const integer  incx,
const complex_real8  beta,
complex_real8 y,
const integer  incy 
)
inline

References F77_ZGEMV(), and op().

void madness::cblas::ger ( const integer  m,
const integer  n,
const float  alpha,
const float *  x,
const integer  incx,
const float *  y,
const integer  incy,
float *  A,
const integer  lda 
)
inline

Multiplies vector $ \mathbf{x} $ by the transform of vector $ \mathbf{y} $.

\[ \mathbf{A} \leftarrow \alpha \mathbf{x} \mathbf{y}^{\mathrm{T}} + \mathbf{A} \]

Parameters
mRows in matrix $ \mathbf{A} $
nColumns in matrix $ \mathbf{A} $
alphaScaling factor applied to $ \mathbf{x} \mathbf{y}^{\mathrm{T}} $
xPointer to vector $ \mathbf{x} $
incxStride of vector $ \mathbf{x} $
yPointer to vector $ \mathbf{y} $
incyStride of vector $ \mathbf{y} $
APointer to matrix $ \mathbf{A} $
ldaThe size of the leading-order dimension of matrix $ \mathbf{A} $

References F77_SGER().

void madness::cblas::ger ( const integer  m,
const integer  n,
const double  alpha,
const double *  x,
const integer  incx,
const double *  y,
const integer  incy,
double *  A,
const integer  lda 
)
inline

References F77_DGER().

void madness::cblas::ger ( const integer  m,
const integer  n,
const complex_real4  alpha,
const complex_real4 x,
const integer  incx,
const complex_real4 y,
const integer  incy,
complex_real4 A,
const integer  lda 
)
inline

References F77_CGER().

void madness::cblas::ger ( const integer  m,
const integer  n,
const complex_real8  alpha,
const complex_real8 x,
const integer  incx,
const complex_real8 y,
const integer  incy,
complex_real8 A,
const integer  lda 
)
inline

References F77_ZGER().

void madness::cblas::scal ( const integer  n,
const float  alpha,
float *  x,
const integer  incx 
)
inline

Scale a vector.

\[ \mathbf{x} \leftarrow \alpha \mathbf{x} \]

Parameters
nThe size of the vector
alphaThe scaling factor for vector $ \mathbf{x} $
xPointer to vector $ \mathbf{x} $
incxStride for vector $ \mathbf{x} $

References F77_SSCAL().

void madness::cblas::scal ( const integer  n,
const double  alpha,
double *  x,
const integer  incx 
)
inline

References F77_DSCAL().

void madness::cblas::scal ( const integer  n,
const complex_real4  alpha,
complex_real4 x,
const integer  incx 
)
inline

References F77_CSCAL().

void madness::cblas::scal ( const integer  n,
const complex_real8  alpha,
complex_real8 x,
const integer  incx 
)
inline

References F77_ZSCAL().

void madness::cblas::scal ( const integer  n,
const float  alpha,
complex_real4 x,
const integer  incx 
)
inline

References F77_CSSCAL().

void madness::cblas::scal ( const integer  n,
const double  alpha,
complex_real8 x,
const integer  incx 
)
inline

References F77_ZDSCAL().