Nektar++
Namespaces | Functions
Blas.hpp File Reference
#include <LibUtilities/LinearAlgebra/BlasArray.hpp>
#include <LibUtilities/LinearAlgebra/TransF77.hpp>

Go to the source code of this file.

Namespaces

namespace  Blas
 

Functions

void F77NAME() Blas::dcopy (const int &n, const double *x, const int &incx, double *y, const int &incy)
 
void F77NAME() Blas::daxpy (const int &n, const double &alpha, const double *x, const int &incx, const double *y, const int &incy)
 
void F77NAME() Blas::dswap (const int &n, double *x, const int &incx, double *y, const int &incy)
 
void F77NAME() Blas::dscal (const int &n, const double &alpha, double *x, const int &incx)
 
void F77NAME() Blas::drot (const int &n, double *x, const int &incx, double *y, const int &incy, const double &c, const double &s)
 
double F77NAME() Blas::ddot (const int &n, const double *x, const int &incx, const double *y, const int &incy)
 
double F77NAME() Blas::dnrm2 (const int &n, const double *x, const int &incx)
 
double F77NAME() Blas::dasum (const int &n, const double *x, const int &incx)
 
int F77NAME() Blas::idamax (const int &n, const double *x, const int &incx)
 
void F77NAME() Blas::dgemv (const char &trans, const int &m, const int &n, const double &alpha, const double *a, const int &lda, const double *x, const int &incx, const double &beta, double *y, const int &incy)
 
void F77NAME() Blas::sgemv (const char &trans, const int &m, const int &n, const float &alpha, const float *a, const int &lda, const float *x, const int &incx, const float &beta, float *y, const int &incy)
 
void F77NAME() Blas::dgbmv (const char &trans, const int &m, const int &n, const int &kl, const int &ku, const double &alpha, const double *a, const int &lda, const double *x, const int &incx, const double &beta, double *y, const int &incy)
 
void F77NAME() Blas::sgbmv (const char &trans, const int &m, const int &n, const int &kl, const int &ku, const float &alpha, const float *a, const int &lda, const float *x, const int &incx, const float &beta, float *y, const int &incy)
 
void F77NAME() Blas::dspmv (const char &uplo, const int &n, const double &alpha, const double *a, const double *x, const int &incx, const double &beta, double *y, const int &incy)
 
void F77NAME() Blas::sspmv (const char &uplo, const int &n, const float &alpha, const float *a, const float *x, const int &incx, const float &beta, float *y, const int &incy)
 
void F77NAME() Blas::dsbmv (const char &uplo, const int &m, const int &k, const double &alpha, const double *a, const int &lda, const double *x, const int &incx, const double &beta, double *y, const int &incy)
 
void F77NAME() Blas::ssbmv (const char &uplo, const int &m, const int &k, const float &alpha, const float *a, const int &lda, const float *x, const int &incx, const float &beta, float *y, const int &incy)
 
void F77NAME() Blas::dtpmv (const char &uplo, const char &trans, const char &diag, const int &n, const double *ap, double *x, const int &incx)
 
void F77NAME() Blas::stpmv (const char &uplo, const char &trans, const char &diag, const int &n, const float *ap, float *x, const int &incx)
 
void F77NAME() Blas::dger (const int &m, const int &n, const double &alpha, const double *x, const int &incx, const double *y, const int &incy, double *a, const int &lda)
 
void F77NAME() Blas::sger (const int &m, const int &n, const float &alpha, const float *x, const int &incx, const float *y, const int &incy, float *a, const int &lda)
 
void F77NAME() Blas::dgemm (const char &trans, const char &transb, const int &m1, const int &n, const int &k, const double &alpha, const double *a, const int &lda, const double *b, const int &ldb, const double &beta, double *c, const int &ldc)
 
void F77NAME() Blas::sgemm (const char &trans, const char &transb, const int &m1, const int &n, const int &k, const float &alpha, const float *a, const int &lda, const float *b, const int &ldb, const float &beta, float *c, const int &ldc)
 
