More about algebraic simplification
- To: mathgroup at smc.vnet.net
- Subject: [mg110494] More about algebraic simplification
- From: "S. B. Gray" <stevebg at ROADRUNNER.COM>
- Date: Mon, 21 Jun 2010 02:10:57 -0400 (EDT)
- Reply-to: stevebg at ROADRUNNER.COM
In response to someone who objected to my statement that replacement rules are not adequate for what I want to do, I will state the problem more completely without getting into irrelevant details. I have n points in R3 in general position. Through all (n choose 3) sets of 3 points I construct a plane and a circle. The plane computation results in three parameters for each plane, a[i],b[i], and c[i], each a simple but not trivial function of x,y,z of the 3 points it goes through. The plane is now described by 3 parameters instead of the 9 for the 3 points. Each circle is described, after a moderately complex computation, as center, radius, and unit normal, each also a function of x,y,z of the 3 points. So the circle is now described by 7 parameters, each with a clear geometric meaning that can be verified using Graphics3D, rather than the original 9. To avoid extreme complexity in the following steps, I do not let Mathematica reduce these parameters to the initial x,y,z's, but define new symbolic variables describing the plane and circle. Next, I want to find the line that is the intersection of two of the planes, z=x*zm + zd and y=x*ym + yd, where the four new parameters are functions of the 6 parameters describing the 2 planes. Finally I want to compute the two (or zero) intersections of that line and the circle on one of the 2 planes, in terms of ym,yd,zm,zd and the 7 circle parameters. If I let Mathematica express these intersections in terms of the x,y,z's of the six points defining the two planes, the result is a horribly complicated expression that is not only incomprehensible but involves repeated evaluation of quite a few subexpressions. It makes much more sense to define new variables at each step and derive symbolic expressions for them in terms of the results of the previous step. My questions are: 1. If I do everything symbolically, what is the best method of preventing Mathematica from expressing the final answer in terms of the initial ones? 2. If substitution rules allow this to be done, how to do it? 3. Having read a few responses to my first, crude, statement of this problem, I still do not see a clear answer. 4. It would be nice for Mathematica to first, be able to prevent full evaluation of the final answer in terms of the initial parameters, and, second, for Mathematica to find suitable intermediate symbolic variables by itself, both to create comprehensible expressions and to reduce duplicate evaluations. 5. Obviously computations by many Mathematica users involve a similar number of separate steps where the same type of help would be useful, so I wonder if WR is planning to address this. Steve Gray