Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2011

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

Search the Archive

Re: Re: simplification

  • To: mathgroup at smc.vnet.net
  • Subject: [mg121947] Re: Re: simplification
  • From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
  • Date: Fri, 7 Oct 2011 04:46:08 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <j6e693$kef$1@smc.vnet.net> <201110050801.EAA07025@smc.vnet.net>

On 5 Oct 2011, at 10:01, Peter Pein wrote:

> Am 04.10.2011 07:40, schrieb dimitris:
>> Hello.
>>
>> Let
>>
>> o1 = 1 + Sqrt[15 + 2*Sqrt[35] + 2*Sqrt[6*(6 + Sqrt[35])]];
>> o2 = 1 + Sqrt[3] + Sqrt[5] + Sqrt[7];
>>
>> o1 is equal to o2.
>>
>> o1 == o2 // FullSimplify
>> True
>>
>> The question is how to make Mathematica to simplify o1 to o2.
>>
>> Thanks
>> Dimitris
>>
>
> With a lot of luck:
>
> In[1]:= o1 = 1 + Sqrt[15 + 2*Sqrt[35] + 2*Sqrt[6*(6 + Sqrt[35])]];
>  ext = Block[{x, poly = RootReduce[o1][[1]]},
>   Sqrt[Cases[Union @@ Divisors[Abs[CoefficientList[poly[x], x]]],
>     1 | _?PrimeQ, 1]]]
>  o2 = ((Rest[#1] / First[#1]) . ext & )[
>        FindIntegerNullVector[Prepend[ext, -o1]]]
>
> Out[3]= {1, Sqrt[2], Sqrt[3], Sqrt[5], Sqrt[7], Sqrt[19], Sqrt[31]}
>
> Out[4]= 1 + Sqrt[3] + Sqrt[5] + Sqrt[7]
>
> :-)
>

Neat, but from the Mathematical point of view the question was posed 
"the wrong way round" in that o1 is mathematically "simpler" than 1 + 
Sqrt[3] + Sqrt[5] + Sqrt[7], since it is already expressed in terms of 
its minimal polynomial. Hence this is the "natural" or "easy" way to go:

ToRadicals[RootReduce[1 + Sqrt[3] + Sqrt[5] + Sqrt[7]]]

1 + Sqrt[15 + 2*Sqrt[35] + 2*Sqrt[6*(6 + Sqrt[35])]]

in other words, the algebraic "simplification" in this case is exactly 
the opposite of, what might be called, the visual one.


There is no natural or unique way to "decompose" algebraic numbers that 
are already reduced into sums etc, of "simpler" summands or factors etc. 
Of course, if we already know an integer basis for an algebraic number 
field containing an algebraic number, than there are ways of expressing 
it in terms of this basis - and this method is an example.

Andrzej Kozlowski







  • Prev by Date: Re: Table NDSolve Plot
  • Next by Date: Re: Table NDSolve Plot
  • Previous by thread: Re: Re: simplification
  • Next by thread: Re: Re: simplification