Sundance::Expr Class Reference

Inheritance diagram for Sundance::Expr:

Playa::Handle< ExprBase >

List of all members.

Public Member Functions

 Expr ()
 Expr (Handleable< ExprBase > *rawPtr)
 Expr (const RefCountPtr< ExprBase > &smartPtr)
 Expr (const double &c)
 Expr (const std::complex< double > &c)
Expr operator+ (const Expr &other) const
Expr operator- (const Expr &other) const
Expr operator* (const Expr &other) const
Expr operator/ (const Expr &other) const
Expr operator/ (const double &other) const
Expr operator/ (const std::complex< double > &other) const
Expr operator- () const
Expr real () const
Expr imag () const
Expr conj () const
const Exproperator[] (int i) const
int size () const
int totalSize () const
void append (const Expr &expr)
Expr flatten () const
Expr flattenSpectral () const
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
bool isLinearInTests () const
bool everyTermHasTestFunctions () const
bool hasTestFunctions () const
bool isLinearForm (const Expr &u) const
bool isQuadraticForm (const Expr &u) const
void getUnknowns (Set< int > &unkID, Array< Expr > &unks) const
void getTests (Set< int > &testID, Array< Expr > &tests) const
bool lessThan (const Expr &other) const
bool operator< (const Expr &other) const
bool sameAs (const Expr &other) const
Sundance::Map< Expr, int > getSumTree () const
const ScalarExprscalarExpr () const
const FuncElementBasefuncElement () const

Static Public Member Functions

static bool & evaluationCachingOn ()
static bool & showAllParens ()
static Expr handle (const RCP< ExprBase > &ptr)
static Time & opTimer ()
static Time & outputTimer ()

Private Member Functions

Expr sum (const Expr &other, int sign) const
Expr multiply (const Expr &other) const
Expr divide (const Expr &other) const
bool tryAddComplex (const Expr &L, const Expr &R, int sign, Expr &rtn) const
bool tryMultiplyComplex (const Expr &L, const Expr &R, Expr &rtn) const

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::getDiscreteSpace(), 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"

Referenced by force(), and main().

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"

Referenced by force(), main(), and rhsF().

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]

Referenced by main().

Expr exp ( const Expr arg  )  [related]

"exponential function"

Referenced by main().

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.

Referenced by main().

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.

Referenced by main().

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"

Referenced by force(), main(), and rhsF().

Expr sinh ( const Expr arg  )  [related]

"hyperbolic sine"

Referenced by main().

Expr sqrt ( const Expr arg  )  [related]

"square root"]

Referenced by main().

Expr tan ( const Expr arg  )  [related]

"tangent function"

Expr tanh ( const Expr arg  )  [related]

"hyperbolic tangent"

Site Contact