Sundance::Expr Class Reference

User-level expression class. More...

Inheritance diagram for Sundance::Expr:

Playa::Handle< ExprBase >

List of all members.

Public Member Functions

 Expr ()
 Empty ctor.
 Expr (Handleable< ExprBase > *rawPtr)
 Construct a Expr with a raw pointer to a ExprBase.
 Expr (const RefCountPtr< ExprBase > &smartPtr)
 Construct a Expr with a smart pointer to a ExprBase.
 Expr (const double &c)
 Construct with a constant.
 Expr (const std::complex< double > &c)
 Construct with a complex constant.
Expr operator+ (const Expr &other) const
 Add two expressions.
Expr operator- (const Expr &other) const
 Subtract two expressions.
Expr operator* (const Expr &other) const
 Multiply two expressions.
Expr operator/ (const Expr &other) const
 Divide one expression by another.
Expr operator/ (const double &other) const
 Divide an expression by a double.
Expr operator/ (const std::complex< double > &other) const
 Divide an expression by a complex.
Expr operator- () const
 Unary minus operator.
Expr real () const
 Return real part of a complex expression.
Expr imag () const
 Return imaginary part of a complex expression.
Expr conj () const
 Return complex conjugate.
const Exproperator[] (int i) const
 List element accessor.
int size () const
 Number of elements in top level of list.
int totalSize () const
 Total number of elements in list.
void append (const Expr &expr)
 Append a new element to this list.
Expr flatten () const
 Flatten this list.
Expr flattenSpectral () const
 Flatten list and spectral structure.
std::string toString () const
XMLObject toXML () const
bool isComplex () const
bool isSpectral () const
bool isTestElement () const
bool isUnknownElement () const
void setParameterValue (const double &value)
double getParameterValue () const
bool isIndependentOf (const Expr &u) const
 Indicate whether the expression is independent of the given functions.
bool isLinearInTests () const
 Indicate whether the expression is nonlinear with respect to test functions.
bool everyTermHasTestFunctions () const
 Indicate whether every term in the expression contains test functions.
bool hasTestFunctions () const
 Indicate whether the expression contains test functions.
bool isLinearForm (const Expr &u) const
 Indicate whether the expression is linear in the given functions.
bool isQuadraticForm (const Expr &u) const
 Indicate whether the expression is quadratic in the given functions.
void getUnknowns (Set< int > &unkID, Array< Expr > &unks) const
 Find the unknown functions appearing in this expression.
void getTests (Set< int > &testID, Array< Expr > &tests) const
 Find the test functions appearing in this expression.
bool lessThan (const Expr &other) const
 Comparison operator for ordering expr trees, DO NOT use for comparison of numerical values.
bool operator< (const Expr &other) const
 Comparison operator for ordering expr trees, DO NOT use for comparison of numerical values.
bool sameAs (const Expr &other) const
 Equality test operator for ordering expr trees, DO NOT use for comparison of numerical values.
Sundance::Map< Expr, int > getSumTree () const
const ScalarExprscalarExpr () const
const FuncElementBasefuncElement () const

Static Public Member Functions

static bool & evaluationCachingOn ()
 Turn evaluation caching on.
static bool & showAllParens ()
 Show parentheses around every pair of operands.
static Expr handle (const RCP< ExprBase > &ptr)
 Create a new handle for an existing ptr.
static Time & opTimer ()
static Time & outputTimer ()

Private Member Functions

Expr sum (const Expr &other, int sign) const
 Add two scalar expressions.
Expr multiply (const Expr &other) const
 Multiply two scalar expressions.
Expr divide (const Expr &other) const
 Divide two scalar expressions.
bool tryAddComplex (const Expr &L, const Expr &R, int sign, Expr &rtn) const
 Try transformations of complex addition.
bool tryMultiplyComplex (const Expr &L, const Expr &R, Expr &rtn) const
 Try transformations of complex multiplication.

Related Functions

(Note that these are not member functions.)

