When do we get common subexpression elemination in Mma ?
- To: Mma-Group<mathgroup at yoda.physics.unc.edu>
- Subject: When do we get common subexpression elemination in Mma ?
- From: Erland Wittkoetter <erland at spock.physik.uni-konstanz.de>
- Date: Sat, 28 Aug 93 15:21:30 -0600
Hello If have got the new Mathematica Version 2.2 and I think some of the new features are nice and useful, but on the side I am disappointed. A main step in improving the kind of displaying of very large expressions are still missing! Very large expressions are often unreadable. From Macsyma I know the concept of E-Expressions. The idea is to split the complete expressions in subexpressions. E.g: e[1]:= f[...] e[2]:= g[...] e[3]:=Sqrt[e[1]^2 + e[2]^3] ... res:= h[e[1],..,e[i] ]; My suggestion to the developer of Mma is to install some functions in the next version, which split expressions in this way. The subexpressions could be optimized similar to optimization in numerical computation: What is the cost to evaluate the result: How many used functions " " multiplications " " divisions " " additions " " assignments " " subexpressions The internal countweight of this operations should also be accessable via an option list. This kind of optimization should be a function, which one can apply to a symbolic expression. E.g. OptimizeOutput[expr,<name of an array:A>] Output: {{Rules of the structure A[i]->f[x,A[j1<i],..,A[jn<i] ] }, newexpr[A[j1<i],..,A[jn<i]] } Another nice option would be: OptimizeOutput[expr,<name of an array:A> ,{List of useful substitutions}]; I think, that the algorithms to find the optimal (best) decomposition is too cpu/time consuming, so that writing this in a package (by using the mma programming language) would be hopeless. Further it would be nice to have a global option, to force Mathematica to make the computation more with the common subexpressions A[] then with single terms. In some computations, this could be faster and more transparent to the users. So my question to this forum of mma experts is, would you agree, that the missing of optimizations in displaying outputs and in getting functions for elimination common subexpression are still a big deficit in Mathematica. Maple and Macsyma is able to do this kind of optimization. I really prefer to work on one software platform, than changing the output expressions from one system to another and back. Best greeting Erland Wittkoetter --- -_-_-_-_-_-_-_-_-_-_-_-_- Erland Wittkoetter -_-_-_-_-_-_-_-_-_-_-_-_ Uni Konstanz, Dept.of Physics, LS Dehnen, PO.Box 5560, 78434 Konstanz Phone: +(49) 7531-88-3747 FAX. +(49) 7531-88-3888 (priv.) Abendbergweg 7, 78465 Konstanz,Germany, Phone:+(49)7531-43078 E-mail: erland at spock.physik.uni-konstanz.de -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-