Re: manipulating expressions
- To: mathgroup at smc.vnet.net
- Subject: [mg4312] Re: manipulating expressions
- From: Xah Lee <xah at best.com>
- Date: Tue, 9 Jul 1996 00:48:49 -0400
- Organization: Best Internet Communications
- Sender: owner-wri-mathgroup at wolfram.com
Xah Lee wrote:
> I have an expression, for example
> (16 a^4 - 8 a^2 m^2 + m^4 - 8 a^2 n^2 + 2 m^2 n^2 + n^4 -
> 8 a^2 p^2 - 2 m^2 p^2 - 2 n^2 p^2 + p^4 - 8 a^2 q^2 -
> 2 m^2 q^2 - 2 n^2 q^2 + 2 p^2 q^2 + q^4 )
> that I want to write in a concise form, namely, as a sum of a few
> products. There are many possibilities and it's tedious to form each.
> How would you write a Mathematica program that would take such an
> expression and spits out a few choicy forms for the user?
I posted the above problem and only one person replied with a code.
Here's killough at wagner.convex.com (Lee D. Killough)'s solution:
simple[x_,v_]:=Sum[v^i Factor[Coefficient[#,v,i]],
{i,0,Exponent[#,v]}]&[Expand[x]]
simple[x_] := First @ Sort[simple[x,#]& /@ Variables[x],
Less @@ ( StringLength @ ToString @ # & /@ {##} )& ]
Here's a quick documentation
simple::usage = "simple[expr] returns the concise expression as a sum of
factors. simple[expr,x] returns the expression as a sum of factors of
x."
Xah
xah at best.com; 74631.731 at compuserve.com
http://www.best.com/~xah/SpecialPlaneCurves_dir/specialPlaneCurves.html
Mountain View, CA, USA
URL of the day: All Philosophers love you in N.Y.
http://nifty.bookstore.uidaho.edu/Philosophy/Default.htm
==== [MESSAGE SEPARATOR] ====