Expr EssentialBC (const Handle< CellFilterStub > &domain, const Expr &integrand, const WatchFlag &watch=WatchFlag())
Expr EssentialBC (const Handle< CellFilterStub > &domain, const Expr &integrand, const Handle< QuadratureFamilyStub > &quad, const WatchFlag &watch=WatchFlag())
Expr EssentialBC (const Handle< CellFilterStub > &domain, const Expr &integrand, const Handle< QuadratureFamilyStub > &quad, const ParametrizedCurve &curve, const WatchFlag &watch=WatchFlag())
std::ostream & operator<< (std::ostream &os, const Expr &e)
Expr operator+ (const double &a, const Expr &x)
Expr operator- (const double &a, const Expr &x)
Expr operator* (const double &a, const Expr &x)
Expr operator/ (const double &a, const Expr &x)
Expr operator+ (const std::complex< double > &a, const Expr &x)
Expr operator- (const std::complex< double > &a, const Expr &x)
Expr operator* (const std::complex< double > &a, const Expr &x)
Expr operator/ (const std::complex< double > &a, const Expr &x)
Expr Re (const Expr &a)
Expr Im (const Expr &a)
Expr conj (const Expr &a)
Expr Complex (const Expr &real, const Expr &imag)
Expr List (const Expr &a)
Expr List (const Expr &a, const Expr &b)
Expr List (const Expr &a, const Expr &b, const Expr &c)
Expr List (const Expr &a, const Expr &b, const Expr &c, const Expr &d)
Expr List (const Expr &a, const Expr &b, const Expr &c, const Expr &d, const Expr &e)
Expr List (const Expr &a, const Expr &b, const Expr &c, const Expr &d, const Expr &e, const Expr &f)
Expr List (const Expr &a, const Expr &b, const Expr &c, const Expr &d, const Expr &e, const Expr &f, const Expr &g)
Expr List (const Expr &a, const Expr &b, const Expr &c, const Expr &d, const Expr &e, const Expr &f, const Expr &g, const Expr &h)
Expr List (const Expr &a, const Expr &b, const Expr &c, const Expr &d, const Expr &e, const Expr &f, const Expr &g, const Expr &h, const Expr &i)
Expr List (const Expr &a, const Expr &b, const Expr &c, const Expr &d, const Expr &e, const Expr &f, const Expr &g, const Expr &h, const Expr &i, const Expr &j)
Expr FunctionalDerivative (const Expr &F, const Expr &u)
Expr gradient (int dim)
Expr div (const Expr &f)
Expr cross (const Expr &a, const Expr &b)
Expr curl (const Expr &f)
Expr colonProduct (const Expr &A, const Expr &B)
Expr outerProduct (const Expr &a, const Expr &b)
bool isSquareMatrix (const Expr &x, int &N)
bool isVector (const Expr &x, int &N)
Elementary math functions
Expr reciprocal (const Expr &arg)
Expr fabs (const Expr &arg)
Expr sign (const Expr &arg)
Expr exp (const Expr &arg)
Expr log (const Expr &arg)
Expr sqrt (const Expr &arg)
Expr sin (const Expr &arg)
Expr cos (const Expr &arg)
Expr tan (const Expr &arg)
Expr asin (const Expr &arg)
Expr acos (const Expr &arg)
Expr atan (const Expr &arg)
Expr sinh (const Expr &arg)
Expr cosh (const Expr &arg)
Expr tanh (const Expr &arg)
Expr asinh (const Expr &arg)
Expr acosh (const Expr &arg)
Expr atanh (const Expr &arg)


Detailed Description

User-level expression class.

Expr is a handle to a reference-counted pointer to a ExprBase subtype. As such, expression copies and assignments are shallow.

Lists

Expressions can be grouped into lists with an arbitrary structure. Important special cases are scalar, vector, and tensor expressions.

Creating Lists

Probing Lists

Manipulating Lists

Arithmetic Operations

Expression Subtypes

The user-level expression subtypes are listed below, along with examples of their use.

Definition at line 195 of file SundanceExpr.hpp.


Constructor & Destructor Documentation

Sundance::Expr::Expr (  )  [inline]

Empty ctor.

Definition at line 199 of file SundanceExpr.hpp.

