-
Notifications
You must be signed in to change notification settings - Fork 20
General design ideas
mschuene edited this page Apr 18, 2013
·
2 revisions
-
expresso.core
General Namespace, which provides
- basic facilities to construct and manipulate mathematical expressions
- setting up a logic context for manipulating expressions
- translating an expression to a normal,canonical form
- performs basic simplification / calculations of constants?
- other forms of manipulation ?
- General rule based translator
-
expresso.optimization
Namespace for optimizing standart expressions
- check for common subexpressions and only calculate them once
- apply more sophisticated simplification rules
- merging simple sums etc to transform a multipass expression to an equivalent single-pass expression
- optimizing the order of matrix multiplications
- compiling the optimized expression tree to a function which takes the parameters as arguments and calls the corresponding core.matrix functions neccessary to compute the result ?
- apply more transformations - inspired by theano
-
expresso.solve
Namespace for solving (sets of) standart expressions in regard to a variable X
- rewrite an equation if there is only one occurrence of the variable x
- apply a polynomial solve routine if applicable
- if above rules fail, try to reduce the occurences of x to one