La función exponencial sobre números algebraicos

8

Dado un número algebraico , estoy interesado en encontrar una aproximación de ( e α ) hasta una precisión dada, donde ( ) se refiere a la parte real del número complejo.α(eα)()

Formalmente, quiero calcular un número racional tal que | ( e α ) - r | 2 - nr

|(eα)r|2n

está dado por un polinomio mínimo (estándar).α

¿Qué tan rápido podemos resolver este problema?


Cuando se da como un punto flotante, la siguiente referenciaα

R. Brent. Evaluación rápida de precisión múltiple de funciones elementales. JACM, 1976.

Parece dar una respuesta.

Sin embargo, no estoy seguro de que pueda usarse para el número algebraico . α

usuario22166
fuente
1
Tanto exp como log pueden aproximarse a bits de precisión en el tiempo O ( M ( n ) log n ) . Dado que la aproximación raíz numérica no es significativamente más rápida (ciertamente necesita tiempo al menos Ω ( M ( n ) ) ), su pregunta es esencialmente equivalente a la complejidad de aproximar α . Para un polinomio fijo, este último se puede hacer en el tiempo O ( M ( n ) )nO(M(n)logn)Ω(M(n))αO(M(n))usando el método de Newton, pero no estoy seguro de qué sucede exactamente cuando el polinomio (¡y un intervalo de delimitación!) es parte de la entrada.
Emil Jeřábek
(La complejidad de tiempo asintótica de la iteración de Newton es más o menos el tiempo necesario para evaluar el polinomio en una entrada dada con bits de precisión.)n
Emil Jeřábek
1
Ah, pero todo lo que escribí se aplica cuando se desea un error relativo , es decir, se emite en una representación exponente-mantisa, y el límite de error se cumple para la mantisa. La forma en que se escribe la pregunta, no puede obtener un límite mejor que el trivial 2 O ( n ) , ya que el tamaño de la salida es exponencial en el tamaño de la entrada ya en el caso de que α sea ​​un número entero, y ϵ = 1 . r2O(n)αϵ=1
Emil Jeřábek
2
Para evitar el problema de que Emil se refiere a la complejidad de las funciones reales, se estudian cuando el dominio es un conjunto compacto como el intervalo unitario. Si su puede ser arbitrariamente grande, entonces exp no se puede calcular en tiempo polinómico. α
Kaveh
PD: estos algoritmos generalmente funcionan para todos los números reales computables, incluidos los números algebraicos, solo necesitamos proporcionar buenas aproximaciones arbitrarias para las entradas.
Kaveh

Respuestas:

3

Tal como está escrito, el problema requiere un tiempo de , donde m es la longitud de entrada (desafortunadamente usó n para otra cosa). De hecho, si, por ejemplo, α es un número entero positivo (dado por su polinomio mínimo x - α ) yn = 0 , el tamaño de la salida es exponencial en el tamaño de la entrada. Este límite es, por supuesto, óptimo, ya que hay varias formas de calcular el resultado en el tiempo 2 O ( m ) .2Ω(m)mnαxαn=02O(m)


Permítanme intentar reformular la pregunta para que tenga un poco más de sentido. El problema principal es cómo elegir la representación de la entrada y la salida, así como la noción de aproximación, de modo que la exponenciación tenga una gran posibilidad de ser computable en el tiempo polinómico.

Kaveh mencionó una forma en los comentarios: restringir el dominio a un intervalo finito fijo. Si bien esto funciona, es innecesariamente restrictivo; en particular, no hay una buena manera de transformar un número algebraico en uno que esté limitado de modo que sus exponenciales tengan algo que ver entre sí.

Un enfoque más flexible es representar la entrada como un número de punto fijo y la salida como un número de coma flotante . Para ser específicos, una representación de punto fijo es una cadena denota ± j a j 2 j , donde a j{ 0 , 1 } , y una representación de coma flotante es ± 2 e ×