Referenced by handle().

Sundance::Expr::Expr ( Handleable< ExprBase > *  rawPtr  )  [inline]

Construct a Expr with a raw pointer to a ExprBase.

Definition at line 199 of file SundanceExpr.hpp.

Sundance::Expr::Expr ( const RefCountPtr< ExprBase > &  smartPtr  )  [inline]

Construct a Expr with a smart pointer to a ExprBase.

Definition at line 199 of file SundanceExpr.hpp.

Expr::Expr ( const double &  c  ) 

Construct with a constant.

Creates a ConstantExpr.

Definition at line 102 of file SundanceExpr.cpp.

Expr::Expr ( const std::complex< double > &  c  ) 

Construct with a complex constant.

Creates a ComplexExpr.

Definition at line 106 of file SundanceExpr.cpp.


Member Function Documentation

void Expr::append ( const Expr expr  ) 

Append a new element to this list.

Definition at line 674 of file SundanceExpr.cpp.

References Sundance::ListExpr::append(), and Playa::Handle< ExprBase >::ptr().

Referenced by Sundance::ListExpr::flatten(), and Sundance::ListExpr::join().

Expr Expr::conj (  )  const

Return complex conjugate.

Definition at line 816 of file SundanceExpr.cpp.

References imag(), isComplex(), real(), and size().

Referenced by conj(), and operator/().

Expr Expr::divide ( const Expr other  )  const [private]

Divide two scalar expressions.

Definition at line 468 of file SundanceExpr.cpp.

References Playa::Handle< PointerType >::ptr().

Referenced by operator/().

static bool& Sundance::Expr::evaluationCachingOn (  )  [inline, static]

Turn evaluation caching on.

Definition at line 327 of file SundanceExpr.hpp.

bool Expr::everyTermHasTestFunctions (  )  const

Indicate whether every term in the expression contains test functions.

Definition at line 903 of file SundanceExpr.cpp.

References Sundance::ScalarExpr::everyTermHasTestFunctions(), Playa::Handle< ExprBase >::ptr(), and scalarExpr().

Referenced by Sundance::SumOfIntegrals::everyTermHasTestFunctions().

Expr Expr::flatten (  )  const

Expr Expr::flattenSpectral (  )  const

Flatten list and spectral structure.

Definition at line 712 of file SundanceExpr.cpp.

References flatten(), and size().

Referenced by Sundance::LinearProblem::LinearProblem(), and Sundance::NLOp::NLOp().

const FuncElementBase * Expr::funcElement (  )  const

Definition at line 981 of file SundanceExpr.cpp.

References Playa::Handle< ExprBase >::ptr().

double Expr::getParameterValue (  )  const

Sundance::Map< Expr, int > Expr::getSumTree (  )  const

void Expr::getTests ( Set< int > &  testID,
Array< Expr > &  tests 
) const

void Expr::getUnknowns ( Set< int > &  unkID,
Array< Expr > &  unks 
) const

static Expr Sundance::Expr::handle ( const RCP< ExprBase > &  ptr  )  [inline, static]

bool Expr::hasTestFunctions (  )  const

Expr Expr::imag (  )  const

Return imaginary part of a complex expression.

Definition at line 793 of file SundanceExpr.cpp.

References Sundance::ComplexExpr::imag(), isComplex(), Playa::Handle< ExprBase >::ptr(), and size().

Referenced by conj(), Im(), operator-(), operator/(), and tryAddComplex().

bool Expr::isComplex (  )  const

bool Expr::isIndependentOf ( const Expr u  )  const

Indicate whether the expression is independent of the given functions.

Definition at line 856 of file SundanceExpr.cpp.

References Sundance::ScalarExpr::isIndependentOf(), Playa::Handle< ExprBase >::ptr(), and scalarExpr().

Referenced by Sundance::SumOfIntegrals::isIndependentOf().

bool Expr::isLinearForm ( const Expr u  )  const

Indicate whether the expression is linear in the given functions.

Definition at line 865 of file SundanceExpr.cpp.

