Re: Re: Trinomial decics x^10+ax+b = 0; Help
- To: mathgroup at smc.vnet.net
- Subject: [mg93377] Re: [mg93322] Re: [mg93280] Trinomial decics x^10+ax+b = 0; Help
- From: Artur <grafix at csl.pl>
- Date: Wed, 5 Nov 2008 04:55:24 -0500 (EST)
- References: <200811020657.BAA02645@smc.vnet.net> <BB6FC818-9D69-4DA2-8F6A-0A5B680ECD2C@mimuw.edu.pl> <64fc87850811020944p49edb6a2u38aa53a29b539784@mail.gmail.com> <F85E373D-0B9C-4090-BA7B-AE95575625E1@mimuw.edu.pl> <200811041115.GAA29016@smc.vnet.net>
- Reply-to: grafix at csl.pl
Dear Tito, My slowly working Mathematica 6 procedure: Timing[aa = {}; Do[Print[a]; Do[pol = x^10 + a x + b; f = Length[FactorList[pol]]; If[f > 2, , dis = Discriminant[pol, x]; data = Sqrt[dis]; sp = data /. Sqrt[_] -> 1; sfp = data/sp /. Sqrt[x_] -> x; c = FactorList[pol, Extension -> Sqrt[sfp]]; If[Length[c] > 2, AppendTo[aa, pol]; Print[c]; Print[pol]]], {b, -100, 100}], {a, 1, 100}]; aa] Mayby sombody know how improove these to do much quckest??? If you mean trinomials I read 10 cases available: 1) x^10+a x+b 2) x^10+a x^2+b 3) x^10+a x^3+b 4) x^10+a x^3+b 5) x^10+a x^4+b 6) x^10+a x^5+b 7) x^10+a x^6+b 8) x^10+a x^7+b 9) x^10+a x^8+b 10) x^10+a x^9+b ad 2) we can substitute x^2=y and we have quintic y^5+a y+b but also are cases that are not factorizable decic is factorizable over Sqrt[] extension: -2+8 x^2+x^10 (Galois S(5)[x]2 non-solvable) quintic -2+8 x+x^5 (Galois S(5) non-solvable) -5+40 x^2+x^10 (Galois S(5)[x]2 non-solvable) quintic -5+40 x+x^5 (Galois S(5) non-solvable) -98+88 x^2+x^10 (Galois S(5)[x]2 non-solvable) quintic -98+88 x+x^5 (Galois S(5) non-solvable) no more cases in range {b,-100,100} {a,1,100} ad 3) no such case in range {b,-100,100} {a,1,100} ad 4) after substitution y=x^2 we have quintic y^5+a y^2+b no such cases of decis in range {b,-100,100} {a,1,100} ad 5) This case is trivial because after substitution y=x^5 we have x^2+a x+b and almost all polynomials are factorizable over Sqrt[] ad 6) -32+33 x^6+x^10 (Galois S(5)[x]2 non-solvable) -32+33 x^3+x^5 (Galois S(5) non-solvable) =(-4 Sqrt[2]-8 x-4 Sqrt[2] x^2-x^3+Sqrt[2] x^4-x^5)(-4 Sqrt[2]-8 x-4 Sqrt[2] x^2-x^3+Sqrt[2] x^4-x^5) no more cases in range {b,-100,100} {a,1,100} ad 7) no such case in range {b,-100,100} {a,1,100} ad 8) no such case in range {b,-100,100} {a,1,100} ad 9) no such case in range {b,-100,100} {a,1,100} Is strange for me that all available cases have non-solvable Galois groups ?!?. Best wishes Artur Andrzej Kozlowski pisze: > Sorry, I forgot that one has to Catch whatever might be Thrown ;-) > > Unfortunately, its unlikely to make any difference :-( > > Anyway, the correct code is: > > Catch[NestWhile[({a, b} = RandomInteger[{-10^6, 10^6}, {2}]; > If[ck[a] == ck[b] == 0 && (p[a, b] || p[b, a]), Throw[{a, b}], > ck[a] = ck[b] = 1]) &, 1, True &, 1, 10^6]];//Timing > > Andrzej Kozlowski > > 3 Nov 2008, at 16:08, Andrzej Kozlowski wrote: > > >> I doubt that you will have much luck with this approach. I did: >> >> f = -a + m^9 - 8 m^7 n + 21 m^5 n^2 - 20 m^3 n^3 + 5 m n^4 ; g = -b >> + m^8 n - >> 7 m^6 n^2 + 15 m^4 n^3 - 10 m^2 n^4 + n^5; >> >> p[x_, y_] := >> MemberQ[Exponent[FactorList[h /. {a :> x, b :> y}][[All, 1]], m], 5 >> | 10] >> >> (mm = Outer[List, Range[10^3], Range[10^3]]); // Timing >> {0.012557, Null} >> >> (vv = Apply[p, mm, {2}];) // Timing >> {7077.94, Null} >> >> Position[vv, True] >> {} >> >> There is not a single example among the first 10^6. You can try this >> approach on larger numbers, though eventually you will find yourself >> short of memory to story such large arrays. Or you could try random >> searches, with very much larger numbers, e.g. >> >> ck[_] = 0; >> >> NestWhile[({a, b} = RandomInteger[{-10^6, 10^6}, {2}]; >> If[ck[a] == ck[b] == 0 && (p[a, b] || p[b, a]), Throw[{a, b}], >> ck[a] = ck[b] = 1]) &, 1, True &, 1, 10^4]; // Timing >> >> {0.481902, Null} >> >> As you see, 10^4 random pairs between -10^6 and 10^6, and no result. >> The "flag" ck, by the way, is used to mark the numbers we have >> already tried, so when we run this again we do not apply p to them >> again. >> >> Anyway, it looks to me much harder than the proverbial looking for a >> needle in a haystack. >> >> Andrzej Kozlowski >> >> >> >> On 3 Nov 2008, at 02:44, Tito Piezas wrote: >> >> >>> Hello Andrzej, >>> >>> The simple trinomials x^6+3x+3 = 0 and x^8+9x+9 = 0 are solvable, >>> both factoring over Sqrt[-3]. >>> >>> However, there seem to be no known decic trinomials, >>> >>> x^10+ax+b = 0 >>> >>> such that it factors over a square root (or quintic) extension. >>> >>> The 45-deg resultant, for some {a,b}, IF it has an irreducible 5th >>> or 10th degree factor, will give the {a,b} of such a decic. >>> >>> To find one, what I did was to manually substitute one variable, >>> like "a" (yes, poor me), use the Table[] function for "b" (as well >>> as the Factor[] function), and inspect the 45-deg to see if it has >>> the necessary 5th or 10th deg factors. Unfortunately, there are >>> none for {a,|b|} < 30. >>> >>> So what I was thinking is to extend the range to {a,|b|} < 1000. >>> But that's about 10^6 cases, far more than I could do by hand. >>> >>> I'm sure there is a code such that we only have to give the upper >>> bound for {a,b}, let Mathematica run for a while, and it prints out >>> ONLY the {a,b} such that the 45-deg has an irreducible 5th (or >>> 10th) factor. I believe there might be a few {a,b} -- but doing it >>> by hand is like looking for a needle in a haystack. >>> >>> But my skills with Mathematica coding is very limited. Please help. >>> >>> P.S. The 45-deg resultant should be in the variable "m", so pls >>> eliminate the variable "n" (not m) between the two original >>> equations. >>> >>> Sincerely, >>> >>> Tito >>> >>> >>> On Sun, Nov 2, 2008 at 6:14 AM, Andrzej Kozlowski >>> <akoz at mimuw.edu.pl> wrote: >>> >>> On 2 Nov 2008, at 15:57, tpiezas at gmail.com wrote: >>> >>> Hello guys, >>> >>> I need some help with Mathematica code. >>> >>> It is easy to eliminate "n" between the two eqn: >>> >>> -a + m^9 - 8m^7n + 21m^5n^2 - 20m^3n^3 + 5mn^4 = 0 >>> -b + m^8n - 7m^6n^2 + 15m^4n^3 - 10m^2n^4 + n^5 = 0 >>> >>> using the Resultant[] command to find the rather simple 45-deg >>> polynomial in "m", call it R(m). >>> >>> As Mathematica runs through integral values of {a,b}, if for some >>> {a,b} the poly R(m) factors, we are interested in two cases: >>> >>> Case1: an irreducible decic factor >>> Case2: an irreducible quintic factor >>> >>> What is the Mathematica code that tells us what {a,b} gives Case 1 or >>> Case 2? >>> >>> >>> Thanks. :-) >>> >>> >>> Tito >>> >>> >>> >>> >>> Let f = -a + m^9 - 8 m^7 n + 21 m^5 n^2 - 20 m^3 n^3 + 5 m n^4 ; g >>> = -b + m^8 n - >>> 7 m^6 n^2 + 15 m^4 n^3 - 10 m^2 n^4 + n^5; >>> >>> and >>> >>> h = Resultant[f, g, m]; >>> Exponent[h, n] >>> 45 >>> >>> so h is a polynomial of degree 45. Now, let >>> >>> p[x_, y_] := Exponent[FactorList[h /. {a :> x, b :> y}][[All, 1]], n] >>> >>> computing p[a,b] gives you the exponents of the irreducible factor >>> for the given values of a and b. In most cases you get {0,45} - the >>> irreducible case. But, for example, >>> p[a, 0] >>> {0, 1, 9} >>> and >>> p[2, 1] >>> {0, 9, 36} >>> >>> So now you can search for the cases you wanted. You did not >>> seriously expect Mathematica would do it by itself, I hope? >>> >>> Andrzej Kozlowski >>> >>> > > > > __________ Information from ESET NOD32 Antivirus, version of virus signature database 3580 (20081103) __________ > > The message was checked by ESET NOD32 Antivirus. > > http://www.eset.com > > > >
- References:
- Trinomial decics x^10+ax+b = 0; Help with Mathematica code
- From: tpiezas@gmail.com
- Re: Trinomial decics x^10+ax+b = 0; Help with Mathematica code
- From: Andrzej Kozlowski <akoz@mimuw.edu.pl>
- Trinomial decics x^10+ax+b = 0; Help with Mathematica code