G+Smo  23.12.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gsLinearLambdaOp< T, L > Class Template Reference

Detailed Description

template<class T, class L>
class gismo::gsLinearLambdaOp< T, L >

Wrapper that allows to use lambdas as a gsLinearOperator.

+ Inheritance diagram for gsLinearLambdaOp< T, L >:
+ Collaboration diagram for gsLinearLambdaOp< T, L >:

Public Types

typedef memory::shared_ptr
< gsLinearOperator
Ptr
 Shared pointer for gsLinearOperator.
 
typedef memory::unique_ptr
< gsLinearOperator
uPtr
 Unique pointer for gsLinearOperator.
 

Public Member Functions

void apply (const gsMatrix< T > &input, gsMatrix< T > &x) const
 apply the operator on the input vector and store the result in x More...
 
index_t cols () const
 Returns the number of columns of the operator.
 
 gsLinearLambdaOp (L lambda, index_t rows, index_t cols)
 Constructor; see makeLinearOp for details.
 
index_t rows () const
 Returns the number of rows of the operator.
 
virtual void setOptions (const gsOptionList &)
 Set options based on a gsOptionList object.
 

Static Public Member Functions

static gsOptionList defaultOptions ()
 Get the default options as gsOptionList object.
 
static gsIdentityOp< T > Identity (const index_t dim)
 Identity operator.
 

Related Functions

(Note that these are not member functions.)

template<class T = real_t, class L >
gsLinearOperator< T >::uPtr makeLinearOp (L lambda, index_t rows, index_t cols)
 Wrapper that allows to use lambdas as a gsLinearOperator. More...
 

Member Function Documentation

void apply ( const gsMatrix< T > &  input,
gsMatrix< T > &  x 
) const
inlinevirtual

apply the operator on the input vector and store the result in x

Parameters
inputInput vector
xresult vector

Implements gsLinearOperator< T >.

Friends And Related Function Documentation

gsLinearOperator< T >::uPtr makeLinearOp ( lambda,
index_t  rows,
index_t  cols 
)
related

Wrapper that allows to use lambdas as a gsLinearOperator.

Parameters
lambdaA lambda object such that lambda(input, x) is valid if input and x are of type gsMatrix<T>
rowsThe number of rows
colsThe number of columns