References Sundance::ScalarExpr::isLinearForm(), Playa::Handle< ExprBase >::ptr(), and scalarExpr().

Referenced by Sundance::SumOfIntegrals::isLinearForm().

bool Expr::isLinearInTests (  )  const

Indicate whether the expression is nonlinear with respect to test functions.

Definition at line 885 of file SundanceExpr.cpp.

References Sundance::ScalarExpr::isLinearInTests(), Playa::Handle< ExprBase >::ptr(), and scalarExpr().

Referenced by Sundance::SumOfIntegrals::isLinearInTests().

bool Expr::isQuadraticForm ( const Expr u  )  const

Indicate whether the expression is quadratic in the given functions.

Definition at line 875 of file SundanceExpr.cpp.

References Sundance::ScalarExpr::isQuadraticForm(), Playa::Handle< ExprBase >::ptr(), and scalarExpr().

Referenced by Sundance::SumOfIntegrals::isQuadraticForm().

bool Expr::isSpectral (  )  const

Definition at line 118 of file SundanceExpr.cpp.

References Playa::Handle< ExprBase >::ptr().

Referenced by operator/().

bool Expr::isTestElement (  )  const

Definition at line 911 of file SundanceExpr.cpp.

References Playa::Handle< ExprBase >::ptr().

bool Expr::isUnknownElement (  )  const

Definition at line 919 of file SundanceExpr.cpp.

References Playa::Handle< ExprBase >::ptr().

bool Expr::lessThan ( const Expr other  )  const

Comparison operator for ordering expr trees, DO NOT use for comparison of numerical values.

Definition at line 155 of file SundanceExpr.cpp.

References Playa::Handle< PointerType >::ptr(), Playa::Handle< ExprBase >::ptr(), and toString().

Referenced by Sundance::ReorderSum::doTransform(), Sundance::ExprWithChildren::lessThan(), operator<(), and sameAs().

Expr Expr::multiply ( const Expr other  )  const [private]

Expr Expr::operator* ( const Expr other  )  const

Multiply two expressions.

The operands must have list structures such that the product can be interpreted as a scalar-vector product or as an inner product between vectors or tensors. The multiplication operator is also used to represent the application of a differential operator.

Definition at line 385 of file SundanceExpr.cpp.

References multiply(), opTimer(), prodTimer(), size(), toString(), totalSize(), and tryMultiplyComplex().

Referenced by operator/().

Expr Expr::operator+ ( const Expr other  )  const

Add two expressions.

The operands must have identical list structures.

Definition at line 286 of file SundanceExpr.cpp.

References opTimer(), size(), sum(), sumTimer(), and tryAddComplex().

Expr Expr::operator- (  )  const

Expr Expr::operator- ( const Expr other  )  const

Subtract two expressions.

The operands must have identical list structures.

Definition at line 316 of file SundanceExpr.cpp.

References opTimer(), size(), sum(), sumTimer(), and tryAddComplex().

Expr Sundance::Expr::operator/ ( const std::complex< double > &  other  )  const [inline]

Divide an expression by a complex.

Definition at line 230 of file SundanceExpr.hpp.

References operator*().

Expr Sundance::Expr::operator/ ( const double &  other  )  const [inline]

Divide an expression by a double.

Definition at line 226 of file SundanceExpr.hpp.

References operator*().

Expr Expr::operator/ ( const Expr other  )  const

Divide one expression by another.

The right operand must be a scalar.

Definition at line 581 of file SundanceExpr.cpp.

References conj(), divide(), imag(), isComplex(), isSpectral(), opTimer(), real(), size(), and toString().

bool Expr::operator< ( const Expr other  )  const

Comparison operator for ordering expr trees, DO NOT use for comparison of numerical values.

Definition at line 150 of file SundanceExpr.cpp.

References lessThan().

const Expr & Expr::operator[] ( int  i  )  const

static Time& Sundance::Expr::opTimer (  )  [inline, static]

Definition at line 339 of file SundanceExpr.hpp.

Referenced by operator*(), operator+(), operator-(), and operator/().

static Time& Sundance::Expr::outputTimer (  )  [inline, static]

