7 votos

Una forma inteligente de resolver los occisos como x8+5992704x304129728=0x8+5992704x304129728=0

Pregunta: Cómo encontrar rápidamente la fórmula explícita de las raíces de los polinomios (resolubles por radicales) como f(x)=x8+5992704x304129728f(x)=x8+5992704x304129728 ?


Mi enfoque actual es sólo la fuerza bruta - no muy rápido y conveniente:

  • observemos que el grupo de Galois de arriba f(x)f(x) es C2S4C2S4 por lo que hay que encontrar el polinomio cuaternario g(x)=x4+cx2+dx+eg(x)=x4+cx2+dx+e tal que f(x)f(x) se divide en polinomios cuadráticos (y sextos) sobre ella
  • iterar sobre triples enteros pequeños c,d,ec,d,e hasta que sea correcto g(x)g(x) se encuentra
  • para acelerar el proceso limité g(x)g(x) a tal punto que Δ(g(x))Δ(g(x)) divide Δ(f(x))Δ(f(x)) - aquí ΔΔ significa discriminante

Más explícitamente, utilizando el sistema GAP:

x:=Indeterminate(Rationals, "x");
f:=x^8+5992704*x-304129728;
discrF:=Discriminant(f);

# define some arbitrary range of the c,d,e coefficients
for c in [-40..40] do
  for d in [1..6000] do
    for e in [-30000..30000] do
     # small perf trick, calculate discriminant
     # without actual construction of g(x)
     discrG:=256*e^3-128*c^2*e^2+144*c*d^2*e-27*d^4+16*c^4*e-4*c^3*d^2;
     if (discrG <> 0 and discrF mod discrG = 0) then
      g:=x^4+c*x^2+d*x+e;
      if IsIrreducible(g) then
        e:=AlgebraicExtension(Rationals,g);
        factors:=FactorsPolynomialAlgExt(e, f);
        if Size(factors) > 1 then
          Print("Success: g(x)=", g," : factors=", factors,"\n");
        fi;
      fi;
     fi;
    od;
  od;
od;

Un par de horas después..:

  • g(x)=x434x2+1632x7871g(x)=x434x2+1632x7871
  • f(x)={x2+(a3/56a2/56+89a/561207/56)x+(3a3/28+6a2/7+153a/28+459/7)}×{x6+(a3/56+a2/5689a/56+1207/56)x5+(3a3/28+33a2/14+153a/28+561/14)x4+(27a3/14153a2/14+2907a/144743/14)x3+(153a23060a+4437)x2+(153a3/7+8415a2/7+13617a/72078199/7)x+(2754a35508a2+109242a2465748)}f(x)={x2+(a3/56a2/56+89a/561207/56)x+(3a3/28+6a2/7+153a/28+459/7)}×{x6+(a3/56+a2/5689a/56+1207/56)x5+(3a3/28+33a2/14+153a/28+561/14)x4+(27a3/14153a2/14+2907a/144743/14)x3+(153a23060a+4437)x2+(153a3/7+8415a2/7+13617a/72078199/7)x+(2754a35508a2+109242a2465748)}

donde g(a)=0g(a)=0

Ahora se puede encontrar una expresión explícita (muy larga y rebuscada) para las raíces de f(x)f(x) , utilizando sólo ++ , , ×× , ÷÷ y operaciones.


Pregunta poco relacionada: En los trinomios óticos solubles como x85x5=0x85x5=0

0 votos

Si vas a recurrir a un sistema de álgebra computacional, es probable que haya uno que resuelva rápidamente los octosílabos resolubles. Quizás Maple, quizás Mathematica.

0 votos

@N.S. Según tengo entendido el grado de extensión está determinado por el grupo de Galois de las raíces de f(x)f(x) . Cuadrado g(x)g(x) no es posible para C2S4C2S4 . Por el contrario, la cuadrática g(x)g(x) es necesario, por ejemplo, para otro grupo S4C2S4C2 .

0 votos

@GerryMyerson He probado el paquete RadiRoot en el sistema GAP, pero C2S4C2S4 es demasiado grande para él y los cálculos terminan con un error de memoria. Tal vez algún día consiga Maple o Mathematica...

4voto

ahulpke Puntos 2612

Si entiendo bien su pregunta, la traducción abstracta de su observación es que el grupo de Galois es imprimible, es decir que el campo de grado 8 definido por ff tiene un subcampo de grado 22 (sobre la que tiene grado 22 ), es decir, sobre este subcampo ff tendrá un factor cuadrático.

Estos subcampos corresponden a descomposiciones polinómicas, es decir, a pares de polinomios g,hg,h tal que f(x)f(x) divide g(h(x))g(h(x)) . El polinomio gg define el subcampo que se busca, el polinomio hh expresa una raíz de gg en términos de una raíz de ff .

En GAP, puede encontrar tales descomposiciones utilizando la función DecomPoly . Toma un polinomio ff y devuelve una lista de todas las descomposiciones posibles (hasta la igualdad de los campos intermedios.

En tu ejemplo, efectivamente obtenemos el factor de grado 2 que buscabas (y esto es mucho más rápido que las horas que citas):

gap> DecomPoly(f);
[ [ x^4+273770356608*x^3+4408835773957146427392*x^2-      7845555523405311768791676626141184*x-986470018747508750165370725578689408242024448,
  3663*x^7-22492*x^6-364752*x^5-5179288*x^4-28801128*x^3+150835968*x^2+121269024*x-49235223744 ] ]
gap> g:=last[1][1];
x^4+273770356608*x^3+4408835773957146427392*x^2-  7845555523405311768791676626141184*x-986470018747508750165370725578689408242024448
gap> e:=AlgebraicExtension(Rationals,g);
<algebraic extension over the Rationals of degree 4>
gap> fe:=Value(f,X(e)); # write f over e
x_1^8+!5992704*x_1+(!-304129728)
gap> Factors(fe);
[ x_1^2+(-1/514753642938357559490856611217408*a^3-1/1141573548613903985664*a^2+1/233510010048*a+18)*x_1+1/1342011552*a,
  x_1^6+(1/514753642938357559490856611217408*a^3+1/1141573548613903985664*a^2-1/233510010048*a-18)*x_1^5+(-1/12256039117579941892639443124224*a^3-1/104457710330684024832*a^2+47/19459167504*a+408)*x_1^4+(5/14298712303843265541412683644928*a^3-1/26114427582671006208*a^2-9/926627024*a+1224)*x_1^3+(1/420550361877743104159196577792*a^3+1/932658127952535936*a^2-15/95388076*a-30600)*x_1^2+(-1/14501736616473900143420571648*a^3-1/112562187856340544*a^2+9/6578488*a+105264)*x_1+(-1/2416956102745650023903428608*a^3-1/8828406890693376*a^2-3/1644622*a+3246048) ]

El algoritmo utilizado por GAP se describe (descargo de responsabilidad: autopromoción) en

Hulpke, Alexander Sistemas de bloques de un grupo de Galois , Experimento. Math. 4 (1995), nº 1, 1-9.

pero ya existen mejores algoritmos con

van Hoeij, Mark; Klüners, Jürgen; Novocin, Andrew Generación de subcampos , J. Symbolic Comput. 52 (2013), 17-34.

por lo que sé el estado de la técnica.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X