#include <operatorlinear.hpp>
Linear Operator between function spaces, represented by a matrix.
Public Types | |
typedef super::backend_ptrtype | backend_ptrtype |
typedef super::backend_type | backend_type |
typedef domain_space_type::template Element< typename domain_space_type::value_type, typename VectorUblas< typename domain_space_type::value_type > ::range::type > | domain_element_range_type |
typedef domain_space_type::template Element< typename domain_space_type::value_type, typename VectorUblas< typename domain_space_type::value_type > ::slice::type > | domain_element_slice_type |
typedef domain_space_type::element_type | domain_element_type |
typedef super::domain_space_ptrtype | domain_space_ptrtype |
typedef super::domain_space_type | domain_space_type |
typedef dual_image_space_type::template Element< typename dual_image_space_type::value_type, typename VectorUblas< typename dual_image_space_type::value_type > ::range::type > | dual_image_element_range_type |
typedef dual_image_space_type::template Element< typename dual_image_space_type::value_type, typename VectorUblas< typename dual_image_space_type::value_type > ::slice::type > | dual_image_element_slice_type |
typedef dual_image_space_type::element_type | dual_image_element_type |
typedef super::dual_image_space_ptrtype | dual_image_space_ptrtype |
typedef super::dual_image_space_type | dual_image_space_type |
typedef FsFunctionalLinear < DualImageSpace > | image_element_type |
typedef boost::shared_ptr < matrix_type > | matrix_ptrtype |
typedef backend_type::sparse_matrix_type | matrix_type |
typedef Operator< DomainSpace, DualImageSpace > | super_type |
typedef OperatorLinear < DomainSpace, DualImageSpace > | this_type |
typedef backend_type::vector_ptrtype | vector_ptrtype |
typedef backend_type::vector_type | vector_type |
![]() | |
typedef boost::shared_ptr < backend_type > | backend_ptrtype |
typedef Backend< value_type > | backend_type |
typedef domain_space_type::element_type | domain_element_type |
typedef boost::shared_ptr < domain_space_type > | domain_space_ptrtype |
typedef DomainSpace | domain_space_type |
typedef boost::shared_ptr < dual_image_space_type > | dual_image_space_ptrtype |
typedef DualImageSpace | dual_image_space_type |
typedef FsFunctionalLinear < dual_image_space_type > | image_element_type |
typedef domain_space_type::value_type | value_type |
Public Member Functions | |
template<typename T > | |
OperatorLinear & | add (T const &scalar, OperatorLinear const &ol) |
template<typename T > | |
OperatorLinear & | add (T const &scalar, boost::shared_ptr< OperatorLinear > ol) |
template<typename Storage > | |
void | apply (const domain_element< typename domain_element_type::value_type, Storage > &de, image_element_type &ie) const |
virtual void | apply (const domain_element_type &de, image_element_type &ie) const |
virtual void | apply (const typename domain_space_type::element_type &de, typename dual_image_space_type::element_type &ie) |
virtual void | apply (const domain_element_range_type &de, typename dual_image_space_type::element_type &ie) |
virtual void | apply (const typename domain_space_type::element_type &de, dual_image_element_range_type &ie) |
virtual void | apply (const domain_element_range_type &de, dual_image_element_range_type &ie) |
virtual void | apply (const domain_element_slice_type &de, typename dual_image_space_type::element_type &ie) |
virtual void | apply (const typename domain_space_type::element_type &de, dual_image_element_slice_type &ie) |
virtual void | apply (domain_element_slice_typede, dual_image_element_slice_typeie) |
virtual void | apply (const domain_element_range_type &de, dual_image_element_slice_type &ie) |
virtual void | apply (const domain_element_slice_type &de, dual_image_element_range_type &ie) |
virtual void | applyInverse (domain_element_type &de, const image_element_type &ie) |
apply the inverse of the operator: ![]() | |
backend_ptrtype & | backend () |
void | close () |
virtual double | energy (const typename domain_space_type::element_type &de, const typename dual_image_space_type::element_type &ie) const |
virtual void | init (domain_space_ptrtype domainSpace, dual_image_space_ptrtype dualImageSpace, backend_ptrtype backend, bool buildMatrix=true, size_type pattern=Pattern::COUPLED) |
template<typename RhsExpr > | |
domain_element_type | inv (RhsExpr const &rhs_expr) |
matrix_type & | mat () |
matrix_type const & | mat () const |
matrix_ptrtype const & | matPtr () const |
matrix_ptrtype & | matPtr () |
virtual void | matPtr (matrix_ptrtype &matrix) |
std::string | name () const |
template<typename T1 = typename domain_space_type::element_type, typename T2 = typename dual_image_space_type::element_type> | |
T2 | operator() (T1 &de) |
template<typename T1 = typename domain_space_type::element_type, typename T2 = typename dual_image_space_type::element_type> | |
T2 | operator() (boost::shared_ptr< T1 > de) |
OperatorLinear & | operator+ (boost::shared_ptr< OperatorLinear > ol) |
OperatorLinear & | operator+ (OperatorLinear const &ol) |
template<class ExprT > | |
this_type & | operator+= (ExprT const &e) |
template<class ExprT > | |
this_type & | operator= (ExprT const &e) |
this_type & | operator= (this_type const &m) |
OperatorLinear (OperatorLinear const &ol, bool deep_copy=false) | |
OperatorLinear (domain_space_ptrtype domainSpace, dual_image_space_ptrtype dualImageSpace, backend_ptrtype backend, bool buildMatrix=true, size_type pattern=Pattern::COUPLED) | |
size_type | pattern () |
void | setName (std::string name) |
![]() | |
domain_space_ptrtype | domainSpace () |
const domain_space_ptrtype | domainSpace () const |
dual_image_space_ptrtype | dualImageSpace () |
const dual_image_space_ptrtype | dualImageSpace () const |
Operator (domain_space_ptrtype domainSpace, dual_image_space_ptrtype dualImageSpace) | |
image_element_type | operator() (const domain_element_type &de) const |
void | setDomainSpace (domain_space_ptrtype const &domainspace) |
void | setDualImageSpace (dual_image_space_ptrtype const &dualImageSpace) |