対数積分 li(x) とは
対数積分関数 li(x) は、0 から x までの 1/ln(t) の積分として定義される特殊関数です。解析的整数論のさまざまな場面に登場しますが、最もよく知られているのは素数定理における素数計数関数 π(x) の主要項としての役割でしょう。すなわち「x 以下の素数の個数はおよそ li(x) に等しい」という近似です。被積分関数は t = 1 に極を持つため、x > 1 の場合の積分はコーシーの主値として解釈します。これが標準的な定義です。
本計算ツールの使い方
x > 0 かつ x ≠ 1 を満たす任意の実数 x を入力してください。本ツールは li(x) を倍精度(有効数字およそ15桁)で出力します。0 と 1 の間の x では有限の負の値となり、li(0) = 0、li(1) は負の無限大(未定義として表示)になります。x ≤ 0 では実数としての li は定義されません。
計算式の解説
本ツールは恒等式 \(\operatorname{li}(x) = \operatorname{Ei}(\ln x)\)(Ei は指数積分)を用います。\(u = \ln(x)\)、オイラー・マスケローニ定数 \(\gamma = 0.5772156649\) として、収束する級数 $$\operatorname{li}(x) = \gamma + \ln|u| + \sum_{k=1}^{\infty} \frac{u^{k}}{k \cdot k!}$$ を評価します。この級数は 0 でないすべての実数 u に対して収束し、各項が累計和のおよそ 1e-18 を下回るまで加算します。
計算例
x = 2 の場合:\(u = \ln(2) = 0.6931472\)、\(\ln|u| = -0.3665129\)、級数の和はおよそ 0.8344608 です。これに γ を加えると、$$\operatorname{li}(2) = 0.5772157 - 0.3665129 + 0.8344608 = 1.04516378$$ となり、既知の参照値 1.0451637801 と一致します。
よくある質問
なぜ li(1) は無限大なのですか? 被積分関数 1/ln(t) は t が 1 に近づくと発散するため、x = 1 で li(x) は負の無限大に向かいます。
li(x) が 0 になるのはどこですか? ラマヌジャン・ゾルトナー定数、すなわち x ≈ 1.4513692349 のときです。
li(x) と Li(x) は同じものですか? オフセット版の \(\operatorname{Li}(x) = \operatorname{li}(x) - \operatorname{li}(2)\) は Li(2) = 0 となるように使われることがあります。本ツールはオフセットなしの li(x) を返します。