Escribir la respuesta en términos de la función Lambert W es una buena manera de especificarla. Si necesita una aproximación decimal y no tiene una forma de evaluar el Lambert W, hay muchos métodos numéricos que pueden ayudarlo.
Si no conoce los métodos numéricos, sugiero comenzar con la idea de la iteración de punto fijo. Aquí está la idea.
Primero reescribes tu ecuación en forma de [matemáticas] x = f (x) [/ matemáticas]. Hay (infinitamente) muchas formas diferentes de hacer esto, y algunas de las [matemáticas] f [/ matemáticas] que puede encontrar funcionarán con este método y otras no. (Esa es la desventaja de este enfoque. Puede que tenga que probar más de una función …)
Por ejemplo, aquí hay dos formas en que podríamos pensar intentarlo. Al tomar la raíz [matemática] x ^ {th} [/ matemática] de la ecuación original, encontramos que [matemática] x = \ sqrt [x] 5 [/ matemática]. Entonces, una opción es [matemáticas] f_1 (x) = \ sqrt [x] 5 = 5 ^ {\ frac 1 x} = e ^ {\ frac {\ ln 5} x} [/ matemáticas]. Resulta que este enfoque funciona bien.
Sin embargo, también puede tomar el logaritmo natural de ambos lados de la ecuación original y luego dividir por [matemáticas] \ ln x [/ matemáticas] para obtener [matemáticas] x = \ frac {\ ln 5} {\ ln x} [ /matemáticas]. Entonces otra opción sería [math] f_2 (x) = \ frac {\ ln 5} {\ ln x} [/ math]. Pero resulta que esta elección no funciona.
Aunque puede no ser obvio [math] f_1 (x) [/ math] y [math] f_2 (x) [/ math] son inversas entre sí (en la vecindad de la solución). Es frecuente que si encuentra una función que le permite reescribir su ecuación como [math] x = f (x) [/ math] pero no puede lograr que el enfoque de punto fijo funcione para esta función, usted luego puede aplicar el inverso a ambos lados para obtener [matemática] x = f ^ {- 1} (x) [/ matemática] que a menudo funcionará (siempre que el inverso exista cerca de la solución). No entraré en todos los detalles, pero el punto es que a menudo no tienes que probar más de dos funciones diferentes para encontrar una que funcione.
Iteración de punto fijo
Un punto fijo de una función, [math] g [/ math], es un punto en el dominio que se asigna a sí mismo de modo que [math] x = g (x) [/ math]. Como sabemos que su ecuación original tiene las mismas soluciones que la ecuación [matemáticas] x = f_1 (x) [/ matemáticas], se deduce que todas las soluciones a la ecuación original deben ser puntos fijos de [matemáticas] f_1 [/ matemáticas] . Entonces, ¿cómo encontramos un punto fijo de [matemáticas] f_1 [/ matemáticas]?
Elija un valor inicial, [math] x_0 [/ math] que cree que debería estar relativamente cerca de una solución. Para nuestro problema original [matemática] x ^ x = 5 [/ matemática], sabemos que [matemática] 2 ^ 2 = 4 [/ matemática] que está bastante cerca de 5, entonces [matemática] x_0 = 2 [/ matemática] es Una suposición razonable.
Luego definimos [math] x_n [/ math] recursivamente por:
[matemáticas] x_n = f_1 (x_ {n-1}) = e ^ {\ left (\ frac {\ ln 5} {x_ {n-1}} \ right)} [/ math] para [math] n = \ {1,2,3, \ ldots \} [/ math]
Si esta serie converge, definimos [matemática] x = \ lim_ {n \ to \ infty} x_n [/ matemática]. Se deduce que [matemáticas] x [/ matemáticas] debe ser un punto fijo y, por lo tanto, una solución a la ecuación original.
Para este problema, la secuencia converge bastante lentamente. Se necesitan 115 términos antes de que la representación decimal converja con lo que mi máquina puede mostrar. Aquí están los primeros términos y los “últimos” pocos términos.
[matemáticas] x_ {0} = 2 [/ matemáticas]
[matemáticas] x_ {1} = 2.23606797749979 [/ matemáticas]
[matemáticas] x_ {2} = 2.05394537263945 [/ matemáticas]
[matemáticas] x_ {3} = 2.18930381704045 [/ matemáticas]
[matemáticas] x_ {4} = 2.08576741089472 [/ matemáticas]
[matemáticas] \ vdots [/ matemáticas]
[matemáticas] x_ {112} = 2.12937248276015 [/ matemáticas]
[matemáticas] x_ {113} = 2.12937248276016 [/ matemáticas]
[matemáticas] x_ {114} = 2.12937248276015 [/ matemáticas]
[matemáticas] x_ {n} = 2.12937248276016 [/ matemáticas] para [matemáticas] n \ ge 115 [/ matemáticas]
Aquí está el script en Octave / Matlab que hace el cálculo.
[correo electrónico protegido] (x) exp (log (5) ./ x); % define la función para iterar
m = 125; % de selección del número de términos en secuencia
x = ceros (m, 1); % inicializa una matriz para almacenarlos en
x (1) = 2; % elige la conjetura inicial
para i = 1: m-1% loop en todos los términos en secuencia
x (i + 1) = f (x (i)); % encuentra el siguiente término en la secuencia
fin
disp (x)% muestra la secuencia