ランベルトのW関数

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。Flightbridge (会話 | 投稿記録) による 2016年2月18日 (木) 03:13個人設定で未設定ならUTC)時点の版 (→‎数値計算: 人名を修正)であり、現在の版とは大きく異なる場合があります。

ランベルトのW関数(ランベルトのだぶりゅーかんすう、Lambert's W function) とは、次の関数逆関数である。

1ex ≤ 4 における W0(x) のグラフ。

ただし、ew指数関数 は任意の複素数である。

概要

「ランベルトのW関数」という名前は、ヨハン・ハインリッヒ・ランベルト にちなんで名づけられた。また、オメガ関数(―かんすう、Omega function)、対数積(たいすうせき、product log) という呼び名もある。

ランベルトのW関数は、通常 と表記される。ここで、任意の複素数 に対して、次式が成立する。

関数 f は (−∞, 0) において単射ではないため、関数 W は [-1e, 0) で多価となる。もし、定義域実数 x ≥ −1e値域w ≥ − 1 に制限するとすれば (これを分岐 (branch cut, en) と呼ぶ)、グラフで示した一価の関数 W0(x) が定義される。特に、W0(0)=0, W0(−1e)=−1 である。

ランベルトのW関数は、初等関数では表現できない。これは、の数え上げなどの、組合せ論の分野において有用である。また、これは、指数関数を含む様々な方程式を解くのに使われたり、y′(t) = ay(t−1) のような遅延微分方程式英語版(time-delayed differential equations) の解に現れたりする。

陰関数微分公式によって、W を次のような微分方程式を満たすものとして表示できる。

W0 の 0 近傍におけるテイラー級数は、ラグランジュ逆定理英語版を用いると求めることができ、次式で与えられる。

ダランベールの収束判定法によると、収束半径1e である。この級数によって定義された関数は、定義域が複素数全体で、分岐区間 (−∞, 1e] に持つ正則関数に拡張することができる。この関数は、ランベルトのW関数の主値として定義される。

方程式の求解への応用

指数関数を含む方程式の多くは、W関数を用いることで解くことができる。主な方針は、未知数を含む項を方程式の左辺(あるいは右辺)に寄せ、W関数で解を表現できる x ex の形にすることである。例えば、方程式 を解くには、両辺を 2t で割り、1=5 te(−ln(2) t) と変形する。そして両辺を 5 で割り、−ln(2) を掛ける。すると、−ln(2)5 = −ln(2) t e(−ln(2) t) となる。ここで、W関数を用いれば、−ln(2) t = W(−ln(2)5)、即ち t = −W(-ln(2)5)/ln(2) となる。

同様の方法で、xx = z の解は、

あるいは

x=exp(W(ln(z)))

となる。

複素数の無限回の累乗

が収束するとき、ランベルトのW関数を用いれば、その極限値を次のように表現できる。

ただし、log(z) は複素対数関数主値とする。

関数 、あるいは を使って表現される関数の積分は、多くの場合 (即ち、) と置換することで解ける。

特殊値

オメガ定数

一般化

標準的なランベルトのW関数を用いることで、次の形の(xに関する)"超越代数"方程式の厳密解が表示される。

ここで、a0, c と r は実数の定数であり、解は となる。 Lambert W関数の一般化[1][2][3]は以下の状況がある。

  • 低次元空間における一般相対性理論量子力学 (量子重力理論) の応用は実にこれまで違ったようにこの2領域に繋がっている。例えば、”Journal of Classical and Quantum Gravity”[4]で示しているように、(1)のイコールの右にある部分は二次元多項式 ’’x’’で、
となる。そのうち、 r1 と r2 は 別々の定数であって、二次元多項式の根でもある。関数の解には x という単一引数があったが、ri と ao は関数の媒介変数である。そうすれば、”hypergeometric”(超幾何級数)のような関数(超幾何分布)と”Meijer G”は異なった階層の関数に属している。r1 = r2 のようになると、(2)の両側の式を(1)に分解できる。したがって、その解を簡素化して標準的W関数にすることができる。(2)の式は”dilaton”(アクシオン) の方程式を表していて、そしてそれは一次元空間に不均質にチャージする為の量子力学におけるダブルウェールディラックによるデルタ関数モデルの固有エネルギーと同様に不均等な残りの総体の為に1+1 次元(一次元空間及び一次元時間)の中にある、R=Tか二体重力の問題の測定基準によって導き出された。
  • 量子力学における三体問題の特別な場合、即ち(三次元)水素分子イオン[5]における固有エネルギーの解析解に関して。この場合式(1)(あるいは(2))の右辺は、x についての無限次元多項式の比によって次のようになる。
ここで risi は異なる実数の定数であり、x は固有エネルギーと核間距離 R の関数である。式(3)とその特別な場合である式(1)(2)は、大きなクラスの遅延微分方程式英語版と関係がある。

物理学の基礎的な問題におけるランベルトのW関数の応用はまだ出尽くしていない。これは近年原子・分子・光物理学英語版で見られるような、式(1)で表される標準的な問題についても言える。[6]

数値計算

W関数は、漸化式

を用いることで数値計算することができる。この計算法は、コーレス(Corless) らによって与えられた。これを計算する Pythonコードを以下に示す。誤差の評価には、シャポー゠ブロンドー(Chapeau-Blondeau) と モニール(Monir) によるものを用いている。

#!/usr/bin/env python2
import math

class Error(Exception):
    pass

def lambertW(x, prec=1e-12):
    w = 0
    for i in xrange(100):
        wTimesExpW = w * math.exp(w)
        wPlusOneTimesExpW = (w+1) * math.exp(w)
        if prec > abs((x-wTimesExpW) / wPlusOneTimesExpW):
            break
        w = w - (wTimesExpW-x)/(
            wPlusOneTimesExpW - (w+2)*(wTimesExpW-x)/(2*w+2))
    else:
        raise Error("W doesn't converge fast enough for {}".format(x))
    return w

これは、 における主値を計算するものである。初期値の選び方次第で、性能を上げることができる。

以下に示す閉じた形の近似は、さほど精度を要求ない場合や、上のコードに少ない反復回数で優れた初期値を与える際に用いる。

double
desy_lambert_W(double x) {
      double  lx1;
      if (x <= 500.0) {
              lx1 = log(x + 1.0);
              return 0.665 * (1 + 0.0195 * lx1) * lx1 + 0.04;
      }
      return log(x - 4.0) - (1.0 - 1.0/log(x)) * log(log(x));
}

http://www.desy.de/~t00fri/qcdins/texhtml/lambertw/ より)

Mathematica には ProductLog という名前で実装されており、値を対話的な操作で計算したり、解析的な演算 (不定積分、微分など) をしたり、プロットしたりできる[7]。またフリーC言語ライブラリである GNU Scientific Library では gsl_sf_lambert_W0 という名前などで実装されている[8]

関連項目

脚注

  1. ^ Scott, T.C.; Mann, R.B.; Martinez Ii, Roberto E. (2006). “General Relativity and Quantum Mechanics: Towards a Generalization of the Lambert W Function”. AAECC (Applicable Algebra in Engineering, Communication and Computing) 17 (1): 41–47. arXiv:math-ph/0607011. doi:10.1007/s00200-006-0196-1. 
  2. ^ Scott, T. C.; Fee, G.; Grotendorst, J. (2013). “Asymptotic series of Generalized Lambert W Function”. SIGSAM (ACM Special Interest Group in Symbolic and Algebraic Manipulation) 47 (185): 75–83. http://www.sigsam.org/cca/issues/issue185.html. 
  3. ^ Scott, T. C.; Fee, G.; Grotendorst, J.; Zhang, W.Z. (2014). “Numerics of the Generalized Lambert W Function”. SIGSAM 48 (188): 42–56. http://www.sigsam.org/cca/issues/issue188.html. 
  4. ^ P.S. Farrugia, R.B. Mann, and T.C. Scott, N-body Gravity and the Schrödinger Equation, Class. Quantum Grav. vol. 24, (2007), pp. 4647-4659, [1]; Arxiv [2]
  5. ^ T.C. Scott, M. Aubert-Frécon and J. Grotendorst, New Approach for the Electronic Energies of the Hydrogen Molecular Ion, Chem. Phys. vol. 324, (2006), pp. 323-338, [3]; Arxiv [4]
  6. ^ T.C. Scott, A. Lüchow, D. Bressanini and J.D. Morgan III, The Nodal Surfaces of Helium Atom Eigenfunctions, Phys. Rev. A 75, (2007), p. 060101, [5]
  7. ^ Wolfram research の解説ページ (英語)
  8. ^ GSL reference manual の Lambert W Functions の項 (英語)

参考文献・外部リンク