Русская Википедия:W-функция Ламберта
<math>W</math>-функция Ламберта определяется как обратная функция к <math>f(w)=w e^w</math>, для комплексных <math>w</math>. Обозначается <math>W(x)</math> или <math>\operatorname{LambertW}(x)</math>. Для любого комплексного <math>z</math> она определяется функциональным уравнением:
- <math>z=W(z) e^{W(z)}</math>
<math>W</math>-функция Ламберта не может быть выражена в элементарных функциях. Она применяется в комбинаторике, например, при подсчёте числа деревьев, а также при решении уравнений.
История
Функция изучалась ещё в работе Леонарда Эйлера 1779-го года, но не имела самостоятельного значения и названия вплоть до 1980-х годов. Как самостоятельная функция была введена в системе компьютерной алгебры Maple, где для неё использовалось имя LambertW. Имя Иоганна Генриха Ламберта было выбрано, поскольку Эйлер ссылался в своей работе на труды Ламберта, и поскольку «называть ещё одну функцию именем Эйлера было бы бесполезно»[1].
Многозначность
Поскольку функция <math>f(w)</math> не является инъективной на интервале <math>(-\infty,0)</math>, <math>W(z)</math> является многозначной функцией на <math>(-\frac{1}{e},0)</math>.
- Если ограничиться вещественными <math>z = x\geqslant-1/e</math> и потребовать <math>w\geqslant -1</math>, будет определена однозначная функция <math>W_0(x)</math> — основная ветвь функции <math>W(x)</math>.
- Если ограничиться вещественными <math>z = x\geqslant-1/e</math>, <math>z = x < 0</math> и потребовать <math>w\leqslant -1</math>, будет определена однозначная функция <math>W_{-1}(x)</math> — дополнительная ветвь функции <math>W(x)</math>.
Асимптотики
Полезно знать асимптотики функции при стремлении к некоторым ключевым точкам. Например, для ускорения сходимости при выполнении рекуррентных расчетов.
<math>\left.W(z)\right|_{z \to \infty} = \log(z)-\log( \log(z) )</math>
<math>\left.W(z)\right|_{z \to -\frac{1}{e}} = \sqrt{ 2 ( ez + 1 ) }-1</math>
Другие формулы
- <math>\int_{0}^{\pi} W\bigl( 2\cot^2(x) \bigr)\sec^2(x)\;\mathrm dx = 4\sqrt{\pi}</math>
- <math>\int_{0}^{+\infty} W\left(\frac{1}{x^2}\right)\;\mathrm dx = \sqrt{2\pi}</math>
- <math>\int_{0}^{+\infty} \frac{W(x)}{x\sqrt{x}}\mathrm dx = 2\sqrt{2\pi}</math>
Свойства
С помощью дифференцирования неявной функции можно получить, что при <math>z\ne -\tfrac{1}{e}</math> функция Ламберта удовлетворяет следующему дифференциальному уравнению:
- <math>{dW\over dz} = \frac{1}{z} \frac{W(z)}{W(z)+1}.</math>
С помощью теоремы об обращении рядов можно получить выражение для ряда Тейлора; он в окрестности нуля сходится при <math>|z|<\tfrac{1}{e}</math>:
- <math>W_0(x)=\sum_{n=1}^\infty \frac{(-n)^{n-1}}{n!}\ x^n = x - x^2 + \frac{3}{2}x^3 - \frac{8}{3}x^4 + \frac{125}{24}x^5 - \cdots.</math>
С помощью интегрирования по частям можно найти интеграл от W(z):
- <math>\int W(x)\, dx = x \left( W(x) - 1 + \frac{1}{W(x)} \right) + C.</math>
Значения в некоторых точках
- <math>W\left(-\frac{\pi}{2}\right) = \frac{i\pi}{2}</math>
- <math>W(-1) \approx -0.31813+1.33723i</math>
- <math>W\left(-{1\over e}\right) = -1</math>
- <math>W\left(-\frac{\ln a}{a}\right)= -\ln a</math>, при <math>\frac{1}{e}\le a\le e</math>
- <math>W(0) = 0</math>
- <math>W(e) = 1</math>
- <math>W(1) = \Omega \approx 0{,}56714329</math> (постоянная Омега)
Формулы
<math>W(xe^x)=x, \,x>0</math>
<math>W_0(xe^x)=x, \,x\geqslant-1</math>
<math>W_{-1}(xe^x)=x, \,x\leqslant-1</math>
<math>e^{n\cdot W(x)}=\left(\frac{x}{W(x)}\right)^n</math>
<math>\ln W(x)=\ln x-W(x), \, x>0</math>
<math>W\left(\frac{nx^n}{W(x)^{n-1}}\right)=nW(x) ,\, n>0,x>0</math>
<math>W(x)+W(y)=W\left(xy\left(\frac{W(x)+W(y)}{W(x)W(y)}\right)\right),\, x>0,y>0</math>
Решение уравнений с помощью W-функции
Решения многих трансцендентных уравнений могут быть выражены в форме W-функции.
Пример 1: <math>x\cdot a^x = b</math>
- <math>x\ln a \cdot e^{x\ln a} = b\ln a</math>, следовательно, <math>x\ln a = W(b\ln a)</math>, откуда <math>x = {W(b\ln a)\over\ln a}</math>.
Пример 2: <math>x^x = a</math>
- <math>\ln x \cdot e^{\ln x} = \ln a</math>, следовательно, <math>\ln x = W(\ln a)</math>, откуда <math>x = e^{W(\ln a)}</math>.
Пример 3: <math>a^x = b x</math>
- <math>{1\over b} = x a^{-x}</math>, тогда <math>-{\ln a\over b} = -x\ln a \cdot e^{-x\ln a}</math>, следовательно, <math>W\left(-{\ln a\over b}\right) = -x\ln a</math>, откуда <math>x=-{1\over\ln a}W\left(-{\ln a\over b}\right)</math>.
Обобщенные применения W-Функции Ламберта
Стандартная W-функция Ламберта показывает точные решения трансцендентных алгебраических уравнений формы:
- <math> e^{-c x} = a_o (x-r) ~~\quad\qquad\qquad\qquad\qquad(1)</math>
где a0, c и r являются вещественными константами. Решением такого уравнения является <math> x = r + \frac{1}{c} W\Big( \frac{c\,e^{-c r}}{a_o }\Big)</math>. Ниже перечислены некоторые из обобщенных применений W-функции Ламберта:[2][3][4]
- Эта функция может быть использована в общей теории относительности и в квантовой механике (квантовой гравитации) в нижних измерениях. В журнале «Classical and Quantum Gravity»[5] была представлена ранее неизвестная связь между этими двумя понятиями, где правая сторона уравнения превращается в квадратный многочлен по переменной x:
- <math> e^{-c x} = a_o (x-r_1 ) (x-r_2 ) ~~\qquad\qquad(2)</math>
- и где константы r1 и r2, являются корнями этого квадратичного многочлена. В данном случае решением этого уравнения является функция с аргументом x , а ri и ao являются параметрами этой функции. С этой точки зрения, несмотря на то, что данное обобщенное применение W-функции Ламберта напоминает гипергеометрическую функцию и функцию «Meijer G», оно принадлежит к другому типу функций. Когда r1 = r2, то обе стороны уравнения (2) могут быть упрощены к уравнению (1), и таким образом общее решение упрощается к стандартной W-функцией. Уравнение (2) показывает определяющие отношения в скалярном поле дилатонноя, из чего следует решение задачи измерения линейной гравитации парных тел в 1+1 измерениях (измерение пространства и измерение времени) в случае неравных масс, а также решение задачи двумерного стационарного уравнения Шрёдингера с потенциалом в виде дельта-функции Дирака для неодинаковых зарядов в одном измерении.
- Эта функция может быть использована для решения частной задачи внутренних энергий квантовой механики, состоящей в определении относительного движения трёх тел, а именно трёхмерной молекулярный ион водорода[6][7]. В этом случае правая сторона уравнения (1) (или (2)) теперь становится отношением двух беспредельных многочленов по переменной x:
- <math> e^{-c x} = a_o \frac{\displaystyle \prod_{i=1}^{\infty} (x-r_i )}{\displaystyle \prod_{i=1}^{\infty} (x-s_i)} \qquad \qquad\qquad(3)</math>
- где ri и si константы, а x является функцией между внутренней энергией и расстоянием внутри ядра R. Уравнение (3), а также его упрощённые формы, выраженные в уравнениях (1) и (2), относятся к типу дифференциальных уравнений с запозданием.
Применения W-Функции Ламберта в основных проблемах физики не ограничиваются стандартным уравнением (1), как было недавно показано в областях атомной, молекулярной и оптической физики[8].
Вычисление
<math>W</math>-функция может быть приблизительно вычислена с помощью рекуррентного соотношения[1]:
- <math>
w_{j+1}=w_j-\frac{w_j e^{w_j}-z}{e^{w_j}(w_j+1)-\frac{(w_j+2)(w_je^{w_j}-z)} {2w_j+2}} </math>
Пример программы на языке Python:
import math
def lambertW(x, prec=1e-12):
w = 0
for i in range(100):
wTimesExpW = w * math.exp(w)
wPlusOneTimesExpW = (w + 1) * math.exp(w)
w -= (wTimesExpW - x) / (wPlusOneTimesExpW - (w + 2) * (wTimesExpW - x) / (2 * w + 2))
if prec > abs((x - wTimesExpW) / wPlusOneTimesExpW):
break
if prec <= abs((x - wTimesExpW) / wPlusOneTimesExpW):
raise Exception("W(x) не сходится достаточно быстро при x=%f" % x)
return w
Для приближённого вычисления можно использовать формулу[9]: !!!Приведенная функция похожа, но более чем на 10 % отличается от функции Ламберта
- <math>
W(x) \approx \left\{ \begin{matrix} 0{,}665\cdot (1+0{,}0195\ln(x+1))\ln(x+1) + 0{,}04 & \ :\ & 0<x\le500 \\ \ln(x-4) - (1-{1\over\ln x}) \ln\ln x & \ :\ & x>500 \\ \end{matrix} \right. </math>
Ссылки
- Страницы с игнорируемыми отображаемыми названиями
- Страницы, использующие устаревший тег source
- Русская Википедия
- Страницы с неработающими файловыми ссылками
- Специальные функции
- Статьи с примерами кода Python
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Википедия
- Статья из Википедии
- Статья из Русской Википедии