MathGroup Archive 1991

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Question about Simplify and related

Allan Hayes (HAY at wrote:

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


	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>
  Division of Mathematical Sciences
  The Norwegian Institute of Technology
  N-7034 Trondheim, NORWAY

  • Prev by Date: Theta Functions
  • Next by Date: Bug in StruveH
  • Previous by thread: Re: Question about Simplify and related
  • Next by thread: Hashing for efficient definition