±arar1a0.a1as
±jaj2jaj{0,1} con una interpretación similar, donde e es un número entero binario, y a 0 = 1 . (Como excepción, también permitimos que 0 se represente a sí mismo). Una aproximación de un x reala m bits deprecisiónabsolutaes un x ' realtal que | x - x | < 2 - m , y una aproximación a m bits deprecisiónrelativaes
±2e×a0.a1as
ea0=10xmx|xx|<2mm tal que | 1 - x / x | < 2 - m . Usaremos precisión absoluta para aproximaciones de punto fijo y precisión relativa para aproximaciones de punto flotante. Se deduce que en ambos casos, también podemos suponer s m (hasta la pérdida de un bit de precisión).x|1x/x|<2msm

Las representaciones de punto fijo y punto flotante de racionales gaussianos diádicos, y las aproximaciones de números complejos, se definen de manera similar, utilizando un par de reales. En todas partes a continuación, denota el tamaño total de la entrada.n

Ahora, dejemos que la exponenciación (real o compleja) sea ​​el siguiente problema: la entrada es una representación de punto fijo de un número un número natural unario m , y la salida es una aproximación de coma flotante de e x a m bits de relativa precisión. Dualmente, el logaritmo toma como entrada un número de coma flotante xy unario m , y la salida es una aproximación de punto fijo de log x (digamos, la rama principal en el caso complejo) a m bits de precisión absoluta.xmexmxmlogxm

Mientras nos atenemos a los límites de tiempo de ejecución que satisfacen algunas condiciones de regularidad leves, e ignoramos los factores multiplicativos constantes, tenemos:

  • La complejidad de la exponenciación, el logaritmo o cualquier función analítica similar es, al menos, la complejidad de la multiplicación de enteros: por ejemplo, podemos leer de exp ( a 2 - t ) = a 2 - t + a 2 2 - 2 t - 1 + O ( a 3 2 - 3 t ) para t suficientemente grande , lineal en la longitud de a .a2exp(a2t)=a2t+a222t1+O(a323t)ta
  • La exponenciación y el logaritmo tienen la misma complejidad. La razón es que podemos calcular el inverso de una función agradable mediante la iteración de Newton (o métodos más sofisticados como en Brent ) utilizando la evaluación de la función misma. La iteración generalmente implica multiplicaciones o divisiones, pero podemos permitirnos esto en el punto anterior.

αfc,ρ|cα|<ραf

αmαm

Reeααmeαm

Realidad: hasta factores lineales, la complejidad de la exponenciación de números algebraicos es la misma que la complejidad de la aproximación de números algebraicos más la complejidad de la exponenciación compleja.

αm+O(1)αeαm

eα

Esto divide la pregunta en dos problemas bastante no relacionados. El límite superior más conocido en exponenciación es

nM(n)O(M(n)logn)

Ω(M(n))M(n)nlogn2O(logn)

O~(f(n))O(f(n)polylog(f(n)))

Para una aproximación de raíz real , Pan y Tsigaridas dan:

O~(d2τ+dm)d=deg(f)τf

O~(d3+d2m)f1+1/logd


eαReeαReeαImeαx+iyeαmy2mxx2m

Para la exponenciación de racionales exactos, podemos evitar el problema:

α=x+iymx,yReeαmO(M(n)logn)

Reeα=excosyexcosy2mk2y/πcosy±cosy±sinyy=ykπ2|y|π/4sinyysinymm+log|y1|y=u/vu,vyπ

|π2ukv|2|y|k.
πν7.6063
|y|12kν1vν,
log|y1|ysinyysinyy

αlog|y|deg(f)

Emil Jeřábek
fuente
k0b/k<1r=(b/k)e(r,k,e)
k,b,e(r,k,e)2aaeaa/log2exp(aa/log2log2)
be
renb/k1/2r22nkerkkpuede variar, lo que dificulta el cálculo de tales representaciones. ¿Cuales son los beneficios?
Emil Jeřábek