KASKADE 7 development version
|
Mathematical Vector that supports copy-on-write, implements AbstractFunctionSpaceElement. More...
#include <newton_bridge.hh>
Mathematical Vector that supports copy-on-write, implements AbstractFunctionSpaceElement.
An implementation must support the following three operations:
Definition at line 195 of file newton_bridge.hh.
Public Member Functions | |
template<class Creator > | |
Vector (Creator &creator) | |
Vector (Implementation const &gi) | |
virtual std::unique_ptr< AbstractFunctionSpaceElement > | clone () const |
Construction of a vector of the same type. More... | |
virtual std::unique_ptr< AbstractFunctionSpaceElement > | initZeroVector () const |
Construction of a vector of the same type. More... | |
Implementation const & | get () const |
Access to the data. More... | |
Implementation & | get () |
Access data. More... | |
virtual void | read (std::vector< double > const &in, int vbegin, int vend) |
virtual void | read (std::vector< double > const &in) |
virtual void | write (std::vector< double > &out, int vbegin, int vend) const |
virtual void | write (std::vector< double > &out) const |
virtual std::string | getRole (int component) const |
int | nComponents () const |
virtual void | print (std::string const &message="") const |
Optional output. More... | |
virtual double | doapplyAsDualTo (AbstractFunctionSpaceElement const &v, int vbegin, int vend) const |
AbstractFunctionSpaceElement & | axpy (double alpha, AbstractFunctionSpaceElement const &l, int component) |
*this += alpha*l More... | |
AbstractFunctionSpaceElement & | axpy (double alpha, AbstractFunctionSpaceElement const &l, std::string const role) |
AbstractFunctionSpaceElement & | axpy (double alpha, AbstractFunctionSpaceElement const &l) |
*this += alpha*l More... | |
AbstractFunctionSpaceElement & | axpy_role (double alpha, AbstractFunctionSpaceElement const &l, std::string const role) |
AbstractFunctionSpaceElement & | operator+= (AbstractFunctionSpaceElement const &v) |
Basic vector arithmetic. More... | |
AbstractFunctionSpaceElement & | operator-= (AbstractFunctionSpaceElement const &v) |
Basic vector arithmetic. More... | |
AbstractFunctionSpaceElement & | operator*= (double lambda) |
Basic vector arithmetic. More... | |
AbstractFunctionSpaceElement & | operator*= (std::vector< double >const &lambda) |
Scaling each component of the vector separately. More... | |
double | applyAsDualTo (AbstractFunctionSpaceElement const &v, int component) const |
Interpret *this as a dual vector, and apply it to v. More... | |
double | applyAsDualTo (AbstractFunctionSpaceElement const &v) const |
double | applyAsDualTo (AbstractFunctionSpaceElement const &v, std::string const &role) const |
double | applyAsDualTo_role (AbstractFunctionSpaceElement const &v, std::string const role) const |
void | swap (AbstractFunctionSpaceElement &v) |
Shallow swap. More... | |
Public Attributes | |
Implementation | implementation |
Friends | |
Implementation & | getImpl (AbstractFunctionSpaceElement &v) |
Get the implementation of an AbstractFunctionSpaceElement. More... | |
|
inlineexplicit |
Definition at line 199 of file newton_bridge.hh.
|
inlineexplicit |
Definition at line 201 of file newton_bridge.hh.
|
inlineinherited |
Definition at line 108 of file abstract_interface.hh.
|
inlineinherited |
Interpret *this as a dual vector, and apply it to v.
Duality is currently not represented by types, hence users have to make sure that the dual pairing <*this,v> is mathematically meaningful. The standard implementation of the dual pairing in Bridge::Vector is the dot-product between the coordinate representations of *this and v. For that *this should be the result of AbstractLinearization::evald
Definition at line 103 of file abstract_interface.hh.
Referenced by Kaskade::AbstractFunctionSpaceElement::applyAsDualTo_role().
|
inlineinherited |
Definition at line 113 of file abstract_interface.hh.
|
inlineinherited |
Definition at line 118 of file abstract_interface.hh.
Referenced by Kaskade::AbstractFunctionSpaceElement::applyAsDualTo().
|
inlineinherited |
*this += alpha*l
Definition at line 60 of file abstract_interface.hh.
|
inlineinherited |
*this += alpha*l
Definition at line 34 of file abstract_interface.hh.
Referenced by Kaskade::AbstractFunctionSpaceElement::axpy_role(), Kaskade::TangentialStepNewton< Newton >::getTrialIterate(), and Kaskade::NormalStepNewton< Newton >::getTrialIterate().
|
inlineinherited |
Definition at line 45 of file abstract_interface.hh.
|
inlineinherited |
Definition at line 50 of file abstract_interface.hh.
Referenced by Kaskade::PrimalChart::addPerturbation(), and Kaskade::AbstractFunctionSpaceElement::axpy().
|
inlinevirtual |
Construction of a vector of the same type.
Implements Kaskade::AbstractFunctionSpaceElement.
Definition at line 203 of file newton_bridge.hh.
Referenced by Kaskade::Bridge::Vector< Implementation >::initZeroVector().
|
inlinevirtual |
Implements Kaskade::AbstractFunctionSpaceElement.
Definition at line 256 of file newton_bridge.hh.
|
inline |
Access data.
Definition at line 219 of file newton_bridge.hh.
|
inline |
Access to the data.
Definition at line 216 of file newton_bridge.hh.
Referenced by Kaskade::Bridge::Vector< Implementation >::doapplyAsDualTo(), Kaskade::YetAnotherHBErrorEstimator< Functional, VariableSetDescription, ExtensionVariableSetDescription, ExtensionSpace, NormFunctional, RefinementStrategy, lump, components, ReferenceSolution, ReferenceOperator >::operator()(), Kaskade::YetAnotherHBErrorEstimator_Elasticity< Functional, VariableSetDescription, ExtensionVariableSetDescription, ExtensionSpace, NormFunctional, RefinementStrategy, lump, components >::operator()(), Kaskade::GoalOrientedErrorEstimator< TemplateFunctional, OriginalVariableSetDescription, ExtensionVariableSetDescription, ExtensionSpace >::operator()(), Kaskade::HierarchicalBasisErrorEstimator2< Functional, VariableSetDescription, ExtensionVariableSetDescription, ExtensionSpace, NormFunctional, LinearSolverLA, LinearSolverHA, LinearSolverLM, LinearSolverHM, lumpM, RefinementStrategy >::operator()(), Kaskade::StateEquationHBErrorEstimator< Functional, VariableSetDescription, ExtensionVariableSetDescription, ExtensionSpace, NormFunctional, LinearSolverHA, RefinementStrategy >::operator()(), Kaskade::VariationalEquationHBErrorEstimator< Functional, VariableSetDescription, ExtensionVariableSetDescription, ExtensionSpace, NormFunctional, LinearSolverHA, RefinementStrategy >::operator()(), Kaskade::AdjointEquationHBErrorEstimator< Functional, VariableSetDescription, ExtensionVariableSetDescription, ExtensionSpace, NormFunctional, LinearSolverHA, RefinementStrategy >::operator()(), Kaskade::AdjointEquationLinearPropagationHBErrorEstimator< Functional, VariableSetDescription, ExtensionVariableSetDescription, ExtensionSpace, NormFunctional, LinearSolverLA, LinearSolverHA, LinearSolverLU, RefinementStrategy >::operator()(), Kaskade::AnotherHBErrorEstimator< Functional, VariableSetDescription, ExtensionVariableSetDescription, ExtensionSpace, NormFunctional, LinearSolverLA, LinearSolverHA, LinearSolverHU, LinearSolverLU, RefinementStrategy, lump >::operator()(), Kaskade::StupidHBErrorEstimator< Functional, VariableSetDescription, ExtensionVariableSetDescription, ExtensionSpace, NormFunctional, LinearSolverHA, RefinementStrategy >::operator()(), Kaskade::MartinsErrorEstimator< Functional, VariableSetDescription, ExtensionVariableSetDescription, ExtensionSpace, NormFunctional, LinearSystemSolver_H, LinearSystemSolver_L, LinearSolverA_H, LinearSolverA_L, RefinementStrategy >::operator()(), Kaskade::HierarchicalBasisErrorEstimator3< Functional, VariableSetDescription, ExtensionVariableSetDescription, ExtensionSpace, NormFunctional, LinearSolverLA, LinearSolverHA, LinearSolverLM, LinearSolverHM, lumpM, RefinementStrategy >::operator()(), and Kaskade::HierarchicalBasisErrorEstimator< Functional, ExtensionVariableSetDescription, ExtensionSpace, NormFunctional, AdjustRHS >::operator()().
|
inlinevirtual |
Implements Kaskade::AbstractFunctionSpaceElement.
Definition at line 241 of file newton_bridge.hh.
|
inlinevirtual |
Construction of a vector of the same type.
Implements Kaskade::AbstractFunctionSpaceElement.
Definition at line 208 of file newton_bridge.hh.
|
inlinevirtual |
Implements Kaskade::AbstractFunctionSpaceElement.
Definition at line 246 of file newton_bridge.hh.
Referenced by Kaskade::Bridge::Vector< Implementation >::read(), and Kaskade::Bridge::Vector< Implementation >::write().
|
inlineinherited |
Basic vector arithmetic.
Definition at line 84 of file abstract_interface.hh.
|
inlineinherited |
Scaling each component of the vector separately.
Definition at line 91 of file abstract_interface.hh.
|
inlineinherited |
Basic vector arithmetic.
Definition at line 80 of file abstract_interface.hh.
|
inlineinherited |
Basic vector arithmetic.
Definition at line 82 of file abstract_interface.hh.
|
inlinevirtual |
Optional output.
Reimplemented from Kaskade::AbstractFunctionSpaceElement.
Definition at line 251 of file newton_bridge.hh.
|
inlinevirtual |
Definition at line 226 of file newton_bridge.hh.
|
inlinevirtual |
Definition at line 221 of file newton_bridge.hh.
|
inlineinherited |
Shallow swap.
Definition at line 131 of file abstract_interface.hh.
Referenced by Kaskade::CompositeStep::updateIterate().
|
inlinevirtual |
Definition at line 236 of file newton_bridge.hh.
|
inlinevirtual |
Definition at line 231 of file newton_bridge.hh.
|
friend |
Get the implementation of an AbstractFunctionSpaceElement.
Definition at line 330 of file newton_bridge.hh.
Implementation Kaskade::Bridge::Vector< Implementation >::implementation |
Definition at line 320 of file newton_bridge.hh.
Referenced by Kaskade::Bridge::Vector< Implementation >::doapplyAsDualTo(), Kaskade::Bridge::Vector< Implementation >::get(), Kaskade::Bridge::Vector< Implementation >::getRole(), Kaskade::Bridge::Vector< Implementation >::print(), Kaskade::Bridge::Vector< Implementation >::read(), and Kaskade::Bridge::Vector< Implementation >::write().