5 votos

¿Cómo puedo calcular exponentes no enteros?

Puedo calcular el resultado de $x^y$ que $y \in\mathbb{N}, x \neq 0$ mediante una función recursiva simple:

$$ f(x,y) = \begin {cases} 1 & y = 0 \\ (x)f(x, y-1) & y > 0 \end {casos} $$

o, quizás, más simplemente, multiplicando $x$ sí $y$ veces.

Por desgracia, estoy seguro de cómo me puede aproximar numéricamente $x^y$ para los no enteros, racionales.

Por ejemplo, ¿qué método puedo utilizar para aproximado de 33.3?

Si es posible, me gustaría ser capaz de hacer esto usando sólo las operaciones elementales de cálculo, es decir, la suma, la resta, la multiplicación y la división.

6voto

Andrew Puntos 140

Voy a considerar el problema de la informática $x^\frac1{q}, \; q > 0$; como ya he mencionado en los comentarios, se puede descomponer cualquier número racional positivo como $m+\dfrac{p}{q}$ donde $m,p$ son números enteros no negativos, $q$ es un entero positivo, y $p < q$. Así, para el cómputo de los $x^{m+\frac{p}{q}}$, se podría utilizar el binario exponenciación en $x^m$ $\left(x^\frac1{q}\right)^p$ y multiplicar los resultados en consecuencia.

A. N. Khovanskiĭ, en su libro sobre fracciones continuas, muestra una continuación de la fracción de representación para el binomio de la función:

$$(1+z)^\alpha=1+\cfrac{2\alpha z}{2+(1-\alpha)z-\cfrac{(1-\alpha^2)z^2}{3(z+2)-\cfrac{(4-\alpha^2)z^2}{5(z+2)-\cfrac{(9-\alpha^2)z^2}{7(z+2)-\cdots}}}}$$

which converges for $|\arg(z+1)| < \pi$.

Letting $z=x-1$ and $\alpha=\dfrac1{q}$, one can then evaluate this continued fraction (with, say, Lentz-Thompson-Barnett) to generate a "seed" that can be subsequently polished with Newton-Raphson, Halley, or any of a number of iterations with high-order convergence. You'll have to experiment with how accurate a seed you need to start up the iteration, by picking a not-too-small tolerance when evaluating the continued fraction.


Here's some Mathematica code demonstrating what I've been saying earlier, for computing $\sqrt[3]{55}$:

With[{q = 3, t = 55, prec = 30},
 y = N[2 + (1 - 1/q) (t - 1), prec];
 c = y; d = 0; k = 1;
 While[True,
  u = (k^2 - q^-2) (t - 1)^2; v = (2 k + 1) (t + 1);
  c = v - u/c; d = 1/(v - u d);
  h = c*d; y *= h;
  If[Abs[h - 1] <= 10^-4, Break[]];
  k++];
 FixedPoint[
  Function[x, x ((1 + q) t - x^q (1 - q))/(x^q (1 + q) - (1 - q) t)], 
  1 + 2 (t - 1)/q/y]]

Here, I've arbitrarily chosen to stop when the continued fraction has already converged to $\aprox 4$ digits, and then polished the result with Halley's method. The result here is good to $\aprox 28$ dígitos. De nuevo, tendrá que experimentar en la precisión frente a expensas de la evaluación de la "semilla", así como escoger el adecuado método de iteración para el pulido de la semilla.

0voto

Jorrit Reedijk Puntos 129

Hay un concepto de uso de "fracciones de fracciones continuas", inventado por D. Gómez Morin , ver http://domingogomez.web.officelive.com/gcf.aspx . He tocado el violín hace algún tiempo con esto y creo recordar que podemos encontrar las raíces de m-esima de la orden y que la aparente complexitiy de la "fraccional continuó fracción" se reduce a las fracciones racionales aplica de forma recursiva. Voy a tratar próximos días para recuperar el algoritmo de nuevo, pero tal vez el enlace a la página es ya útil.
Acabo de encontrar la pista de la D. G. Morin a un extracto de Steven Finch del libro "constantes matemáticas", donde S. F. menciona también este método en una compacta camino (consulte la página 4 de http://assets.cambridge.org/052181/8052/sample/0521818052ws.pdf ).



[actualización] Para el primer enlace roto hay una entrada en el internet archive wayback: Domingo Fomez Morin [/update]

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