8 votos

¿Hay un algoritmo eficiente para calcular un polinomio mínimo para la raíz de un polinomio con coeficientes algebraicos?

Un algebraica de números se define como una raíz de un polinomio con coeficientes racionales.

Es sabido que cada algebraicas número $\alpha$ tiene un único polinomio mínimo, el monic polinomio con coeficientes racionales de menor grado de que $\alpha$ es una raíz.

También se sabe que los números algebraicos son algebraicamente cerrado, lo que significa que cualquier polinomio con números algebraicos como coeficientes ha algebraicas raíces.

Mi pregunta es:

Dada la raíz de un grado $d$ uni-variable polinomio con $n$ términos con algebraica de coeficientes, hay un eficiente (es decir, el polinomio de vez en $d$$n$) algoritmo para generar su mínima polinomio?

He buscado en la literatura, pero se encontró muy poco trabajo en la teoría algebraica de números que se trate con la complejidad computacional. El resultado más cercano que he encontrado es:

Teorema 1.4.7 en Lovasz del libro:

http://books.google.co.uk/books?id=NWa5agInx0gC&lpg=PA39&ots=ufoR8afRSQ&dq=finding%20the%20minimal%20polynomial%20for%20a%20root%20of%20a%20polynomial%20%20lovasz&pg=PA38#v=onepage&q&f=false

pero no creo que esto (bastante) responde a mi pregunta.

3voto

Michael Steele Puntos 345

Supongamos que tenemos un campo finito de extensión de la $\mathbb Q \subset K$ y un polinomio irreducible $P \in K[X]$.

Deje $L$ ser el cierre de Galois $K$, $G$ ser el grupo de Galois de $\mathbb Q \subset L$, e $H$ ser el subgrupo de $G$ fijación $K$. A continuación, $G$ actúa en $L[X]$$\sigma(\sum a_i X^i) = \sum \sigma(a_i)X^i$, e $H$ es todavía el subgrupo de $G$ fijación $K[X]$.

A continuación, defina $\tilde{P} = \prod_{\sigma \in G/H} \sigma(P)$. Para cualquier $\sigma$ en $G$, $\sigma(\tilde{P}) = \tilde P$, por lo tanto $\tilde P \in \mathbb Q[X]$, y creo que debería ser irreducible sobre $\mathbb Q$ si $K$ es la extensión generados por los coeficientes de $P$. Y hasta ahora, el cálculo es el polinomio en el grado de la extensión de $\mathbb Q \subset L$ (que puede ser exponencial en el grado de $K$) y en el grado de $P$.

Si usted no sabe exactamente lo $L$ $G$ son pero usted sabe que el conjunto de los conjugados $C_i$ de cada coeficiente de $a_i$$P$, definir $$\tilde P = \prod_{(b_0, \ldots, b_n) \in C_0 \times \ldots \times C_n} (b_0 + b_1 X + \ldots b_n X^n)$$ Esto va a producir un polinomio en $\mathbb Q[X]$, pero puede ser extremadamente mayor que el polinomio mínimo.

Aquí usted escoge un conjugado para cada coeficiente, y el producto de todos los posibles simultánea opciones de los conjugados. Si usted tiene uno de los coeficientes con 2 conjugados y otro con 3, y todos los demás coeficientes son racionales, entonces usted tiene 6 polinomios para multiplicar.

Por último, si usted no sabe los conjugados de los coeficientes, pero usted sabe algunos aniquilando polinomio para cada coeficiente, vamos a $C_i$ ser un conjunto formal de las raíces de los polinomios, y formalmente expandir el producto. Obtendrá una expresión que implique la formal raíces simétricamente así que usted puede escribir con la primaria simétrica polinomios de esas raíces, y, a continuación, utilizar la Viete relaciones y reemplazar aquellos con los correspondientes coeficientes de la aniquilación de los polinomios.

Sin embargo, estos dos métodos puede ser exponencial en el grado de $P$, así que usted debe evitar si es posible.


En el peor de los casos, el grupo de Galois de $\mathbb Q \subset K$$S_n$, lo que significa que tenemos para hacer cálculos en una gran extensión de campo.

supongamos $K$ es de grado $n$ $P$ es de grado $d$. Se puede estimar de la fórmula genérica que se utilizan para transformar $P$ a un polinomio con coeficientes racionales.

Pick $L = \mathbb Q(Y_1, \ldots, Y_n)$, vamos a $Z_1, \ldots, Z_n$ ser la primaria simétrica polinomios en $Y_i$, pick $K_0 = L^{S_n} = \mathbb Q(Z_1, \ldots, Z_n)$, e $K = K_0(Y_1)$, por Lo que la extensión de $K_0 \subset K$ es el "genérico" extensión de grado $n$$\mathbb Q$. Entonces decir $P = \sum a_i X^i$ donde $a_i \in K = K_0[Y_1]$ y son de grado $ < n$. Así que usted puede escribir $P = \sum b_{i,j} X^i Y_1^j$ donde $b_{i,j} \in K_0$, e $(i,j) \in \{0 \ldots d \} \times \{0 \ldots n \}$. Agregar indeterminates $B_{i,j}$, por lo que ahora $P$ es un elemento de $K[B_{i,j},X]$. Podemos calcular el producto $\prod_{k=1}^n P(Y_k,B_{i,j},X)$$L[B_{i,j},X]$, ya que es simétrica, escribe como un elemento de $K_0[B_{i,j},X]$. De hecho, dado que los coeficientes de $P$ son polinomios en $Y_1$ con coeficientes enteros, este será un polinomio en $\mathbb Z[Z_i, B_{i,j},X]$ grado $dn$$X$, homogénea de grado $n$$B_{i,j}$.

Para cualquier elección de $n$ indeterminates entre el $B_{i,j}$, $B_{i(1),j(1)} \ldots B_{i(n),j(n)}$ aparecerá acompañado con $X^{i(1)+\ldots i(n)}$ y un polinomio en $Z_k$ grado $j(1)+\ldots j(n) \le n^2$$Y_k$. Así obtenemos menos de $(n+d)!/n!d! * n^{2n}/n!$ términos en la final del polinomio. A pesar de que puede haber un mejor obligado en la complejidad de los polinomios en la $Z_k$ que son de un grado menos de $n^2$ $n^{2n}/n!$ (en particular, no todos ellos deben ser capaces de aparecer).

La buena cosa es que este es el polinomio en $d$ al $n$ es fijo, y es probablemente exponencial en $n$ al $d$ es fijo. Y cuando dos de ellos varía, es exponencial en $d$$n$.

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