Definition at line 346 of file SundanceExpr.hpp.

Referenced by toString(), and toXML().

Expr Expr::real (  )  const

Return real part of a complex expression.

Definition at line 771 of file SundanceExpr.cpp.

References isComplex(), Playa::Handle< ExprBase >::ptr(), Sundance::ComplexExpr::real(), and size().

Referenced by conj(), operator-(), operator/(), Re(), and tryAddComplex().

bool Expr::sameAs ( const Expr other  )  const

Equality test operator for ordering expr trees, DO NOT use for comparison of numerical values.

Definition at line 143 of file SundanceExpr.cpp.

References lessThan().

Referenced by tryMultiplyComplex().

const ScalarExpr * Expr::scalarExpr (  )  const

void Expr::setParameterValue ( const double &  value  ) 

static bool& Sundance::Expr::showAllParens (  )  [inline, static]

Show parentheses around every pair of operands.

Definition at line 332 of file SundanceExpr.hpp.

Referenced by Sundance::BinaryExpr::toText().

int Expr::size (  )  const

Number of elements in top level of list.

Definition at line 745 of file SundanceExpr.cpp.

References Playa::Handle< ExprBase >::ptr(), and Sundance::ListExpr::size().

Referenced by Sundance::DefaultIterCallback::call(), Sundance::Complex(), Sundance::L2NormCalculator::computeNorms(), Sundance::NLOp::computeSensitivities(), conj(), Sundance::copyDiscreteFunction(), Sundance::cross(), Sundance::curl(), Sundance::describeFunction(), Sundance::div(), Sundance::EquationSet::EquationSet(), Sundance::ExprFieldWrapper::ExprFieldWrapper(), Sundance::ListExpr::flatten(), Sundance::FunctionSupportResolver::flattenSpectral(), flattenSpectral(), Sundance::EquationSet::flattenSpectral(), Sundance::FunctionSupportResolver::FunctionSupportResolver(), Sundance::getDiscreteFunctionMesh(), Sundance::getDiscreteFunctionVector(), Sundance::EvaluatableExpr::getEvalExpr(), Sundance::UserDefOp::getScalarArgs(), imag(), Sundance::L2Projector::init(), Sundance::SymbolicFuncElement::isIndependentOf(), Sundance::SymbolicFuncElement::isLinearForm(), Sundance::isSquareMatrix(), Sundance::isVector(), Sundance::ListExpr::join(), Sundance::LinearProblem::LinearProblem(), Sundance::Functional::linearVariationalProb(), Sundance::makeZeros(), Sundance::NitscheStokesNoSlipBC(), Sundance::FunctionSupportResolver::numFixedParams(), Sundance::FunctionSupportResolver::numUnkParams(), operator*(), operator+(), operator-(), operator/(), operator[](), Sundance::SymbPreprocessor::processInputFuncs(), Sundance::SymbPreprocessor::processInputParams(), real(), Sundance::setDiscreteFunctionVector(), Sundance::SymbPreprocessor::setupFwdProblem(), Sundance::SymbPreprocessor::setupSensitivities(), Sundance::NonlinearPDEConstrainedObj::solveStateAndAdjoint(), Sundance::LinearPDEConstrainedObj::solveStateAndAdjoint(), tryAddComplex(), tryMultiplyComplex(), Sundance::CToAInterpolator::updateField(), Sundance::DoublingStepController::write(), and Sundance::LinearSolveDriver::writeIntoSolutionExpr().

Expr Expr::sum ( const Expr other,
int  sign 
) const [private]

string Expr::toString (  )  const

int Expr::totalSize (  )  const

Total number of elements in list.

Definition at line 758 of file SundanceExpr.cpp.

References Playa::Handle< ExprBase >::ptr(), and Sundance::ListExpr::totalSize().

Referenced by Sundance::Complex(), Sundance::isSquareMatrix(), Sundance::isVector(), and operator*().

XMLObject Expr::toXML (  )  const

bool Expr::tryAddComplex ( const Expr L,
const Expr R,
int  sign,
Expr rtn 
) const [private]

