Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

polylog

説明

Li = polylog(n,x) は、階数 n、引数 x の多重対数を返します。

数値引数およびシンボリック引数の多重対数

polylog は、使用する引数に応じて浮動小数点数またはシンボリック厳密解の結果を返します。

数値入力引数の多重対数を計算します。関数 polylog は浮動小数点数を返します。

Li = [polylog(3,-1/2), polylog(4,1/3), polylog(5,3/4)]
Li =
  -0.4726    0.3408    0.7697

それらをシンボリック オブジェクトに変換することで、同じ入力引数の多重対数を計算します。ほとんどのシンボリックな (厳密な) 数値について、polylog は未解決のシンボリックな呼び出しを返します。

symA = [polylog(3,sym(-1/2)), polylog(sym(4),1/3), polylog(5,sym(3/4))]
symA =
[ polylog(3, -1/2), polylog(4, 1/3), polylog(5, 3/4)]

vpa を使用して、有効桁数 32 桁の既定数でシンボリックな結果を近似します。

Li = vpa(symA)
Li =
[ -0.47259784465889687461862319312655,...
0.3407911308562507524776409440122,...
0.76973541059975738097269173152535]

関数 polylog は階数 n の非整数値も受け入れます。複素数引数では、polylog を計算します。

Li = polylog(-0.2i,2.5)
Li =
  -2.5030 + 0.3958i

多重対数の陽的な式

多重対数の階数が 01 または負の整数である場合、polylog は陽的な式を返します。

n = 1 の多重対数は対数関数です。

syms x
Li = polylog(1,x)
Li =
-log(1 - x)

n < 1 の多重対数は有理式です。

Li = polylog(0,x)
Li =
-x/(x - 1)
Li = polylog(-1,x)
Li =
x/(x - 1)^2
Li = polylog(-2,x)
Li =
-(x^2 + x)/(x - 1)^3
Li = polylog(-3,x)
Li =
(x^3 + 4*x^2 + x)/(x - 1)^4
Li = polylog(-10,x)
Li =
-(x^10 + 1013*x^9 + 47840*x^8 + 455192*x^7 + ...
1310354*x^6 + 1310354*x^5 + 455192*x^4 +...
47840*x^3 + 1013*x^2 + x)/(x - 1)^11

特別な値

以下のように、polylog 関数の一部のパラメーターは特別な値をもちます。

2 番目の引数が 0 である場合、1 番目の引数の任意の整数値に対する多重対数は 0 に等しくなります。2 番目の引数が 1 である場合、多重対数は 1 番目の引数のリーマン ゼータ関数になります。

syms n
Li = [polylog(n,0), polylog(n,1)]
Li =
[ 0, zeta(n)]

2 番目の引数が -1 である場合、多重対数は 1 番目の引数に対し、1 を除く任意の整数値について特殊な値をもちます。

assume(n ~= 1)
Li = polylog(n,-1)
Li =
zeta(n)*(2^(1 - n) - 1)

その他の計算を行うため、n に設定された仮定を syms を使用して再作成することで消去します。

syms n

多重対数関数のその他の特殊な値を計算します。

Li = [polylog(4,sym(1)), polylog(sym(5),-1), polylog(2,sym(i))]
Li =
[ pi^4/90, -(15*zeta(5))/16, catalan*1i - pi^2/48]

多重対数のプロット

区間 x = [-4 0.3] の内で -3 から 1 までの整数次数 n の多重対数をプロットします。

syms x
for n = -3:1
  fplot(polylog(n,x),[-4 0.3])
  hold on
end
title('Polylogarithm')
legend('show','Location','best')
hold off

Figure contains an axes object. The axes object with title Polylogarithm contains 5 objects of type functionline.

多重対数を含む式の処理

diffint など、多くの関数は polylog を含む式を処理することができます。

多重対数を含むこれらの式を微分します。

syms n x
dLi = diff(polylog(n, x), x)
dLi = diff(x*polylog(n, x), x)
dLi =
polylog(n - 1, x)/x

dLi =
polylog(n, x) + polylog(n - 1, x)

多重対数を含むこれらの式の積分を計算します。

intLi = int(polylog(n, x)/x, x)
intLi = int(polylog(n, x) + polylog(n - 1, x), x)
intLi =
polylog(n + 1, x)

intLi =
x*polylog(n, x)

入力引数

すべて折りたたむ

多重対数の階数。数値、配列、シンボリック数、シンボリック変数、シンボリック関数、シンボリック式、またはシンボリック配列として指定します。

データ型: single | double | sym | symfun
複素数のサポート: あり

多重対数の引数。数値、配列、シンボリック数、シンボリック変数、シンボリック関数、シンボリック式、またはシンボリック配列として指定します。

データ型: single | double | sym | symfun
複素数のサポート: あり

詳細

すべて折りたたむ

多重対数

モジュラス |z| < 1 の複素数 z に対し、階数 n の多重対数は次のように定義されます。

Lin(z)=k=1zkkn.

この関数は解析接続によって複素平面全体に展開され、n ≥1 では分枝切断が実数区間 [1, ∞) に沿っています。

ヒント

  • 関数 polylog(2,x) は、関数 dilog(1 - x) と等価です。

  • 対数積分関数 (積分対数) は同じ表記li(x)を使用しますが、指標はありません。ツールボックスでは、対数積分関数を計算するための関数logintが提供されています。

  • 多重対数関数の浮動小数点評価は、複素数引数、または高精度の数値の場合には遅くなることがあります。計算速度を上げるため、関数 vpa および関数 digits を使用して、浮動小数点精度を下げることができます。詳細は、精度の引き下げによる速度の向上を参照してください。

  • 多重対数関数は他の特殊関数と関連しています。たとえば、Hurwitz ゼータ関数 ζ(s,a) やガンマ関数 Γ(z) で次のように表されます。

    Lin(z)=Γ(1n)(2π)1n[i1nζ(1n,12+ln(z)2πi)+in1ζ(1n,12ln(z)2πi)].

    ここで、n ≠ 0, 1, 2, ... です。

参照

[1] Olver, F. W. J., A. B. Olde Daalhuis, D. W. Lozier, B. I. Schneider, R. F. Boisvert, C. W. Clark, B. R. Miller, and B. V. Saunders, eds., Chapter 25. Zeta and Related Functions, NIST Digital Library of Mathematical Functions, Release 1.0.20, Sept. 15, 2018.

バージョン履歴

R2014b で導入