blas_lapack.hpp File Reference
#include <opm/common/ErrorMacros.hpp>
#include <opm/porsol/common/fortran.hpp>
#include <FCMacros.h>
Include dependency graph for blas_lapack.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  Opm
 
namespace  Opm::BLAS_LAPACK
 

Macros

#define F77_CHARACTER_TYPE   const char*
 

Functions

void FC_GLOBAL (dgemv, DGEMV)(F77_CHARACTER_TYPE
 
void FC_GLOBAL (dgemm, DGEMM)(F77_CHARACTER_TYPE
 
void FC_GLOBAL (dsyrk, DSYRK)(F77_CHARACTER_TYPE
 
void FC_GLOBAL (dtrmm, DTRMM)(F77_CHARACTER_TYPE
 
void FC_GLOBAL (dgeqrf, DGEQRF)(const int *m
 
void FC_GLOBAL (dorgqr, DORGQR)(const int *m
 
void FC_GLOBAL (dgetrf, DGETRF)(const int *m
 
void FC_GLOBAL (dgetri, DGETRI)(const int *n
 
template<typename T >
void Opm::BLAS_LAPACK::GEMV (const char *transA, const int m, const int n, const T &a1, const T *A, const int ldA, const T *x, const int incX, const T &a2, T *y, const int incY)
 GEneral Matrix Vector product (Level 2 BLAS). More...
 
template<>
void Opm::BLAS_LAPACK::GEMV< double > (const char *transA, const int m, const int n, const double &a1, const double *A, const int ldA, const double *x, const int incX, const double &a2, double *y, const int incY)
 GEneral Matrix Vector product specialization for double. More...
 
template<typename T >
void Opm::BLAS_LAPACK::GEMM (const char *transA, const char *transB, const int m, const int n, const int k, const T &a1, const T *A, const int ldA, const T *B, const int ldB, const T &a2, T *C, const int ldC)
 GEneral Matrix Matrix product (Level 3 BLAS). More...
 
template<>
void Opm::BLAS_LAPACK::GEMM< double > (const char *transA, const char *transB, const int m, const int n, const int k, const double &a1, const double *A, const int ldA, const double *B, const int ldB, const double &a2, double *C, const int ldC)
 GEneral Matrix Matrix product specialization for double. More...
 
template<typename T >
void Opm::BLAS_LAPACK::SYRK (const char *uplo, const char *trans, const int n, const int k, const T &a1, const T *A, const int ldA, const T &a2, T *C, const int ldC)
 SYmmetric Rank K update of symmetric matrix (Level 3 BLAS) More...
 
template<>
void Opm::BLAS_LAPACK::SYRK< double > (const char *uplo, const char *trans, const int n, const int k, const double &a1, const double *A, const int ldA, const double &a2, double *C, const int ldC)
 SYmmetric Rank K update of symmetric matrix specialization for double. More...
 
template<typename T >
void Opm::BLAS_LAPACK::TRMM (const char *side, const char *uplo, const char *transA, const char *diag, const int m, const int n, const T &a, const T *A, const int ldA, T *B, const int ldB)
 TRiangular Matrix Matrix product (Level 2 BLAS) More...
 
template<>
void Opm::BLAS_LAPACK::TRMM< double > (const char *side, const char *uplo, const char *transA, const char *diag, const int m, const int n, const double &a, const double *A, const int ldA, double *B, const int ldB)
 TRiangular Matrix Matrix product specialization for double. More...
 
template<typename T >
void Opm::BLAS_LAPACK::GEQRF (const int m, const int n, T *A, const int ld, T *tau, T *work, const int lwork, int &info)
 GEneral matrix QR Factorization (LAPACK) More...
 
template<>
void Opm::BLAS_LAPACK::GEQRF< double > (const int m, const int n, double *A, const int ld, double *tau, double *work, const int lwork, int &info)
 GEneral matrix QR Factorization specialization for double. More...
 
template<typename T >
void Opm::BLAS_LAPACK::ORGQR (const int m, const int n, const int k, T *A, const int ld, const T *tau, T *work, const int lwork, int &info)
 ORthogonal matrix Generator from QR factorization (LAPACK). More...
 
template<>
void Opm::BLAS_LAPACK::ORGQR< double > (const int m, const int n, const int k, double *A, const int ld, const double *tau, double *work, const int lwork, int &info)
 ORthogonal matrix Generator from QR factorization specialization for double. More...
 
template<typename T >
void Opm::BLAS_LAPACK::GETRF (const int m, const int n, T *A, const int ld, int *ipiv, int &info)
 GEneral matrix TRiangular Factorization (LAPACK). More...
 
template<>
void Opm::BLAS_LAPACK::GETRF< double > (const int m, const int n, double *A, const int ld, int *ipiv, int &info)
 GEneral matrix TRiangular Factorization specialization for double. More...
 
template<typename T >
void Opm::BLAS_LAPACK::GETRI (const int n, T *A, const int ld, const int *ipiv, T *work, int lwork, int &info)
 GEneral matrix TRiangular Inversion (LAPACK). More...
 
template<>
void Opm::BLAS_LAPACK::GETRI (const int n, double *A, const int ld, const int *ipiv, double *work, int lwork, int &info)
 GEneral matrix TRiangular Inversion specialization for double. More...
 

Variables

void const int * m
 
void const int const int * n
 
void const int const int const double * a1
 
void const int const int const double const double * A
 
void const int const int const double const double const int * ldA
 
void const int const int const double const double const int const double * x
 
void const int const int const double const double const int const double const int * incX
 
void const int const int const double const double const int const double const int const double * a2
 
void const int const int const double const double const int const double const int const double double * y
 
void const int const int const double const double const int const double const int const double double const int * incY
 
void F77_CHARACTER_TYPE
 
void const int const int const int * k
 
void const int const int const int const double const double const int const double * B
 
void const int const int const int const double const double const int const double const int * ldB
 
void const int const int const int const double const double const int const double const int const double double * C
 
void const int const int const int const double const double const int const double const int const double double const int * ldC
 
void const int const int const double * a
 
void const int double const int * ld
 
void const int double const int double * tau
 
void const int double const int double double * work
 
void const int double const int double double const int * lwork
 
void const int double const int double double const int int * info
 
void const int double const int int * ipiv
 

Macro Definition Documentation

◆ F77_CHARACTER_TYPE

void F77_CHARACTER_TYPE   const char*

Function Documentation

◆ FC_GLOBAL() [1/8]

void FC_GLOBAL ( dgemm  ,
DGEMM   
)

◆ FC_GLOBAL() [2/8]

void FC_GLOBAL ( dgemv  ,
DGEMV   
)

◆ FC_GLOBAL() [3/8]

void FC_GLOBAL ( dgeqrf  ,
DGEQRF   
) const

◆ FC_GLOBAL() [4/8]

void FC_GLOBAL ( dgetrf  ,
DGETRF   
) const

◆ FC_GLOBAL() [5/8]

void FC_GLOBAL ( dgetri  ,
DGETRI   
) const

◆ FC_GLOBAL() [6/8]

void FC_GLOBAL ( dorgqr  ,
DORGQR   
) const

◆ FC_GLOBAL() [7/8]

void FC_GLOBAL ( dsyrk  ,
DSYRK   
)

◆ FC_GLOBAL() [8/8]

void FC_GLOBAL ( dtrmm  ,
DTRMM   
)

Variable Documentation

◆ A

◆ a

◆ a1

◆ a2

void const int const int const double const double const int const double * a2

◆ B

◆ C

◆ F77_CHARACTER_TYPE

void F77_CHARACTER_TYPE

◆ incX

void const int const int const double const double const int const double const int* incX

◆ incY

void const int const int const double const double const int const double const int const double double const int* incY

◆ info

void double const int const int double int int * info

◆ ipiv

void double const int const int * ipiv

Referenced by Opm::invert().

◆ k

◆ ld

void double const int * ld

◆ ldA

void const int const int const double const double const int * ldA

◆ ldB

void const int const int const double const double const int double const int * ldB

◆ ldC

void const int const int const double const double const int const double double const int * ldC

◆ lwork

void double const int const int double int * lwork

◆ m

◆ n

◆ tau

void const int const int double const int const double * tau

◆ work

void double const int const int double * work

◆ x

void const int const int const double const double const int const double* x

Referenced by Opm::ImplicitTransportDefault::VectorAdder< BaseVec >::add(), Opm::ImplicitTransportDefault::VectorAdder< ISTLTypeDetails::ScalarBlockVector >::add(), Opm::Elasticity::MortarEvaluator::apply(), Opm::Elasticity::MortarBlockEvaluator< T >::apply(), Opm::Elasticity::UzawaSolver< X, Y >::apply(), Opm::Elasticity::MortarEvaluator::applyscaleadd(), Opm::Elasticity::MortarBlockEvaluator< T >::applyscaleadd(), Opm::ImplicitTransportDefault::VectorAssign< BaseVec >::assign(), Opm::ImplicitTransportDefault::VectorAssign< ISTLTypeDetails::ScalarBlockVector >::assign(), Opm::Elasticity::MortarUtils::extractBlock(), Opm::SinglePointUpwindTwoPhase< TwophaseFluid >::finishStep(), Opm::Elasticity::IMPL_FUNC(), Opm::SinglePointUpwindTwoPhase< TwophaseFluid >::initIteration(), Opm::SinglePointUpwindTwoPhase< TwophaseFluid >::initStep(), Opm::Elasticity::MortarUtils::injectBlock(), Opm::inverse3x3(), Opm::Elasticity::PNShapeFunctionSet< dim >::legendre(), Opm::Elasticity::PNShapeFunctionSet< dim >::legendreDerivative(), Opm::Elasticity::HexGeometry< 2, cdim, GridImp >::local(), Opm::ImplicitTransportDefault::VectorNegater< BaseVec >::negate(), Opm::ImplicitTransportDefault::VectorNegater< ISTLTypeDetails::ScalarBlockVector >::negate(), Opm::ImplicitTransportDefault::MaxAbs< T >::operator()(), Opm::ImplicitTransportDefault::SumAbs< T >::operator()(), Opm::ImplicitTransportDefault::Euclid< T >::operator()(), Opm::Elasticity::MortarSchurPre< PrecondElasticityBlock >::post(), Opm::Elasticity::MortarSchurPre< PrecondElasticityBlock >::pre(), Opm::prod(), Opm::LinearSolverBICGSTAB::solve(), Opm::vecMulAdd_N(), Opm::vecMulAdd_T(), Opm::ImplicitTransportDefault::VectorZero< BaseVec >::zero(), and Opm::ImplicitTransportDefault::VectorZero< ISTLTypeDetails::ScalarBlockVector >::zero().

◆ y