Re: Simplify
- To: mathgroup at smc.vnet.net
- Subject: [mg14811] Re: [mg14780] Simplify
- From: BobHanlon at aol.com
- Date: Wed, 18 Nov 1998 01:29:13 -0500
- Sender: owner-wri-mathgroup at wolfram.com
In a message dated 11/15/98 1:16:55 AM, jtischer at col2.telecom.com.co
writes:
>you just showed me that it's hopeless. I'm searching for a way that will
>
>cook down formulas of this type, your method is ok but needs human
>
>skill.
>
>Anyway, thanks a lot.
>
>
Jurgen,
I am not convinced that it is hopeless. You might investigate along
these lines:
Identify the integers that are raised to powers of n:
baseIntegers[eqn_, n_Symbol:n] :=
Cases[eqn, i_Integer^n->i, {1, Infinity}]//Union
Then automate the substitutions given the integers
simplifyMore[eqn_, i1_Integer, i2_Integer, n_Symbol:n] :=
Module[{g = GCD[i1, i2], m, eqn2}, If[g==1, eqn,
eqn2 = FullSimplify[FullSimplify[eqn] /.
{i1^n -> m (i1/g)^n, i2^n -> m (i2/g)^n}];
FullSimplify[eqn2 /. m -> g^n]]]
For example
a = (-7253*2^(1 + 2*n)*5^n - 523*4^n*5^(1 + n) + 17121*20^n +
130321*20^n*n^4)/130321;
baseIntegers[a]
{4,5,20}
simplifyMore[a, 4, 20]
20^n*n^4
or
simplifyMore[a, 5, 20]
20^n*n^4
The liberal use of FullSimplify will tend to make this relatively slow.
Bob Hanlon