Documentation 6b54b78464
Loading...
Searching...
No Matches
CSymmetricMatrix Class Reference

The matrix is symmetric but full storage is used as that gives much better performance for some BLAS libraries (notably OpenBLAS). The code should be compiled with LAPACK to use optimized matrix inversion and multiplication routines. More...

#include <CSymmetricMatrix.hpp>

Public Member Functions

 CSymmetricMatrix ()=default
 
 CSymmetricMatrix (int N)
 
void Initialize (int N)
 
int Size () const
 
passivedouble Get (int i, int j) const
 
void Set (int i, int j, passivedouble val)
 
passivedouble & operator() (int i, int j)
 
const passivedouble & operator() (int i, int j) const
 
template<class ForwardIt >
void MatVecMult (ForwardIt vec_in, ForwardIt vec_out) const
 
void MatMatMult (const char side, const su2passivematrix &mat_in, su2passivematrix &mat_out) const
 
void Invert (bool is_spd=false)
 
su2passivematrix StealData ()
 

Detailed Description

The matrix is symmetric but full storage is used as that gives much better performance for some BLAS libraries (notably OpenBLAS). The code should be compiled with LAPACK to use optimized matrix inversion and multiplication routines.

Constructor & Destructor Documentation

◆ CSymmetricMatrix() [1/2]

CSymmetricMatrix::CSymmetricMatrix ( )
default

◆ CSymmetricMatrix() [2/2]

CSymmetricMatrix::CSymmetricMatrix ( int  N)
inline

Member Function Documentation

◆ Get()

passivedouble CSymmetricMatrix::Get ( int  i,
int  j 
) const
inline

◆ Initialize()

void CSymmetricMatrix::Initialize ( int  N)

◆ Invert()

void CSymmetricMatrix::Invert ( bool  is_spd = false)

◆ MatMatMult()

void CSymmetricMatrix::MatMatMult ( const char  side,
const su2passivematrix &  mat_in,
su2passivematrix &  mat_out 
) const

◆ MatVecMult()

template<class ForwardIt >
void CSymmetricMatrix::MatVecMult ( ForwardIt  vec_in,
ForwardIt  vec_out 
) const
inline

◆ operator()() [1/2]

passivedouble & CSymmetricMatrix::operator() ( int  i,
int  j 
)
inline

◆ operator()() [2/2]

const passivedouble & CSymmetricMatrix::operator() ( int  i,
int  j 
) const
inline

◆ Set()

void CSymmetricMatrix::Set ( int  i,
int  j,
passivedouble  val 
)
inline

◆ Size()

int CSymmetricMatrix::Size ( ) const
inline

◆ StealData()

su2passivematrix CSymmetricMatrix::StealData ( )

The documentation for this class was generated from the following files: