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: [mg121900] Re: Re: simplification
  • From: DrMajorBob <btreat1 at austin.rr.com>
  • Date: Thu, 6 Oct 2011 04:22:02 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <j6e693$kef$1@smc.vnet.net> <201110050801.EAA07025@smc.vnet.net>
  • Reply-to: drmajorbob at yahoo.com

This might be a trifle easier to understand:

o1 = 1 + Sqrt[15 + 2*Sqrt[35] + 2*Sqrt[6*(6 + Sqrt[35])]];
poly = RootReduce[o1][[1]]
coefficients = Abs@CoefficientList[poly[x], x];
divisors = Union@Flatten@Divisors@Abs@CoefficientList[poly[x], x]
ext = Flatten@{1, Sqrt@Select[divisors, PrimeQ]}
nullVector = FindIntegerNullVector[Prepend[ext, -o1]]
o2 = ext.Rest@Normalize[nullVector, First]

1024 + 3584 #1 + 640 #1^2 - 1984 #1^3 - 48 #1^4 + 304 #1^5 -
   32 #1^6 - 8 #1^7 + #1^8 &

{1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 19, 20, 24, 28, 31, 32, 38, \
40, 48, 56, 62, 64, 76, 80, 112, 124, 128, 152, 160, 224, 248, 256, \
304, 320, 448, 496, 512, 640, 896, 992, 1024, 1792, 1984, 3584}

{1, Sqrt[2], Sqrt[3], Sqrt[5], Sqrt[7], Sqrt[19], Sqrt[31]}

{1, 1, 0, 1, 1, 1, 0, 0}

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

Bobby

On Wed, 05 Oct 2011 03:01:50 -0500, Peter Pein <petsie at dordos.net> 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]
>
> :-)
>


-- 
DrMajorBob at yahoo.com



  • Prev by Date: Re: Thread::tdlen: Objects of unequal length
  • Next by Date: Re: Dynamic evaluation not automatically enabled in CDF documents
  • Previous by thread: Re: simplification
  • Next by thread: Re: Re: simplification