ExprWithChildren is a base class for any evaluatable expression that has child nodes, for example, sums and unary operators. More...
Public Member Functions | |
| ExprWithChildren (const Array< RCP< ScalarExpr > > &children) | |
| construct with a list of child operands | |
| virtual | ~ExprWithChildren () |
| virtual dtor | |
| virtual void | setupEval (const EvalContext &context) const |
| Do preprocessing to set up sparse evaluation in the given region. | |
| virtual bool | isConstant () const |
| Determine whether this expression is constant. | |
| int | numChildren () const |
| Return the number of children. | |
| const EvaluatableExpr * | evaluatableChild (int i) const |
| downcast the i-th to an evaluatable expr | |
| const ScalarExpr * | scalarChild (int i) const |
| downcast the i-th to a scalar expr | |
| Expr | child (int i) const |
| Get a handle to the i-th child. | |
| virtual int | maxDiffOrderOnDiscreteFunctions () const |
| Find the maximum differentiation order acting on discrete functions in this expression. | |
| virtual bool | hasDiscreteFunctions () const |
| Indicate whether this expression contains discrete functions. | |
| virtual Set< MultipleDeriv > | internalFindW (int order, const EvalContext &context) const |
| virtual Set< MultipleDeriv > | internalFindC (int order, const EvalContext &context) const |
| Find spatially-constant functional derivatives. | |
| virtual Set< MultipleDeriv > | internalFindV (int order, const EvalContext &context) const |
| Find spatially-variable functional derivatives. | |
| virtual void | displayNonzeros (std::ostream &os, const EvalContext &context) const |
| const Set< MultiSet< int > > & | findQ_W (int order, const EvalContext &context) const |
| const Set< MultiSet< int > > & | findQ_C (int order, const EvalContext &context) const |
| const Set< MultiSet< int > > & | findQ_V (int order, const EvalContext &context) const |
| virtual Set< MultiSet< int > > | internalFindQ_W (int order, const EvalContext &context) const |
| virtual Set< MultiSet< int > > | internalFindQ_V (int order, const EvalContext &context) const |
| virtual Set< MultiSet< int > > | internalFindQ_C (int order, const EvalContext &context) const |
| const Set< MultiSet< int > > & | getI_N () const |
| Set< MultiSet< int > > | indexSetProduct (const Set< MultiSet< int > > &a, const Set< MultiSet< int > > &b) const |
| virtual bool | everyTermHasTestFunctions () const |
| Return true if any child returns true. | |
| virtual bool | hasTestFunctions () const |
| Test whether this expr contains a test function. | |
| virtual bool | hasUnkFunctions () const |
| Test whether this expr contains an unknown function. | |
| virtual void | showSparsity (std::ostream &os, const EvalContext &context) const |
| virtual void | getUnknowns (Set< int > &unkID, Array< Expr > &unks) const |
| Find all the unknown functions in this expression. | |
| virtual void | getTests (Set< int > &varID, Array< Expr > &vars) const |
| Find all the test functions in this expression. | |
| virtual int | countNodes () const |
| virtual bool | isLinear () const |
| virtual bool | isProduct () const |
| virtual bool | isIndependentOf (const Expr &u) const |
| Indicate whether the expression is independent of the given functions. | |
| Set< MultiSet< int > > | subsetContainingIndex (const Set< MultiSet< int > > &s, int index) const |
| virtual RCP< Array< Set < MultipleDeriv > > > | internalDetermineR (const EvalContext &context, const Array< Set< MultipleDeriv > > &RInput) const |
| bool | childIsRequired (int childIndex, int diffOrder, const EvalContext &context) const |
| Determine whether the given child is needed to compute derivatives of the given order. | |
| Set< MultipleDeriv > | product (const Array< int > &J, const Array< int > &K, DerivSubsetSpecifier dss, const EvalContext &context) const |
| virtual void | accumulateFuncSet (Set< int > &funcIDs, const Set< int > &activeSet) const |
| Append to the set of func IDs present in this expression. | |
| virtual void | registerSpatialDerivs (const EvalContext &context, const Set< MultiIndex > &miSet) const |
| virtual bool | lessThan (const ScalarExpr *other) const |
| Ordering operator for use in transforming exprs to standard form. | |
Static Private Member Functions | |
| static Map< int, Set< MultiSet < int > > > & | cachedI_N () |
Private Attributes | |
| Array< RCP< ScalarExpr > > | children_ |
| Array< Map< EvalContext, Set < MultiSet< int > > > > | contextToQWMap_ |
| Array< Map< EvalContext, Set < MultiSet< int > > > > | contextToQVMap_ |
| Array< Map< EvalContext, Set < MultiSet< int > > > > | contextToQCMap_ |
Related Functions | |
(Note that these are not member functions.) | |
| Array< Array< std::pair< int, Array< MultipleDeriv > > > > | chainRuleDerivsOfArgs (int nArgs, const MultiSet< int > &bSet, const MultipleDeriv &c) |
| Array< Array< Array< int > > > | bStructure (const Array< int > &b, const Array< Array< int > > &tmp) |
| Array< OrderedPair< Array < MultiSet< int > >, Array < MultipleDeriv > > > | chainRuleTerms (int s, const MultiSet< int > &lambda, const MultipleDeriv &nu) |
ExprWithChildren is a base class for any evaluatable expression that has child nodes, for example, sums and unary operators.
ExprWithChildren adds nothing new to the expr interface, but provides some common utilities for getting children and recursing to children.
Definition at line 53 of file SundanceExprWithChildren.hpp.
| ExprWithChildren::ExprWithChildren | ( | const Array< RCP< ScalarExpr > > & | children | ) |
construct with a list of child operands
Definition at line 52 of file SundanceExprWithChildren.cpp.
| virtual Sundance::ExprWithChildren::~ExprWithChildren | ( | ) | [inline, virtual] |
virtual dtor
Definition at line 60 of file SundanceExprWithChildren.hpp.
| void ExprWithChildren::accumulateFuncSet | ( | Set< int > & | funcIDs, |
| const Set< int > & | activeSet | ||
| ) | const [virtual] |
Append to the set of func IDs present in this expression.
Reimplemented from Sundance::FuncSetAccumulator.
Definition at line 132 of file SundanceExprWithChildren.cpp.
References children_.
| static Map<int, Set<MultiSet<int> > >& Sundance::ExprWithChildren::cachedI_N | ( | ) | [inline, static, private] |
Definition at line 218 of file SundanceExprWithChildren.hpp.
Referenced by getI_N().
| Expr Sundance::ExprWithChildren::child | ( | int | i | ) | const [inline] |
Get a handle to the i-th child.
Definition at line 82 of file SundanceExprWithChildren.hpp.
References children_, and Sundance::Expr::handle().
Referenced by Sundance::UnaryExpr::arg(), Sundance::BinaryExpr::left(), Sundance::BinaryExpr::right(), Sundance::UserDefOpElement::toText(), and Sundance::UserDefOpElement::toXML().
| bool ExprWithChildren::childIsRequired | ( | int | childIndex, |
| int | diffOrder, | ||
| const EvalContext & | context | ||
| ) | const |
Determine whether the given child is needed to compute derivatives of the given order.
Definition at line 800 of file SundanceExprWithChildren.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::Set< Key, Compare >::end(), and findQ_W().
Referenced by internalFindC(), internalFindQ_V(), and internalFindV().
| int ExprWithChildren::countNodes | ( | ) | const [virtual] |
Reimplemented from Sundance::EvaluatableExpr.
Definition at line 282 of file SundanceExprWithChildren.cpp.
References children_, Sundance::EvaluatableExpr::countNodes(), evaluatableChild(), and Sundance::EvaluatableExpr::nodesHaveBeenCounted().
| void ExprWithChildren::displayNonzeros | ( | std::ostream & | os, |
| const EvalContext & | context | ||
| ) | const [virtual] |
Reimplemented from Sundance::EvaluatableExpr.
Definition at line 946 of file SundanceExprWithChildren.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::Set< Key, Compare >::contains(), Sundance::EvaluatableExpr::displayNonzeros(), Sundance::Set< Key, Compare >::end(), evaluatableChild(), Sundance::EvaluatableExpr::findC(), Sundance::EvaluatableExpr::findR(), Sundance::EvaluatableExpr::findW(), numChildren(), and Sundance::ExprBase::toString().
| const EvaluatableExpr * ExprWithChildren::evaluatableChild | ( | int | i | ) | const |
downcast the i-th to an evaluatable expr
Definition at line 98 of file SundanceExprWithChildren.cpp.
References children_, and Sundance::ExprBase::toString().
Referenced by Sundance::ChainRuleEvaluator::ChainRuleEvaluator(), countNodes(), displayNonzeros(), Sundance::UnaryExpr::evaluatableArg(), everyTermHasTestFunctions(), getTests(), getUnknowns(), hasDiscreteFunctions(), hasTestFunctions(), hasUnkFunctions(), Sundance::ChainRuleEvaluator::init(), internalFindC(), internalFindQ_V(), internalFindV(), Sundance::BinaryExpr::leftEvaluatable(), maxDiffOrderOnDiscreteFunctions(), product(), registerSpatialDerivs(), Sundance::BinaryExpr::rightEvaluatable(), setupEval(), showSparsity(), and Sundance::UserDefOpCommonEvaluator::UserDefOpCommonEvaluator().
| bool ExprWithChildren::everyTermHasTestFunctions | ( | ) | const [virtual] |
Return true if any child returns true.
The sum expression will override this requiring all children to return true
Reimplemented from Sundance::ScalarExpr.
Reimplemented in Sundance::SumExpr.
Definition at line 204 of file SundanceExprWithChildren.cpp.
References children_, evaluatableChild(), and Sundance::ScalarExpr::everyTermHasTestFunctions().
| const Set< MultiSet< int > > & ExprWithChildren::findQ_C | ( | int | order, |
| const EvalContext & | context | ||
| ) | const |
Definition at line 668 of file SundanceExprWithChildren.cpp.
References contextToQCMap_, and internalFindQ_C().
Referenced by Sundance::ChainRuleEvaluator::init(), internalFindC(), and internalFindV().
| const Set< MultiSet< int > > & ExprWithChildren::findQ_V | ( | int | order, |
| const EvalContext & | context | ||
| ) | const |
Definition at line 657 of file SundanceExprWithChildren.cpp.
References contextToQVMap_, and internalFindQ_V().
Referenced by internalFindC(), internalFindQ_C(), and internalFindV().
| const Set< MultiSet< int > > & ExprWithChildren::findQ_W | ( | int | order, |
| const EvalContext & | context | ||
| ) | const |
Definition at line 638 of file SundanceExprWithChildren.cpp.
References contextToQWMap_, internalFindQ_W(), Sundance::EvalContext::setupVerbosity(), SUNDANCE_MSG3, and Sundance::DefaultObjectWithVerbosity::verb().
Referenced by childIsRequired(), Sundance::UserDefOpEvaluator::findRequiredOrders(), Sundance::ChainRuleEvaluator::init(), internalFindQ_C(), internalFindQ_V(), and internalFindW().
Definition at line 679 of file SundanceExprWithChildren.cpp.
References cachedI_N(), numChildren(), and Sundance::Set< Key, Compare >::put().
Find all the test functions in this expression.
Reimplemented from Sundance::ScalarExpr.
Definition at line 257 of file SundanceExprWithChildren.cpp.
References children_, Sundance::Set< Key, Compare >::contains(), Sundance::FunctionIdentifier::dofID(), evaluatableChild(), Sundance::FunctionWithID::fid(), Sundance::ScalarExpr::getTests(), and Sundance::Set< Key, Compare >::put().
Find all the unknown functions in this expression.
Reimplemented from Sundance::ScalarExpr.
Definition at line 234 of file SundanceExprWithChildren.cpp.
References children_, Sundance::Set< Key, Compare >::contains(), Sundance::FunctionIdentifier::dofID(), evaluatableChild(), Sundance::FunctionWithID::fid(), Sundance::ScalarExpr::getUnknowns(), and Sundance::Set< Key, Compare >::put().
| bool ExprWithChildren::hasDiscreteFunctions | ( | ) | const [virtual] |
Indicate whether this expression contains discrete functions.
Reimplemented from Sundance::EvaluatableExpr.
Definition at line 122 of file SundanceExprWithChildren.cpp.
References evaluatableChild(), Sundance::EvaluatableExpr::hasDiscreteFunctions(), and numChildren().
Referenced by Sundance::DiffOp::maxDiffOrderOnDiscreteFunctions().
| bool ExprWithChildren::hasTestFunctions | ( | ) | const [virtual] |
Test whether this expr contains a test function.
If any child contains a test, return true.
Reimplemented from Sundance::ScalarExpr.
Definition at line 214 of file SundanceExprWithChildren.cpp.
References children_, evaluatableChild(), and Sundance::ScalarExpr::hasTestFunctions().
| bool ExprWithChildren::hasUnkFunctions | ( | ) | const [virtual] |
Test whether this expr contains an unknown function.
If any child contains an unknown, return true.
Reimplemented from Sundance::ScalarExpr.
Definition at line 224 of file SundanceExprWithChildren.cpp.
References children_, evaluatableChild(), and Sundance::ScalarExpr::hasUnkFunctions().
| Set< MultiSet< int > > ExprWithChildren::indexSetProduct | ( | const Set< MultiSet< int > > & | a, |
| const Set< MultiSet< int > > & | b | ||
| ) | const |
Definition at line 693 of file SundanceExprWithChildren.cpp.
References Sundance::MultiSet< Key >::merge(), and Sundance::Set< Key, Compare >::put().
| RCP< Array< Set< MultipleDeriv > > > ExprWithChildren::internalDetermineR | ( | const EvalContext & | context, |
| const Array< Set< MultipleDeriv > > & | RInput | ||
| ) | const [virtual] |
Reimplemented from Sundance::EvaluatableExpr.
Reimplemented in Sundance::DiffOp, and Sundance::ExplicitFunctionalDerivativeElement.
Definition at line 812 of file SundanceExprWithChildren.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::Set< Key, Compare >::end(), Sundance::Set< Key, Compare >::merge(), Sundance::Set< Key, Compare >::put(), Sundance::EvalContext::setupVerbosity(), Sundance::Set< Key, Compare >::size(), SUNDANCE_MSG3, SUNDANCE_MSG5, and Sundance::toString().
| Set< MultipleDeriv > ExprWithChildren::internalFindC | ( | int | order, |
| const EvalContext & | context | ||
| ) | const [virtual] |
Find spatially-constant functional derivatives.
Default implementation returns the empty set
Reimplemented from Sundance::EvaluatableExpr.
Reimplemented in Sundance::DiffOp, and Sundance::ExplicitFunctionalDerivativeElement.
Definition at line 419 of file SundanceExprWithChildren.cpp.
References Sundance::Set< Key, Compare >::begin(), childIsRequired(), Sundance::compositions(), Sundance::ConstantNonzeros, Sundance::Set< Key, Compare >::end(), evaluatableChild(), findQ_C(), findQ_V(), Sundance::EvaluatableExpr::findR(), Sundance::EvaluatableExpr::findV(), Sundance::Set< Key, Compare >::intersection(), Sundance::Set< Key, Compare >::merge(), numChildren(), product(), Sundance::RequiredNonzeros, Sundance::Set< Key, Compare >::setDifference(), Sundance::Set< Key, Compare >::setUnion(), Sundance::EvalContext::setupVerbosity(), SUNDANCE_MSG3, SUNDANCE_MSG5, Sundance::ExprBase::toString(), and Sundance::DefaultObjectWithVerbosity::verb().
| Set< MultiSet< int > > ExprWithChildren::internalFindQ_C | ( | int | order, |
| const EvalContext & | context | ||
| ) | const [virtual] |
Definition at line 734 of file SundanceExprWithChildren.cpp.
References findQ_V(), findQ_W(), isLinear(), and Sundance::Set< Key, Compare >::setDifference().
Referenced by findQ_C().
| Set< MultiSet< int > > ExprWithChildren::internalFindQ_V | ( | int | order, |
| const EvalContext & | context | ||
| ) | const [virtual] |
Reimplemented in Sundance::ProductExpr.
Definition at line 709 of file SundanceExprWithChildren.cpp.
References childIsRequired(), evaluatableChild(), findQ_W(), Sundance::EvaluatableExpr::findV(), isLinear(), numChildren(), Sundance::EvalContext::setupVerbosity(), SUNDANCE_MSG3, and Sundance::DefaultObjectWithVerbosity::verb().
Referenced by findQ_V().
| Set< MultiSet< int > > ExprWithChildren::internalFindQ_W | ( | int | order, |
| const EvalContext & | context | ||
| ) | const [virtual] |
Reimplemented in Sundance::ProductExpr, and Sundance::UnaryMinus.
Definition at line 744 of file SundanceExprWithChildren.cpp.
References Sundance::Set< Key, Compare >::put(), Sundance::EvalContext::setupVerbosity(), Sundance::Set< Key, Compare >::size(), and SUNDANCE_MSG3.
Referenced by findQ_W().
| Set< MultipleDeriv > ExprWithChildren::internalFindV | ( | int | order, |
| const EvalContext & | context | ||
| ) | const [virtual] |
Find spatially-variable functional derivatives.
Default implementation returns R
Reimplemented from Sundance::EvaluatableExpr.
Reimplemented in Sundance::DiffOp, and Sundance::ExplicitFunctionalDerivativeElement.
Definition at line 327 of file SundanceExprWithChildren.cpp.
References Sundance::Set< Key, Compare >::begin(), childIsRequired(), Sundance::compositions(), Sundance::ConstantNonzeros, Sundance::Set< Key, Compare >::end(), evaluatableChild(), findQ_C(), findQ_V(), Sundance::EvaluatableExpr::findR(), Sundance::EvaluatableExpr::findV(), Sundance::Set< Key, Compare >::intersection(), Sundance::Set< Key, Compare >::merge(), numChildren(), product(), Sundance::RequiredNonzeros, Sundance::Set< Key, Compare >::setDifference(), Sundance::EvalContext::setupVerbosity(), SUNDANCE_MSG3, SUNDANCE_MSG5, Sundance::ExprBase::toString(), and Sundance::DefaultObjectWithVerbosity::verb().
| Set< MultipleDeriv > ExprWithChildren::internalFindW | ( | int | order, |
| const EvalContext & | context | ||
| ) | const [virtual] |
Implements Sundance::EvaluatableExpr.
Reimplemented in Sundance::DiffOp, and Sundance::ExplicitFunctionalDerivativeElement.
Definition at line 534 of file SundanceExprWithChildren.cpp.
References Sundance::AllNonzeros, Sundance::Set< Key, Compare >::begin(), Sundance::compositions(), Sundance::Set< Key, Compare >::end(), findQ_W(), isLinear(), isProduct(), Sundance::Set< Key, Compare >::merge(), numChildren(), product(), Sundance::Set< Key, Compare >::put(), Sundance::EvalContext::setupVerbosity(), Sundance::Set< Key, Compare >::size(), SUNDANCE_MSG3, Sundance::ExprBase::toString(), and Sundance::DefaultObjectWithVerbosity::verb().
| bool ExprWithChildren::isConstant | ( | ) | const [virtual] |
Determine whether this expression is constant.
It will be constant if all children are constant.
Reimplemented from Sundance::ScalarExpr.
Definition at line 80 of file SundanceExprWithChildren.cpp.
References children_.
Referenced by Sundance::RearrangeLeftSumWithConstant::doTransform(), Sundance::RearrangeLeftProductWithConstant::doTransform(), and Sundance::RearrangeRightProductWithConstant::doTransform().
| bool ExprWithChildren::isIndependentOf | ( | const Expr & | u | ) | const [virtual] |
Indicate whether the expression is independent of the given functions.
Reimplemented from Sundance::ScalarExpr.
Definition at line 89 of file SundanceExprWithChildren.cpp.
References children_.
| virtual bool Sundance::ExprWithChildren::isLinear | ( | ) | const [inline, virtual] |
Reimplemented in Sundance::SumExpr, and Sundance::UnaryMinus.
Definition at line 173 of file SundanceExprWithChildren.hpp.
Referenced by internalFindQ_C(), internalFindQ_V(), and internalFindW().
| virtual bool Sundance::ExprWithChildren::isProduct | ( | ) | const [inline, virtual] |
Reimplemented in Sundance::ProductExpr.
Definition at line 176 of file SundanceExprWithChildren.hpp.
Referenced by internalFindW().
| bool ExprWithChildren::lessThan | ( | const ScalarExpr * | other | ) | const [virtual] |
Ordering operator for use in transforming exprs to standard form.
Implements Sundance::ScalarExpr.
Reimplemented in Sundance::BinaryExpr, Sundance::DerivOfSymbFunc, Sundance::DiffOp, Sundance::ExplicitFunctionalDerivativeElement, and Sundance::NonlinearUnaryOp.
Definition at line 60 of file SundanceExprWithChildren.cpp.
References children_, Sundance::Expr::handle(), and Sundance::Expr::lessThan().
Referenced by Sundance::ExplicitFunctionalDerivativeElement::lessThan().
| int ExprWithChildren::maxDiffOrderOnDiscreteFunctions | ( | ) | const [virtual] |
Find the maximum differentiation order acting on discrete functions in this expression.
Reimplemented from Sundance::EvaluatableExpr.
Reimplemented in Sundance::DiffOp.
Definition at line 111 of file SundanceExprWithChildren.cpp.
References evaluatableChild(), Sundance::EvaluatableExpr::maxDiffOrderOnDiscreteFunctions(), and numChildren().
| int Sundance::ExprWithChildren::numChildren | ( | ) | const [inline] |
Return the number of children.
Definition at line 72 of file SundanceExprWithChildren.hpp.
References children_.
Referenced by displayNonzeros(), getI_N(), hasDiscreteFunctions(), Sundance::ChainRuleEvaluator::init(), internalFindC(), internalFindQ_V(), internalFindV(), internalFindW(), maxDiffOrderOnDiscreteFunctions(), Sundance::UserDefOpElement::toText(), Sundance::UserDefOpElement::toXML(), and Sundance::UserDefOpEvaluator::UserDefOpEvaluator().
| Set< MultipleDeriv > ExprWithChildren::product | ( | const Array< int > & | J, |
| const Array< int > & | K, | ||
| DerivSubsetSpecifier | dss, | ||
| const EvalContext & | context | ||
| ) | const |
Definition at line 304 of file SundanceExprWithChildren.cpp.
References evaluatableChild(), Sundance::EvaluatableExpr::findDerivSubset(), and Sundance::EvaluatableExpr::setProduct().
Referenced by internalFindC(), internalFindV(), and internalFindW().
| void ExprWithChildren::registerSpatialDerivs | ( | const EvalContext & | context, |
| const Set< MultiIndex > & | miSet | ||
| ) | const [virtual] |
Reimplemented from Sundance::EvaluatableExpr.
Reimplemented in Sundance::DiffOp.
Definition at line 141 of file SundanceExprWithChildren.cpp.
References children_, evaluatableChild(), and Sundance::EvaluatableExpr::registerSpatialDerivs().
| const ScalarExpr* Sundance::ExprWithChildren::scalarChild | ( | int | i | ) | const [inline] |
downcast the i-th to a scalar expr
Definition at line 78 of file SundanceExprWithChildren.hpp.
References children_.
Referenced by Sundance::BinaryExpr::leftScalar(), and Sundance::BinaryExpr::rightScalar().
| void ExprWithChildren::setupEval | ( | const EvalContext & | context | ) | const [virtual] |
Do preprocessing to set up sparse evaluation in the given region.
Reimplemented from Sundance::EvaluatableExpr.
Definition at line 151 of file SundanceExprWithChildren.cpp.
References children_, Sundance::EvaluatorFactory::createEvaluator(), evaluatableChild(), Sundance::EvaluatableExpr::evaluators(), Sundance::Map< Key, Value, Compare >::put(), Sundance::EvaluatableExpr::setupEval(), Sundance::EvalContext::setupVerbosity(), Sundance::EvaluatableExpr::sparsitySuperset(), SUNDANCE_MSG3, Sundance::ExprBase::toString(), and Sundance::DefaultObjectWithVerbosity::verb().
| void ExprWithChildren::showSparsity | ( | std::ostream & | os, |
| const EvalContext & | context | ||
| ) | const [virtual] |
Reimplemented from Sundance::EvaluatableExpr.
Definition at line 189 of file SundanceExprWithChildren.cpp.
References children_, evaluatableChild(), Sundance::EvaluatableExpr::showSparsity(), Sundance::EvaluatableExpr::sparsitySuperset(), and Sundance::ExprBase::toString().
| Set<MultiSet<int> > Sundance::ExprWithChildren::subsetContainingIndex | ( | const Set< MultiSet< int > > & | s, |
| int | index | ||
| ) | const |
| Array< Array< Array< int > > > bStructure | ( | const Array< int > & | b, |
| const Array< Array< int > > & | tmp | ||
| ) | [related] |
Definition at line 1086 of file SundanceExprWithChildren.cpp.
| Array< Array< std::pair< int, Array< MultipleDeriv > > > > chainRuleDerivsOfArgs | ( | int | nArgs, |
| const MultiSet< int > & | bSet, | ||
| const MultipleDeriv & | c | ||
| ) | [related] |
Definition at line 979 of file SundanceExprWithChildren.cpp.
| Array< OrderedPair< Array< MultiSet< int > >, Array< MultipleDeriv > > > chainRuleTerms | ( | int | s, |
| const MultiSet< int > & | lambda, | ||
| const MultipleDeriv & | nu | ||
| ) | [related] |
Return the set of (k,l) tuples appearing in the Constantine and Savits formulation of the multivariable, multiargument chain rule.
| s | |
| lambda | |
| nu |
Definition at line 1108 of file SundanceExprWithChildren.cpp.
Array<RCP<ScalarExpr> > Sundance::ExprWithChildren::children_ [private] |
Definition at line 216 of file SundanceExprWithChildren.hpp.
Referenced by accumulateFuncSet(), child(), countNodes(), evaluatableChild(), everyTermHasTestFunctions(), getTests(), getUnknowns(), hasTestFunctions(), hasUnkFunctions(), isConstant(), isIndependentOf(), lessThan(), numChildren(), registerSpatialDerivs(), scalarChild(), setupEval(), and showSparsity().
Array<Map<EvalContext, Set<MultiSet<int> > > > Sundance::ExprWithChildren::contextToQCMap_ [mutable, private] |
Definition at line 223 of file SundanceExprWithChildren.hpp.
Referenced by findQ_C().
Array<Map<EvalContext, Set<MultiSet<int> > > > Sundance::ExprWithChildren::contextToQVMap_ [mutable, private] |
Definition at line 222 of file SundanceExprWithChildren.hpp.
Referenced by findQ_V().
Array<Map<EvalContext, Set<MultiSet<int> > > > Sundance::ExprWithChildren::contextToQWMap_ [mutable, private] |
Definition at line 221 of file SundanceExprWithChildren.hpp.
Referenced by findQ_W().