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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

-функция Ламберта определяется как обратная функция к , для комплексных . Обозначается или . Для любого комплексного она определяется функциональным уравнением:

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

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

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

[править | править код]
Две главные ветви функции и
График W0(x) для −1/ex ≤ 4

Поскольку функция не является инъективной на интервале , является многозначной функцией на . Если ограничиться вещественными и потребовать , будет определена однозначная функция .

Асимптотики

[править | править код]

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

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

[править | править код]

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

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

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

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

[править | править код]
, при
(постоянная Омега)

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

[править | править код]

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

Пример:

, следовательно, .

Пример:

Обозначим , тогда , отсюда и окончательно .

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

[править | править код]

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

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

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

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

Вычисление

[править | править код]

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

Пример программы на языке 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 % отличается от функции Ламберта

  1. 1 2 Corless et al. On the Lambert W function (неопр.) // Adv. Computational Maths.. — 1996. — Т. 5. — С. 329—359. Архивировано 18 января 2005 года.
  2. T. C. Scott, R. B. Mann. General Relativity and Quantum Mechanics: Towards a Generalization of the Lambert W Function (англ.) // AAECC (Applicable Algebra in Engineering, Communication and Computing) : journal. — 2006. — Vol. 17, no. 1. — P. 41—47. — doi:10.1007/s00200-006-0196-1.
  3. T. C. Scott, G. Fee, J. Grotendorst. Asymptotic series of Generalized Lambert W Function (англ.) // SIGSAM (ACM Special Interest Group in Symbolic and Algebraic Manipulation) : journal. — 2013. — Vol. 47, no. 185. — P. 75—83.
  4. T. C. Scott, G. Fee, J. Grotendorst, W.Z. Zhang. Numerics of the Generalized Lambert W Function (неопр.) // SIGSAM. — 2014. — Т. 48, № 1/2. — С. 42—56.
  5. P. S. Farrugia, R. B. Mann, T. C. Scott. N-body Gravity and the Schrödinger Equation (англ.) // Classical and Quantum Gravity : journal. — 2007. — Vol. 24, no. 18. — P. 4647—4659. — doi:10.1088/0264-9381/24/18/006.
  6. T. C. Scott, M. Aubert-Frécon, J. Grotendorst. New Approach for the Electronic Energies of the Hydrogen Molecular Ion (англ.) // Chem. Phys.[англ.] : journal. — 2006. — Vol. 324. — P. 323—338. — doi:10.1016/j.chemphys.2005.10.031.
  7. Maignan, Aude; Scott, T. C. Fleshing out the Generalized Lambert W Function (неопр.) // SIGSAM. — 2016. — Т. 50, № 2. — С. 45—60. — doi:10.1145/2992274.2992275.
  8. T. C. Scott, A. Lüchow, D. Bressanini, J. D. Morgan III. The Nodal Surfaces of Helium Atom Eigenfunctions (англ.) // Phys. Rev. A : journal. — 2007. — Vol. 75. — P. 060101. — doi:10.1103/PhysRevA.75.060101.
  9. Double precision function LAMBERTW(X) в пакете QCDINS