Try transformations of complex addition.

Definition at line 224 of file SundanceExpr.cpp.

References imag(), isComplex(), real(), size(), and trySumComplexTimer().

Referenced by operator+(), and operator-().

bool Expr::tryMultiplyComplex ( const Expr L,
const Expr R,
Expr rtn 
) const [private]

Try transformations of complex multiplication.

Definition at line 254 of file SundanceExpr.cpp.

References Im(), isComplex(), Re(), sameAs(), size(), and tryMultiplyComplexTimer().

Referenced by operator*().


Friends And Related Function Documentation

Expr acos ( const Expr arg  )  [related]

"inverse cosine"

Expr acosh ( const Expr arg  )  [related]

"inverse hyperbolic cosine"

Expr asin ( const Expr arg  )  [related]

"inverse sine"

Expr asinh ( const Expr arg  )  [related]

"inverse hyperbolic sine"

Expr atan ( const Expr arg  )  [related]

"inverse tangent"

Expr atanh ( const Expr arg  )  [related]

"inverse hyperbolic tangent"

Expr colonProduct ( const Expr A,
const Expr B 
) [related]

Compute the colon (Frobenius) product of two matrices. The result is a scalar.

Definition at line 91 of file SundanceVectorCalculus.cpp.

Expr Complex ( const Expr real,
const Expr imag 
) [related]

Definition at line 995 of file SundanceExpr.cpp.

Expr conj ( const Expr a  )  [related]

Definition at line 449 of file SundanceExpr.hpp.

References conj().

Expr cos ( const Expr arg  )  [related]

"cosine function"

Expr cosh ( const Expr arg  )  [related]

"hyperbolic cosine"

Expr cross ( const Expr a,
const Expr b 
) [related]

Definition at line 61 of file SundanceVectorCalculus.cpp.

Expr curl ( const Expr f  )  [related]

Definition at line 84 of file SundanceVectorCalculus.cpp.

Expr div ( const Expr f  )  [related]

Definition at line 49 of file SundanceVectorCalculus.cpp.

Expr EssentialBC ( const Handle< CellFilterStub > &  domain,
const Expr integrand,
const Handle< QuadratureFamilyStub > &  quad,
const ParametrizedCurve &  curve,
const WatchFlag watch = WatchFlag() 
) [related]

Expr EssentialBC ( const Handle< CellFilterStub > &  domain,
const Expr integrand,
const Handle< QuadratureFamilyStub > &  quad,
const WatchFlag watch = WatchFlag() 
) [related]

Expr EssentialBC ( const Handle< CellFilterStub > &  domain,
const Expr integrand,
const WatchFlag watch = WatchFlag() 
) [related]

Expr exp ( const Expr arg  )  [related]

"exponential function"

Expr fabs ( const Expr arg  )  [related]

"absolute value"

Expr FunctionalDerivative ( const Expr F,
const Expr u 
) [related]

Returns an expression that evaluates the functional derivative $ \frac{\partial F}{\partial u}.$ The functional derivatives are evaluated internally using automatic differentiation.

Because functional derivatives required for linearization and optimization are already done internally, it is unusual for explicit functional derivatives to be needed at the user level. One case where they are needed is in SUPG stabilization of conservation laws.

Parameters:
F any evaluatable expression, possibly list-valued
u an unknown function or list of unknown functions

Expr gradient ( int  dim  )  [related]

Definition at line 39 of file SundanceVectorCalculus.cpp.

Expr Im ( const Expr a  )  [related]

Definition at line 446 of file SundanceExpr.hpp.

References imag().

Referenced by tryMultiplyComplex().

bool isSquareMatrix ( const Expr x,
int &  N 
) [related]

Indicate whether the given expression is a square matrix. If so, return by reference argument the size of the matrix.

A scalar is a 1 by 1 matrix.

Definition at line 153 of file SundanceVectorCalculus.cpp.

bool isVector ( const Expr x,
int &  N 
) [related]

Indicate whether the given expression is a vector. If so, return by reference argument the size of the vector.

A scalar is a vector of dimension 1.

