SundanceStdProductTransformations.hpp File Reference

Go to the source code of this file.

Classes

class  Sundance::StdProductTransformations
 Apply a standard set of transformations. More...
class  Sundance::RemoveZeroFromProduct
 Transform a product by removing a zero term:

\[ x \times 0 \rightarrow 0. \]

\[ 0 \times x \rightarrow 0. \]

. More...

class  Sundance::RemoveOneFromProduct
 Transform a product by removing multiplication by 1.0:

\[ x \times 1.0 \rightarrow x. \]

\[ 1.0 \times x \rightarrow x. \]

. More...

class  Sundance::RemoveMinusOneFromProduct
 Transform a product by removing multiplication by -1.0:

\[ x \times (-1.0) \rightarrow -x. \]

\[ -1.0 \times x \rightarrow -x. \]

. More...

class  Sundance::MultiplyConstants
 Multiply two constant exprs without transformation. More...
class  Sundance::MoveConstantsToLeftOfProduct
 Transform a product by moving any constants to the left:

\[ x \times a \rightarrow a \times x \]

. More...

class  Sundance::MoveUnaryMinusOutsideProduct
 Transform a product by any unary minus operations outside the product

\[ (-x) \times y \rightarrow -(x \times y) \]

\[ x \times (-y) \rightarrow -(x \times y) \]

\[ )-x) \times (-y) \rightarrow x \times y \]

. More...

class  Sundance::AssociateHungryDiffOpWithOperand
 Transform a product by associating any hungry diff op in the left operand with the right operand:

\[ (u D_x) v \rightarrow u D_x u \]

. More...

class  Sundance::KillDiffOpOnConstant
 Kill a diff op acting on a constant

\[ D_x \alpha \rightarrow 0 \]

\[ D_x (\alpha + u) \rightarrow D_x u \]

. More...

class  Sundance::BringConstantOutsideDiffOp
 Bring a constant outside a diff op

\[ D_x (\alpha u) \rightarrow \alpha D_x u \]

. More...

class  Sundance::DistributeSumOfDiffOps
 Distribute a sum of diff ops over their operand

\[ (D_1 + D_2) u \rightarrow D_1 u + D_2 u \]

. More...

class  Sundance::ApplySimpleDiffOp
 Apply a simple diff op. More...
class  Sundance::RearrangeRightProductWithConstant
 Rearrange a product whose right operand is a product including a constant such that constants are grouped on the left:

\[ \alpha (\beta u) \rightarrow (\alpha\beta) u \]

\[ u (\alpha v) \rightarrow \alpha (u v) \]

. More...

class  Sundance::RearrangeLeftProductWithConstant
 Rearrange a product whose left operand is a product including a constant such that constants are grouped on the left:

\[ (\alpha u)\beta \rightarrow \alpha\beta u \]

\[ (\alpha u)v \rightarrow \alpha (u v) \]

. More...

class  Sundance::TakeConstantUnderIntegralSign
 Rearrange a product of a constant and an integral so that the constant is under the integral sign:

\[ \alpha \int u \rightarrow \int \alpha u \]

. More...


Namespaces

namespace  Sundance

Site Contact