Loading...
Searching...
No Matches
terra::linalg::DiagonallyScaledOperator< OperatorT > Class Template Reference

Given some operator \(K\) and a vector \(v\), this operator is equivalent to an operator \(A\) defined as. More...

#include <diagonally_scaled_operator.hpp>

Public Types

using OperatorType = OperatorT
 
using SrcVectorType = SrcOf< OperatorT >
 
using DstVectorType = DstOf< OperatorT >
 
using ScalarType = ScalarOf< DstVectorType >
 

Public Member Functions

 DiagonallyScaledOperator (OperatorT &op, SrcVectorType &diag)
 
void apply_impl (const SrcVectorType &src, DstVectorType &dst)
 

Detailed Description

template<OperatorLike OperatorT>
class terra::linalg::DiagonallyScaledOperator< OperatorT >

Given some operator \(K\) and a vector \(v\), this operator is equivalent to an operator \(A\) defined as.

\[ A = \mathrm{diag}(v) K \]

Member Typedef Documentation

◆ DstVectorType

template<OperatorLike OperatorT>
using terra::linalg::DiagonallyScaledOperator< OperatorT >::DstVectorType = DstOf< OperatorT >

◆ OperatorType

template<OperatorLike OperatorT>
using terra::linalg::DiagonallyScaledOperator< OperatorT >::OperatorType = OperatorT

◆ ScalarType

template<OperatorLike OperatorT>
using terra::linalg::DiagonallyScaledOperator< OperatorT >::ScalarType = ScalarOf< DstVectorType >

◆ SrcVectorType

template<OperatorLike OperatorT>
using terra::linalg::DiagonallyScaledOperator< OperatorT >::SrcVectorType = SrcOf< OperatorT >

Constructor & Destructor Documentation

◆ DiagonallyScaledOperator()

template<OperatorLike OperatorT>
terra::linalg::DiagonallyScaledOperator< OperatorT >::DiagonallyScaledOperator ( OperatorT &  op,
SrcVectorType diag 
)
inlineexplicit

Member Function Documentation

◆ apply_impl()

template<OperatorLike OperatorT>
void terra::linalg::DiagonallyScaledOperator< OperatorT >::apply_impl ( const SrcVectorType src,
DstVectorType dst 
)
inline

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