W-функция Ламберта

Материал из testwiki
Перейти к навигации Перейти к поиску

W-функция Ламберта определяется как обратная функция к f(w)=wew, для комплексных w. Обозначается W(x) или LambertW(x). Для любого комплексного z она определяется функциональным уравнением:

z=W(zez)

W-функция Ламберта не может быть выражена в элементарных функциях. Она применяется в комбинаторике, например, при подсчёте числа деревьев, а также при решении уравнений.

История

Функция изучалась ещё в работе Леонарда Эйлера 1779-го года, но не имела самостоятельного значения и названия вплоть до 1980-х годов. Как самостоятельная функция была введена в системе компьютерной алгебры Maple, где для неё использовалось имя LambertW. Имя Иоганна Генриха Ламберта было выбрано, поскольку Эйлер ссылался в своей работе на труды Ламберта, и поскольку «называть ещё одну функцию именем Эйлера было бы бесполезно»[1].

Многозначность

Основная W0 (синяя) и дополнительная W1 (фиолетовая) ветви функции W(x)
График W0(x) для −1/ex ≤ 4

Поскольку функция f(w) не является инъективной на интервале (,0), W(z) является многозначной функцией на (1e,0).

  • Если ограничиться вещественными z=x1/e и потребовать w1, будет определена однозначная функция W0(x) — основная ветвь функции W(x).
  • Если ограничиться вещественными z=x1/e, z=x<0 и потребовать w1, будет определена однозначная функция W1(x) — дополнительная ветвь функции W(x).

Асимптотики

Полезно знать асимптотики функции при стремлении к некоторым ключевым точкам. Например, для ускорения сходимости при выполнении рекуррентных расчётов.

W(z)|z=log(z)log(log(z))

W(z)|z1e=2(ez+1)1

Другие формулы

0πW(2cot2(x))sec2(x)dx=4π
0+W(1x2)dx=2π
0+W(x)xxdx=22π

Свойства

С помощью дифференцирования неявной функции можно получить, что при z1e функция Ламберта удовлетворяет следующему дифференциальному уравнению:

dWdz=1zW(z)W(z)+1.

С помощью теоремы об обращении рядов можно получить выражение для ряда Тейлора; он в окрестности нуля сходится при |z|<1e:

W0(x)=n=1(n)n1n! xn=xx2+32x383x4+12524x5.

С помощью интегрирования по частям можно найти интеграл от W(z):

W(x)dx=x(W(x)1+1W(x))+C.

Значения в некоторых точках

W(π2)=iπ2
W(1)0.31813+1.33723i
W(1e)=1
W(lnaa)=lna, при 1eae
W(0)=0
W(e)=1
W(1)=Ω0,56714329 (постоянная Омега)

Формулы

W(xex)=x,x>0

W0(xex)=x,x1

W1(xex)=x,x1

enW(x)=(xW(x))n

lnW(x)=lnxW(x),x>0

W(nxnW(x)n1)=nW(x),n>0,x>0

W(x)+W(y)=W(xy(W(x)+W(y)W(x)W(y))),x>0,y>0

Решение уравнений с помощью W-функции

Решения многих трансцендентных уравнений могут быть выражены в форме W-функции.

Пример 1: xax=b

xlnaexlna=blna, следовательно, xlna=W(blna), откуда x=W(blna)lna.

Пример 2: xx=a

xlnx=lna, следовательно, lnax=W(lna), откуда x=lnaW(lna).

Пример 3: ax=bx

1b=xax, тогда lnab=xlnaexlna, следовательно, W(lnab)=xlna, откуда x=1lnaW(lnab).

Обобщённые применения W-функции Ламберта

Стандартная W-функция Ламберта показывает точные решения трансцендентных уравнений формы:

ecx=ao(xr)(1)

где a0, c и r являются вещественными константами. Решением такого уравнения является x=r+1cW(cecrao). Ниже перечислены некоторые из обобщённых применений W-функции Ламберта:[2][3][4]

ecx=ao(xr1)(xr2)(2)
и где константы r1 и r2, являются корнями этого квадратичного многочлена. В данном случае решением этого уравнения является функция с аргументом x , а ri и ao являются параметрами этой функции. С этой точки зрения, несмотря на то, что данное обобщённое применение W-функции Ламберта напоминает гипергеометрическую функцию и функцию «Meijer G», оно принадлежит к другому типу функций. Когда r1 = r2, то обе стороны уравнения (2) могут быть упрощены к уравнению (1), и таким образом общее решение упрощается к стандартной W-функцией. Уравнение (2) показывает определяющие отношения в скалярном поле дилатонноя, из чего следует решение задачи измерения линейной гравитации парных тел в 1+1 измерениях (измерение пространства и измерение времени) в случае неравных масс, а также решение задачи двумерного стационарного уравнения Шрёдингера с потенциалом в виде дельта-функции Дирака для неодинаковых зарядов в одном измерении.
  • Эта функция может быть использована для решения частной задачи внутренних энергий квантовой механики, состоящей в определении относительного движения трёх тел, а именно трёхмерной молекулярный ион водорода[6][7]. В этом случае правая сторона уравнения (1) (или (2)) теперь становится отношением двух беспредельных многочленов по переменной x:
ecx=aoi=1(xri)i=1(xsi)(3)
где ri и si константы, а x является функцией между внутренней энергией и расстоянием внутри ядра R. Уравнение (3), а также его упрощённые формы, выраженные в уравнениях (1) и (2), относятся к типу дифференциальных уравнений с запозданием.

Применения W-функции Ламберта в основных проблемах физики не ограничиваются стандартным уравнением (1), как было недавно показано в областях атомной, молекулярной и оптической физики[8] и критерий «Кейпер-Ли» для Гипотеза Римана[9].

Вычисление

W-функция может быть приблизительно вычислена с помощью рекуррентного соотношения[1]:

wj+1=wjwjewjzewj(wj+1)(wj+2)(wjewjz)2wj+2

Пример программы на языке 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

Для приближённого вычисления можно использовать следующую формулу[10]. W(x){0,665(1+0,0195ln(x+1))ln(x+1)+0,04 : 0<x500ln(x4)(11lnx)lnlnx : x>500 Приведённая функция похожа, но более чем на 10 % отличается от функции Ламберта.

Примечания

Шаблон:Примечания