このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
polylog
多重対数
説明
例
数値引数およびシンボリック引数の多重対数
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
多重対数の陽的な式
多重対数の階数が 0
、1
または負の整数である場合、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
多重対数を含む式の処理
diff
や int
など、多くの関数は 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)
入力引数
詳細
ヒント
関数
polylog(2,x)
は、関数dilog(1 - x)
と等価です。対数積分関数 (積分対数) は同じ表記li(x)を使用しますが、指標はありません。ツールボックスでは、対数積分関数を計算するための関数
logint
が提供されています。多重対数関数の浮動小数点評価は、複素数引数、または高精度の数値の場合には遅くなることがあります。計算速度を上げるため、関数
vpa
および関数digits
を使用して、浮動小数点精度を下げることができます。詳細は、精度の引き下げによる速度の向上を参照してください。多重対数関数は他の特殊関数と関連しています。たとえば、Hurwitz ゼータ関数 ζ(s,a) やガンマ関数 Γ(z) で次のように表されます。
ここで、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 で導入
参考
dilog
| log
| logint
| hurwitzZeta
| zeta