Re: Question about Simplify and related

• To: mathgroup <mathgroup at yoda.ncsa.uiuc.edu>
• Subject: Re: Question about Simplify and related
• From: Harald Hanche-Olsen <hanche at imf.unit.no>
• Date: Fri, 25 Jan 91 17:54:25 +0100

```Allan Hayes (HAY at leicester.ac.uk) wrote:

AlgebraicRules[ , ] can be very useful in dealing with polynomial
simplification.

...

eqns = { c1^2 + s1^2 == 1, c2^2 + s2^2 == 1, c3^2 + s3^2 == 1 }

vars = { c1,c2,c3,s1,s2,s3 }

algRls = AlgebraicRules[ eqns, vars ]

Indeed AlgebraicRules can be useful, but one rather infuriating (to
me) feature of AlgebraicRules is its insistence that you name
*every* variable in the expression you want to simplify, even if it
is not itself involved in the simplification.  For example:

In[4]:= c2^3 c1^4 /. algRls      (* this works fine *)

2        4        2          2   2        4   2
Out[4]= c2 - 2 c2 s1  + c2 s1  - c2 s2  + 2 c2 s1  s2  - c2 s1  s2

In[5]:= a c2^3 c1^4 /. algRls    (* but this does not *)

4   3
General::newv: a c1  c2  involves variables not among {c1, c2, c3, s1, s2, s3}
.

4   3
Out[5]= a c1  c2

Why is this so?  The reason I find it infuriating is the logistical
problems I run into if I have a huge expresseion with oodles ov
variables and I just want to subject a few of those variables to
algebraic simplification.  Is there a way around this, other than
keeping a long list of all variables in my problem?  It would be nice
if you could also have trancendental functions in there, i.e.

Cos[c3^6] c2^4 /. algRls

ought to yield

Cos[(result of (c3^ /. algRls)] (result of (c2^4 /. algRls)).

- Harald Hanche-Olsen <hanche at imf.unit.no>
Division of Mathematical Sciences
The Norwegian Institute of Technology
N-7034 Trondheim, NORWAY

```

• Prev by Date: Theta Functions
• Next by Date: Bug in StruveH