Public Member Functions | Static Public Member Functions | Private Member Functions | Related Functions
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 206 of file SundanceExpr.hpp.


Constructor & Destructor Documentation

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

Empty ctor

Definition at line 210 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 210 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 210 of file SundanceExpr.hpp.

Expr::Expr ( const double &  c)

Construct with a constant. Creates a ConstantExpr.

Definition at line 113 of file SundanceExpr.cpp.

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

Construct with a complex constant. Creates a ComplexExpr.

Definition at line 117 of file SundanceExpr.cpp.


Member Function Documentation

void Expr::append ( const Expr expr)

Append a new element to this list

Definition at line 685 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 827 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 479 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 338 of file SundanceExpr.hpp.

Indicate whether every term in the expression contains test functions

Definition at line 914 of file SundanceExpr.cpp.

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

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

Expr Expr::flatten ( ) const

Flatten list and spectral structure

Definition at line 723 of file SundanceExpr.cpp.

References flatten(), and size().

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

Definition at line 992 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 804 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 867 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 876 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 896 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 886 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 129 of file SundanceExpr.cpp.

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

Referenced by operator/().

bool Expr::isTestElement ( ) const

Definition at line 922 of file SundanceExpr.cpp.

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

bool Expr::isUnknownElement ( ) const

Definition at line 930 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 166 of file SundanceExpr.cpp.

References Sundance::ConstantExpr::lessThan(), Sundance::ScalarExpr::lessThan(), 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 396 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 297 of file SundanceExpr.cpp.

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

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

Subtract two expressions. The operands must have identical list structures.

Definition at line 327 of file SundanceExpr.cpp.

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

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

Divide one expression by another. The right operand must be a scalar.

Definition at line 592 of file SundanceExpr.cpp.

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

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

Divide an expression by a double.

Definition at line 237 of file SundanceExpr.hpp.

References operator*().

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

Divide an expression by a complex.

Definition at line 241 of file SundanceExpr.hpp.

References operator*().

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

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

Definition at line 161 of file SundanceExpr.cpp.

References lessThan().

const Expr & Expr::operator[] ( int  i) const
static Time& Sundance::Expr::opTimer ( ) [inline, static]

Definition at line 350 of file SundanceExpr.hpp.

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

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

Definition at line 357 of file SundanceExpr.hpp.

Referenced by toString(), and toXML().

Expr Expr::real ( ) const

Return real part of a complex expression

Definition at line 782 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 154 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 343 of file SundanceExpr.hpp.

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

int Expr::size ( ) const

Number of elements in top level of list

Definition at line 756 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::LinearPDEConstrainedObj::solveStateAndAdjoint(), Sundance::NonlinearPDEConstrainedObj::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 769 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 235 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 265 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 102 of file SundanceVectorCalculus.cpp.

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

Definition at line 1006 of file SundanceExpr.cpp.

Expr conj ( const Expr a) [related]

Definition at line 460 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 72 of file SundanceVectorCalculus.cpp.

Expr curl ( const Expr f) [related]

Definition at line 95 of file SundanceVectorCalculus.cpp.

Expr div ( const Expr f) [related]

Definition at line 60 of file SundanceVectorCalculus.cpp.

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

Referenced by main().

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 Handle< QuadratureFamilyStub > &  quad,
const ParametrizedCurve &  curve,
const WatchFlag watch = WatchFlag() 
) [related]
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:
Fany evaluatable expression, possibly list-valued
uan unknown function or list of unknown functions
Expr gradient ( int  dim) [related]

Definition at line 50 of file SundanceVectorCalculus.cpp.

Referenced by main().

Expr Im ( const Expr a) [related]

Definition at line 457 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 164 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 149 of file SundanceVectorCalculus.cpp.

Expr List ( const Expr a) [related]

Definition at line 1054 of file SundanceExpr.cpp.

Referenced by main().

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

Definition at line 1059 of file SundanceExpr.cpp.

Expr List ( const Expr a,
const Expr b,
const Expr c 
) [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 1069 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 1075 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 1081 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 1087 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,
const Expr h 
) [related]

Definition at line 1094 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,
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,
const Expr i,
const Expr j 
) [related]
Expr log ( const Expr arg) [related]

"logarithm"

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

Definition at line 430 of file SundanceExpr.hpp.

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

Definition at line 446 of file SundanceExpr.hpp.

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

Definition at line 422 of file SundanceExpr.hpp.

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

Definition at line 438 of file SundanceExpr.hpp.

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

Definition at line 426 of file SundanceExpr.hpp.

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

Definition at line 442 of file SundanceExpr.hpp.

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

Definition at line 434 of file SundanceExpr.hpp.

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

Definition at line 450 of file SundanceExpr.hpp.

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

Definition at line 415 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 127 of file SundanceVectorCalculus.cpp.

Expr Re ( const Expr a) [related]

Definition at line 454 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