static void Blas::Dcopy (const int &n, const double *x, const int &incx, double *y, const int &incy)
 BLAS level 1: Copy x to y. More...
 
static void Blas::Daxpy (const int &n, const double &alpha, const double *x, const int &incx, const double *y, const int &incy)
 BLAS level 1: y = alpha x plus y. More...
 
static void Blas::Dswap (const int &n, double *x, const int &incx, double *y, const int &incy)
 BLAS level 1: Swap x with y. More...
 
static void Blas::Dscal (const int &n, const double &alpha, double *x, const int &incx)
 BLAS level 1: x = alpha x. More...
 
static void Blas::Drot (const int &n, double *x, const int &incx, double *y, const int &incy, const double &c, const double &s)
 BLAS level 1: Plane rotation by c = cos(theta), s = sin(theta) More...
 
static double Blas::Ddot (const int &n, const double *x, const int &incx, const double *y, const int &incy)
 BLAS level 1: output = \( x^T y \). More...
 
static double Blas::Dnrm2 (const int &n, const double *x, const int &incx)
 
static double Blas::Dasum (const int &n, const double *x, const int &incx)
 BLAS level 1: output = \( ||x||_1 \). More...
 
static int Blas::Idamax (const int &n, const double *x, const int &incx)
 BLAS level 1: output = 1st value where \( |x[i]| = max |x|_1 \) Note it is modified to return a value between (0,n-1) as per the standard C convention. More...
 
static void Blas::Gemv (const char &trans, const int &m, const int &n, const double &alpha, const double *a, const int &lda, const double *x, const int &incx, const double &beta, double *y, const int &incy)
 BLAS level 2: Matrix vector multiply y = alpha A x plus beta y where A[m x n]. More...
 
static void Blas::Gemv (const char &trans, const int &m, const int &n, const float &alpha, const float *a, const int &lda, const float *x, const int &incx, const float &beta, float *y, const int &incy)
 BLAS level 2: Matrix vector multiply y = alpha A x plus beta y where A[m x n]. More...
 
static void Blas::Dgemv (const char &trans, const int &m, const int &n, const double &alpha, const double *a, const int &lda, const double *x, const int &incx, const double &beta, double *y, const int &incy)
 BLAS level 2: Matrix vector multiply y = alpha A x plus beta y where A[m x n]. More...
 
static void Blas::Gbmv (const char &trans, const int &m, const int &n, const int &kl, const int &ku, const double &alpha, const double *a, const int &lda, const double *x, const int &incx, const double &beta, double *y, const int &incy)
 BLAS level 2: Matrix vector multiply y = alpha A x plus beta y where A[m x n] is banded. More...
 
static void Blas::Gbmv (const char &trans, const int &m, const int &n, const int &kl, const int &ku, const float &alpha, const float *a, const int &lda, const float *x, const int &incx, const float &beta, float *y, const int &incy)
 BLAS level 2: Matrix vector multiply y = alpha A x plus beta y where A[m x n] is banded. More...
 
static void Blas::Dgbmv (const char &trans, const int &m, const int &n, const int &kl, const int &ku, const double &alpha, const double *a, const int &lda, const double *x, const int &incx, const double &beta, double *y, const int &incy)
 BLAS level 2: Matrix vector multiply y = alpha A x plus beta y where A[m x n] is banded. More...
 
static void Blas::Spmv (const char &uplo, const int &n, const double &alpha, const double *a, const double *x, const int &incx, const double &beta, double *y, const int &incy)
 BLAS level 2: Matrix vector multiply y = alpha A x plus beta y where A[n x n] is symmetric packed. More...
 
static void Blas::Spmv (const char &uplo, const int &n, const float &alpha, const float *a, const float *x, const int &incx, const float &beta, float *y, const int &incy)
 BLAS level 2: Matrix vector multiply y = alpha A x plus beta y where A[n x n] is symmetric packed. More...
 
