Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
Sundance::FunctionalPolynomial Class Reference
Inheritance diagram for Sundance::FunctionalPolynomial:
Sundance::EvaluatableExpr Sundance::ScalarExpr Sundance::EvaluatorFactory Sundance::FuncSetAccumulator Sundance::ObjectWithClassVerbosity< EvaluatableExpr > Sundance::ExprBase Playa::ObjectWithVerbosity Playa::Handleable< ExprBase >

List of all members.

Public Member Functions

 FunctionalPolynomial (const RCP< ScalarExpr > &expr)
 FunctionalPolynomial (const Map< int, RCP< ScalarExpr > > &funcs, const Map< int, Set< MultiIndex > > &funcMultiIndices, const Array< Map< MultipleDeriv, RCP< ScalarExpr > > > &coeffs)
virtual ~FunctionalPolynomial ()
virtual Set< MultipleDerivinternalFindW (int order, const EvalContext &context) const
virtual RCP< ExprBasegetRcp ()
virtual EvaluatorcreateEvaluator (const EvaluatableExpr *expr, const EvalContext &context) const
RCP< FunctionalPolynomialaddPoly (const FunctionalPolynomial *other, int sign) const
RCP< FunctionalPolynomialmultiplyPoly (const FunctionalPolynomial *other) const
RCP< FunctionalPolynomialmultiplyScalar (const RCP< ScalarExpr > &alpha) const
RCP< FunctionalPolynomialaddFunction (const RCP< ScalarExpr > &u, int sign) const
virtual std::ostream & toText (std::ostream &os, bool paren) const
virtual XMLObject toXML () const
virtual bool lessThan (const ScalarExpr *other) const

Static Public Member Functions

static bool isConvertibleToPoly (const ScalarExpr *expr)
static RCP< FunctionalPolynomialtoPoly (const RCP< ScalarExpr > &expr)

Private Member Functions

Set< DerivfindFuncsForSummation (const Set< MultipleDeriv > &prevSet, const MultipleDeriv &thisSet) const
MultipleDeriv successorTerm (const MultipleDeriv &md) const
void stepRecurrence (int level, const Map< MultipleDeriv, std::string > &sPrev, Map< MultipleDeriv, std::string > &sCurr) const
std::string evalString () const

Private Attributes

Map< int, RCP< ScalarExpr > > funcs_
Map< int, Set< MultiIndex > > funcMultiIndices_
Array< Map< MultipleDeriv, RCP
< ScalarExpr > > > 
coeffs_
Array< Set< MultipleDeriv > > keys_

Detailed Description

Specialized class for representing polynomials in symbolic functions and their derivatives.

Definition at line 61 of file SundanceFunctionalPolynomial.hpp.


Constructor & Destructor Documentation

FunctionalPolynomial::FunctionalPolynomial ( const Map< int, RCP< ScalarExpr > > &  funcs,
const Map< int, Set< MultiIndex > > &  funcMultiIndices,
const Array< Map< MultipleDeriv, RCP< ScalarExpr > > > &  coeffs 
)

ctor

Definition at line 116 of file SundanceFunctionalPolynomial.cpp.

References coeffs_, and keys_.

virtual destructor

Definition at line 72 of file SundanceFunctionalPolynomial.hpp.


Member Function Documentation

RCP< FunctionalPolynomial > FunctionalPolynomial::addFunction ( const RCP< ScalarExpr > &  u,
int  sign 
) const

Definition at line 284 of file SundanceFunctionalPolynomial.cpp.

References addPoly(), and FunctionalPolynomial().

RCP< FunctionalPolynomial > FunctionalPolynomial::addPoly ( const FunctionalPolynomial other,
int  sign 
) const
Evaluator * FunctionalPolynomial::createEvaluator ( const EvaluatableExpr expr,
const EvalContext context 
) const [virtual]

Implements Sundance::EvaluatorFactory.

Definition at line 322 of file SundanceFunctionalPolynomial.cpp.

string FunctionalPolynomial::evalString ( ) const [private]

Definition at line 502 of file SundanceFunctionalPolynomial.cpp.

References coeffs_, Playa::Out::os(), and stepRecurrence().

Referenced by toText().

Set< Deriv > FunctionalPolynomial::findFuncsForSummation ( const Set< MultipleDeriv > &  prevSet,
const MultipleDeriv thisSet 
) const [private]
virtual RCP<ExprBase> Sundance::FunctionalPolynomial::getRcp ( ) [inline, virtual]

Implements Playa::Handleable< ExprBase >.

Definition at line 82 of file SundanceFunctionalPolynomial.hpp.

Set< MultipleDeriv > FunctionalPolynomial::internalFindW ( int  order,
const EvalContext context 
) const [virtual]

Implements Sundance::EvaluatableExpr.

Definition at line 139 of file SundanceFunctionalPolynomial.cpp.

bool FunctionalPolynomial::isConvertibleToPoly ( const ScalarExpr expr) [static]
bool FunctionalPolynomial::lessThan ( const ScalarExpr other) const [virtual]

Ordering operator for use in transforming exprs to standard form

Implements Sundance::ScalarExpr.

Definition at line 533 of file SundanceFunctionalPolynomial.cpp.

void FunctionalPolynomial::stepRecurrence ( int  level,
const Map< MultipleDeriv, std::string > &  sPrev,
Map< MultipleDeriv, std::string > &  sCurr 
) const [private]

Given a term's key, find the term that will appear as its successor in the evaluation recurrence.

Definition at line 427 of file SundanceFunctionalPolynomial.cpp.

References Sundance::MultiSet< Key >::put().

RCP< FunctionalPolynomial > FunctionalPolynomial::toPoly ( const RCP< ScalarExpr > &  expr) [static]
std::ostream & FunctionalPolynomial::toText ( std::ostream &  os,
bool  paren 
) const [virtual]

Write a simple text description suitable for output to a terminal

Implements Sundance::ExprBase.

Definition at line 358 of file SundanceFunctionalPolynomial.cpp.

References evalString().

XMLObject FunctionalPolynomial::toXML ( ) const [virtual]

Write in XML

Implements Sundance::ExprBase.

Definition at line 365 of file SundanceFunctionalPolynomial.cpp.

References coeffs_, Sundance::Expr::handle(), and Sundance::Expr::toXML().


Member Data Documentation

Definition at line 131 of file SundanceFunctionalPolynomial.hpp.

Referenced by FunctionalPolynomial().

Site Contact