6 votos

El determinante de una matriz polinomial

Una matriz de determinante (ingenuamente) puede ser calculado en $O(n!)$ pasos, o con una adecuada descomposición LU $O(n^3)$ pasos. Esto supone que todos los elementos de la matriz son constantes. Si, sin embargo los elementos de la matriz son polinomios (decir univariante de max orden de $p$) en cada paso de la descomposición LU de un elemento se multiplica por otro elemento de la producción (en promedio) cada vez más de polinomios. Cada paso, por lo que tarda más tiempo y más largo es el costo de realizar la descomposición todavía un polinomio?

EDIT: Para aclarar mi razonamiento un poco, si el polinomio (el uso de la FFT como J. M. sugiere en los comentarios) tarda $O(m \log m)$, y debemos realizar $O(n^3)$ operaciones para obtener la descomposición LU, cada paso el polinomio efectivamente podría duplicar en el grado en cada multiplicación*. El tiempo de ejecución sería algo como

$$ \approx O \left ( \sum_{k}^{n^3} (p \ln p)^{2k} \right ) .$$

* (no muy a hacerlo, y aquí es donde estoy atascado)

6voto

Joseph Sturtevant Puntos 6597

Supongamos que cada entrada de su $n \times n$ matriz es un polinomio de grado $d$ en la variable $t$. Atractivo para el cofactor de expansión, vemos que el determinante será un polinomio en $t$ de grado en la mayoría de las $dn$; vamos a llamarlo $D(t)$. Así que usted puede hacer lo siguiente: evaluar el determinante de a $t=1,2, \ldots, dn$. Por lo tanto se conozca $D(1),D(2),\ldots,D(dn)$ y puede encontrar los coeficientes de $D$, por interpolación.

Esto implica:

(i) $dn$ determinante de las evaluaciones, cada una de las cuales se lleva a $O(n^3)$ operaciones.

(ii) la Interpolación de un polinomio de grado $dn$. Esto se puede hacer mediante la resolución de una $dn \times dn$ sistema de ecuaciones (ver http://en.wikipedia.org/wiki/Polynomial_interpolation en "la Construcción de la interpolación polinómica"). Hay algoritmos que va a hacer esto en $O(dn \log^2 dn)$.

Su final número de operaciones se $O(d n^4 + dn \log^2 dn)$.

Yo estaría interesado en saber si es posible hacer esto más rápido.

Actualización: he corregido un error y se incorpora una sugerencia de J. M. en los comentarios.

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