static void Blas::Dspmv (const char &uplo, const int &n, const double &alpha, const double *a, const double *x, const int &incx, const double &beta, double *y, const int &incy)
 BLAS level 2: Matrix vector multiply y = alpha A x plus beta y where A[n x n] is symmetric packed. More...
 
static void Blas::Sbmv (const char &uplo, const int &m, const int &k, const double &alpha, const double *a, const int &lda, const double *x, const int &incx, const double &beta, double *y, const int &incy)
 BLAS level 2: Matrix vector multiply y = alpha A x plus beta y where A[m x m] is symmetric banded. More...
 
static void Blas::Sbmv (const char &uplo, const int &m, const int &k, const float &alpha, const float *a, const int &lda, const float *x, const int &incx, const float &beta, float *y, const int &incy)
 BLAS level 2: Matrix vector multiply y = alpha A x plus beta y where A[m x m] is symmetric banded. More...
 
static void Blas::Dsbmv (const char &uplo, const int &m, const int &k, const double &alpha, const double *a, const int &lda, const double *x, const int &incx, const double &beta, double *y, const int &incy)
 BLAS level 2: Matrix vector multiply y = alpha A x plus beta y where A[m x m] is symmetric banded. More...
 
static void Blas::Tpmv (const char &uplo, const char &trans, const char &diag, const int &n, const double *ap, double *x, const int &incx)
 BLAS level 2: Matrix vector multiply x = alpha A x where A[n x n]. More...
 
static void Blas::Tpmv (const char &uplo, const char &trans, const char &diag, const int &n, const float *ap, float *x, const int &incx)
 BLAS level 2: Matrix vector multiply x = alpha A x where A[n x n]. More...
 
static void Blas::Dtpmv (const char &uplo, const char &trans, const char &diag, const int &n, const double *ap, double *x, const int &incx)
 BLAS level 2: Matrix vector multiply x = alpha A x where A[n x n]. More...
 
static void Blas::Ger (const int &m, const int &n, const double &alpha, const double *x, const int &incx, const double *y, const int &incy, double *a, const int &lda)
 BLAS level 2: Matrix vector multiply A = alpha*x*y**T + A where A[m x n]. More...
 
static void Blas::Ger (const int &m, const int &n, const float &alpha, const float *x, const int &incx, const float *y, const int &incy, float *a, const int &lda)
 BLAS level 2: Matrix vector multiply A = alpha*x*y**T + A where A[m x n]. More...
 
static void Blas::Gemm (const char &transa, const char &transb, const int &m, const int &n, const int &k, const double &alpha, const double *a, const int &lda, const double *b, const int &ldb, const double &beta, double *c, const int &ldc)
 BLAS level 3: Matrix-matrix multiply C = A x B where op(A)[m x k], op(B)[k x n], C[m x n] DGEMM performs one of the matrix-matrix operations: C := alpha*op( A )*op( B ) + beta*C,. More...
 
static void Blas::Gemm (const char &transa, const char &transb, const int &m, const int &n, const int &k, const float &alpha, const float *a, const int &lda, const float *b, const int &ldb, const float &beta, float *c, const int &ldc)
 BLAS level 3: Matrix-matrix multiply C = A x B where op(A)[m x k], op(B)[k x n], C[m x n] DGEMM performs one of the matrix-matrix operations: C := alpha*op( A )*op( B ) + beta*C,. More...
 
static void Blas::Dgemm (const char &transa, const char &transb, const int &m, const int &n, const int &k, const double &alpha, const double *a, const int &lda, const double *b, const int &ldb, const double &beta, double *c, const int &ldc)
 BLAS level 3: Matrix-matrix multiply C = A x B where op(A)[m x k], op(B)[k x n], C[m x n] DGEMM performs one of the matrix-matrix operations: C := alpha*op( A )*op( B ) + beta*C,. More...
 
static void Blas::Cdgemm (const int M, const int N, const int K, const double a, const double *A, const int ldA, const double *B, const int ldB, const double b, double *C, const int ldC)