Definition at line 138 of file SundanceVectorCalculus.cpp.

Expr List ( const Expr a,
const Expr b,
const Expr c,
const Expr d,
const Expr e,
const Expr f,
const Expr g,
const Expr h,
const Expr i,
const Expr j 
) [related]

Expr List ( const Expr a,
const Expr b,
const Expr c,
const Expr d,
const Expr e,
const Expr f,
const Expr g,
const Expr h,
const Expr i 
) [related]

Expr List ( const Expr a,
const Expr b,
const Expr c,
const Expr d,
const Expr e,
const Expr f,
const Expr g,
const Expr h 
) [related]

Definition at line 1083 of file SundanceExpr.cpp.

Expr List ( const Expr a,
const Expr b,
const Expr c,
const Expr d,
const Expr e,
const Expr f,
const Expr g 
) [related]

Definition at line 1076 of file SundanceExpr.cpp.

Expr List ( const Expr a,
const Expr b,
const Expr c,
const Expr d,
const Expr e,
const Expr f 
) [related]

Definition at line 1070 of file SundanceExpr.cpp.

Expr List ( const Expr a,
const Expr b,
const Expr c,
const Expr d,
const Expr e 
) [related]

Definition at line 1064 of file SundanceExpr.cpp.

Expr List ( const Expr a,
const Expr b,
const Expr c,
const Expr d 
) [related]

Definition at line 1058 of file SundanceExpr.cpp.

Expr List ( const Expr a,
const Expr b,
const Expr c 
) [related]

Definition at line 1053 of file SundanceExpr.cpp.

Expr List ( const Expr a,
const Expr b 
) [related]

Definition at line 1048 of file SundanceExpr.cpp.

Expr List ( const Expr a  )  [related]

Definition at line 1043 of file SundanceExpr.cpp.

Expr log ( const Expr arg  )  [related]

"logarithm"

Expr operator* ( const std::complex< double > &  a,
const Expr x 
) [related]

Definition at line 435 of file SundanceExpr.hpp.

Expr operator* ( const double &  a,
const Expr x 
) [related]

Definition at line 419 of file SundanceExpr.hpp.

Expr operator+ ( const std::complex< double > &  a,
const Expr x 
) [related]

Definition at line 427 of file SundanceExpr.hpp.

Expr operator+ ( const double &  a,
const Expr x 
) [related]

Definition at line 411 of file SundanceExpr.hpp.

Expr operator- ( const std::complex< double > &  a,
const Expr x 
) [related]

Definition at line 431 of file SundanceExpr.hpp.

Expr operator- ( const double &  a,
const Expr x 
) [related]

Definition at line 415 of file SundanceExpr.hpp.

Expr operator/ ( const std::complex< double > &  a,
const Expr x 
) [related]

Definition at line 439 of file SundanceExpr.hpp.

Expr operator/ ( const double &  a,
const Expr x 
) [related]

Definition at line 423 of file SundanceExpr.hpp.

std::ostream & operator<< ( std::ostream &  os,
const Expr e 
) [related]

Definition at line 404 of file SundanceExpr.hpp.

References Playa::Handle< PointerType >::ptr().

Expr outerProduct ( const Expr a,
const Expr b 
) [related]

Compute the outer (Kronecker) product of two vectors. The result is a dim(a) by dim(b) rectangular matrix.

Definition at line 116 of file SundanceVectorCalculus.cpp.

Expr Re ( const Expr a  )  [related]

Definition at line 443 of file SundanceExpr.hpp.

References real().

Referenced by tryMultiplyComplex().

Expr reciprocal ( const Expr arg  )  [related]

"reciprocal function"

Expr sign ( const Expr arg  )  [related]

"sign function"

Expr sin ( const Expr arg  )  [related]

"sine function"

Expr sinh ( const Expr arg  )  [related]

"hyperbolic sine"

Expr sqrt ( const Expr arg  )  [related]

"square root"]

Expr tan ( const Expr arg  )  [related]

"tangent function"

Expr tanh ( const Expr arg  )  [related]

"hyperbolic tangent"

Site Contact