ARTS  2.3.1285(git:92a29ea9-dirty)
oem::NormalizingSolver< TransformationMatrixType, SolverType > Class Template Reference

Normalizing solver. More...

#include <oem.h>

Inheritance diagram for oem::NormalizingSolver< TransformationMatrixType, SolverType >:

Public Member Functions

template<typename... Params>
 NormalizingSolver (const TransformationMatrixType &trans, bool apply, Params... params)
 
template<typename MatrixType , typename VectorType >
auto solve (const MatrixType &A, const VectorType &v) -> typename VectorType::ResultType
 Solve linear system. More...
 

Private Attributes

const bool apply_ = false
 Whether or not to apply the transformation. More...
 
const TransformationMatrixType & trans_
 The transformation matrix. More...
 

Detailed Description

template<typename TransformationMatrixType, typename SolverType = invlib::Standard>
class oem::NormalizingSolver< TransformationMatrixType, SolverType >

Normalizing solver.

Solver class that wraps around a given solver and transforms the linear system from left and right with the given transformation matrix. This is used to implement the normalization from qpack.

Template Parameters
TransformationMatrixTypeThe type of the transformation matrix.
SolverTypeThe underlying solver type used to solve the linear system.

Definition at line 113 of file oem.h.

Constructor & Destructor Documentation

◆ NormalizingSolver()

template<typename TransformationMatrixType , typename SolverType = invlib::Standard>
template<typename... Params>
oem::NormalizingSolver< TransformationMatrixType, SolverType >::NormalizingSolver ( const TransformationMatrixType &  trans,
bool  apply,
Params...  params 
)
inline

Definition at line 116 of file oem.h.

Member Function Documentation

◆ solve()

template<typename TransformationMatrixType , typename SolverType = invlib::Standard>
template<typename MatrixType , typename VectorType >
auto oem::NormalizingSolver< TransformationMatrixType, SolverType >::solve ( const MatrixType A,
const VectorType &  v 
) -> typename VectorType::ResultType
inline

Solve linear system.

Solves the transformed linear system using the solve(...) method of the underlying solver type.

Parameters
[in]AMatrix defining the linear system.
[in]vRHS vector of the linear system.
Returns
The solution vector of the linear system.

Definition at line 132 of file oem.h.

References oem::NormalizingSolver< TransformationMatrixType, SolverType >::apply_, solve(), oem::NormalizingSolver< TransformationMatrixType, SolverType >::trans_, and w().

Member Data Documentation

◆ apply_

template<typename TransformationMatrixType , typename SolverType = invlib::Standard>
const bool oem::NormalizingSolver< TransformationMatrixType, SolverType >::apply_ = false
private

Whether or not to apply the transformation.

Definition at line 148 of file oem.h.

Referenced by oem::NormalizingSolver< TransformationMatrixType, SolverType >::solve().

◆ trans_

template<typename TransformationMatrixType , typename SolverType = invlib::Standard>
const TransformationMatrixType& oem::NormalizingSolver< TransformationMatrixType, SolverType >::trans_
private

The transformation matrix.

Definition at line 150 of file oem.h.

Referenced by oem::NormalizingSolver< TransformationMatrixType, SolverType >::solve().


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