KASKADE 7 development version
Classes | Functions
Kaskade::DynamicMatrixDetail Namespace Reference

Classes

struct  cat
 
struct  cat< Entry, Entry >
 
struct  Copy
 
struct  Copy< Dune::FieldMatrix< A, n, m >, Dune::FieldMatrix< B, n, m > >
 
struct  GetAddress
 
struct  GetAddress< Dune::BlockVector< K, A > >
 
struct  GetAddress< Dune::FieldMatrix< K, n, m > >
 
struct  GetAddress< Dune::FieldVector< K, n > >
 
struct  ProductTraits
 
struct  ProductTraits< Dune::FieldMatrix< EntryA, n, m >, Dune::FieldMatrix< EntryB, m, k >, void >
 
struct  ProductTraits< Scalar, Scalar, std::enable_if_t< std::is_arithmetic_v< Scalar > > >
 
class  StridedVector
 

Functions

template<class K >
auto getAddress (K &a)
 
void gemv (bool transpose, int n, int m, double alpha, double const *A, int lda, double const *x, double beta, double *y)
 
void gemv (bool transpose, int n, int m, float alpha, float const *A, int lda, float const *x, float beta, float *y)
 
void gemm (bool transposeA, bool transposeB, int m, int n, int k, double alpha, double const *A, int lda, double const *B, int ldb, double beta, double *C, int ldc)
 computes \( C \leftarrow \alpha A B + \beta C \) More...
 
void gemm (bool transposeA, bool transposeB, int m, int n, int k, float alpha, float const *A, int lda, float const *B, int ldb, float beta, float *C, int ldc)
 
double transpose (double x)
 
float transpose (float x)
 
template<class Scalar >
Scalar & scalarEntry (Scalar &x, int row, int col)
 
template<class Entry , int n, int m>
EntryTraits< Entry >::field_type scalarEntry (Dune::FieldMatrix< Entry, n, m > const &A, int row, int col)
 
template<class Entry , int n, int m>
EntryTraits< Entry >::field_type & scalarEntry (Dune::FieldMatrix< Entry, n, m > &A, int row, int col)
 
template<class Entry >
EntryTraits< Entry >::field_type scalarEntry (DynamicMatrix< Entry > const &A, int row, int col)
 
template<class Entry >
EntryTraits< Entry >::field_type & scalarEntry (DynamicMatrix< Entry > &A, int row, int col)
 
template<class Scalar , class enable = typename std::enable_if_t<std::is_floating_point_v<Scalar>,int>>
DynamicMatrix< Scalar > flatMatrix (DynamicMatrix< Scalar > const &A)
 
template<class Entry , int n, int m>
DynamicMatrix< typename EntryTraits< Entry >::field_type > flatMatrix (DynamicMatrix< Dune::FieldMatrix< Entry, n, m > > const &A)
 
template<class Entry >
void unflatten (DynamicMatrix< Entry > &A, DynamicMatrix< typename EntryTraits< Entry >::field_type > const &B)
 

Function Documentation

◆ flatMatrix() [1/2]

template<class Entry , int n, int m>
DynamicMatrix< typename EntryTraits< Entry >::field_type > Kaskade::DynamicMatrixDetail::flatMatrix ( DynamicMatrix< Dune::FieldMatrix< Entry, n, m > > const &  A)

Definition at line 278 of file dynamicMatrix.hh.

◆ flatMatrix() [2/2]

template<class Scalar , class enable = typename std::enable_if_t<std::is_floating_point_v<Scalar>,int>>
DynamicMatrix< Scalar > Kaskade::DynamicMatrixDetail::flatMatrix ( DynamicMatrix< Scalar > const &  A)

◆ gemm()

void Kaskade::DynamicMatrixDetail::gemm ( bool  transposeA,
bool  transposeB,
int  m,
int  n,
int  k,
float  alpha,
float const *  A,
int  lda,
float const *  B,
int  ldb,
float  beta,
float *  C,
int  ldc 
)

◆ gemv() [1/2]

void Kaskade::DynamicMatrixDetail::gemv ( bool  transpose,
int  n,
int  m,
double  alpha,
double const *  A,
int  lda,
double const *  x,
double  beta,
double *  y 
)

◆ gemv() [2/2]

void Kaskade::DynamicMatrixDetail::gemv ( bool  transpose,
int  n,
int  m,
float  alpha,
float const *  A,
int  lda,
float const *  x,
float  beta,
float *  y 
)

◆ getAddress()

template<class K >
auto Kaskade::DynamicMatrixDetail::getAddress ( K &  a)

Definition at line 184 of file dynamicMatrix.hh.

Referenced by Kaskade::DirectSolver< Domain_, Range_ >::apply().

◆ scalarEntry() [1/5]

template<class Entry , int n, int m>
EntryTraits< Entry >::field_type & Kaskade::DynamicMatrixDetail::scalarEntry ( Dune::FieldMatrix< Entry, n, m > &  A,
int  row,
int  col 
)

Definition at line 246 of file dynamicMatrix.hh.

◆ scalarEntry() [2/5]

template<class Entry , int n, int m>
EntryTraits< Entry >::field_type Kaskade::DynamicMatrixDetail::scalarEntry ( Dune::FieldMatrix< Entry, n, m > const &  A,
int  row,
int  col 
)

Definition at line 239 of file dynamicMatrix.hh.

◆ scalarEntry() [3/5]

template<class Entry >
EntryTraits< Entry >::field_type & Kaskade::DynamicMatrixDetail::scalarEntry ( DynamicMatrix< Entry > &  A,
int  row,
int  col 
)

Definition at line 260 of file dynamicMatrix.hh.

Referenced by Kaskade::DynamicMatrix< K >::operator<<().

◆ scalarEntry() [4/5]

template<class Entry >
EntryTraits< Entry >::field_type Kaskade::DynamicMatrixDetail::scalarEntry ( DynamicMatrix< Entry > const &  A,
int  row,
int  col 
)

Definition at line 253 of file dynamicMatrix.hh.

◆ scalarEntry() [5/5]

template<class Scalar >
Scalar & Kaskade::DynamicMatrixDetail::scalarEntry ( Scalar &  x,
int  row,
int  col 
)

◆ transpose() [1/2]

double Kaskade::DynamicMatrixDetail::transpose ( double  x)
inline

Definition at line 228 of file dynamicMatrix.hh.

◆ transpose() [2/2]

float Kaskade::DynamicMatrixDetail::transpose ( float  x)
inline

Definition at line 229 of file dynamicMatrix.hh.

◆ unflatten()

template<class Entry >
void Kaskade::DynamicMatrixDetail::unflatten ( DynamicMatrix< Entry > &  A,
DynamicMatrix< typename EntryTraits< Entry >::field_type > const &  B 
)

Definition at line 290 of file dynamicMatrix.hh.