       Re: How to do quickest

• To: mathgroup at smc.vnet.net
• Subject: [mg123066] Re: How to do quickest
• From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
• Date: Tue, 22 Nov 2011 05:35:38 -0500 (EST)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• References: <201111210929.EAA14830@smc.vnet.net>

```On 21 Nov 2011, at 10:29, Artur wrote:

> Dear Mathematica Gurus,
> How to do quickest following procedure (which is very slowly):
>
> qq = {}; Do[y = Round[Sqrt[x^3]];
>  If[(x^3 - y^2) != 0,
>   kk = m /. Solve[{4 m^2 + 6 m n + n^2 ==
>         x, (19 m^2 + 9 m n + n^2) Sqrt[m^2 + n^2] == y}, {m, n}][];
>    ll = CoefficientList[MinimalPolynomial[kk][], #1];
>   lll = Length[ll];
>   If[lll < 12, Print[{x/(x^3 - y^2)^2, kk, x, y, x^3 - y^2}];
>    If[Length[ll] == 3, Print[{kk, x, y}]]]], {x, 2, 1000000}];
>  qq
>
>
> (*Best wishes Artur*)
>

I think it would be better to send not only the code but also the mathematical problem, as there may be a way to do it in a different way. Unless I am misunderstanding something, what you are trying to do is the same as this:

In:= Block[{y = Round[Sqrt[x^3]]},
Reap[Table[
If[(x^3 - y^2) != 0 && Not[IrreduciblePolynomialQ[poly]],
Sow[{x, y}]], {x, 2, 1000000}]][]] // Timing

Out= {721.327,{}}

This ought to be a lot faster than your code, but I have not tried to run yours to the end. Also, it is possible that using the Eisenstein Test explicitly may be somewhat faster:

Block[{y = Round[Sqrt[x^3]]},
Reap[Table[
If[x^3 - y^2 != 0 && Mod[x^6 - 2*x^3*y^2 + y^4, 4] == 0 &&
! IrreduciblePolynomialQ[poly], Sow[{x, y}]], {x, 2,
1000000}]][]]

{}

but I forgot to use Timing and don't want to wait again, particularly that the answer is the empty set.

Andrzej Kozlowski

```

• Prev by Date: Re: Matrices as operators
• Next by Date: Re: How to do quickest
• Previous by thread: How to do quickest
• Next by thread: Re: How to do quickest