Main Content

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

zeta

リーマン ゼータ関数

説明

zeta(z) は、z の要素におけるリーマン ゼータ関数を評価します。ここで、z は数値入力またはシンボリック入力です。

zeta(n,z) は、zeta(z)n 次導関数を返します。

数値入力およびシンボリック入力のリーマン ゼータ関数を求める

数値入力に対するリーマン ゼータ関数を求めます。

zeta([0.7 i 4 11/3])
ans =
  -2.7784 + 0.0000i   0.0033 - 0.4182i   1.0823 + 0.0000i   1.1094 + 0.0000i

sym を使用して入力をシンボリック オブジェクトに変換し、リーマン ゼータ関数をシンボリックに求めます。関数 zeta は厳密な結果を返します。

zeta(sym([0.7 i 4 11/3]))
ans =
[ zeta(7/10), zeta(1i), pi^4/90, zeta(11/3)]

zeta は、結果が実装されていないシンボリック入力に対しては未評価の関数呼び出しを返します。実装されている結果はアルゴリズムにリストされています。

シンボリック式の行列に対するリーマン ゼータ関数を求めます。

syms x y
Z = zeta([x sin(x); 8*x/11 x + y])
Z =
[        zeta(x), zeta(sin(x))]
[ zeta((8*x)/11),  zeta(x + y)]

大きな入力に対するリーマン ゼータ関数を求める

|z|>1000 の値に対し、zeta(z) は未評価の関数呼び出しを返すことがあります。expand を使用して、強制的に zeta に関数呼び出しを評価させます。

zeta(sym(1002))
expand(zeta(sym(1002)))
ans =
zeta(1002)
ans =
(1087503...312*pi^1002)/15156647...375

リーマン ゼータ関数の微分

x におけるリーマン ゼータ関数の 3 次導関数を求めます。

syms x
expr = zeta(3,x)
expr =
zeta(3, x)

x = 4 における 3 次導関数を求めるため、subs を使用して x4 を代入します。

expr = subs(expr,x,4)
expr =
zeta(3, 4)

vpa を使用して expr を評価します。

expr = vpa(expr)
expr =
-0.07264084989132137196244616781177

リーマン ゼータ関数の零点のプロット

リーマン ゼータ関数 zeta(x+i*y) の零点は線 x = 1/2 に沿って出現します。関数の絶対値をこの線に沿って 0<y<30 の範囲でプロットし、最初の 3 つの零点を表示します。

syms y
fplot(abs(zeta(1/2+1i*y)),[0 30])
grid on

Figure contains an axes object. The axes object contains an object of type functionline.

入力引数

すべて折りたたむ

入力。数値、ベクトル、行列または多次元配列、あるいはシンボリック数、変数、ベクトル、行列、多次元配列、関数または式として指定します。

微分の次数。非負の整数として指定します。

詳細

すべて折りたたむ

リーマン ゼータ関数

リーマン ゼータ関数は次の式で定義されます。

ζ(z)=k=11kz

この級数は、z の実数部が 1 より大きい場合にのみ収束します。この関数の定義は、解析接続により単純極 z = 1 を除く複素平面全体に拡張されます。

ヒント

  • 大きな値の n に対する浮動小数点評価は時間がかかります。

アルゴリズム

次の厳密な値が適用されます。

  • ζ(0)=12

  • ζ(1,0)=log(π)2log(2)2

  • ζ()=1

  • z<0 および z が偶数の整数の場合、ζ(z)=0.

  • z<0 および z が奇数の整数の場合、

    ζ(z)=bernoulli(1z)1z

    z<1000 に対して、zeta(z) は未評価の関数呼び出しを返します。評価を強制するには expand(zeta(z)) を使用します。

  • z>0 および z が偶数の整数の場合、

    ζ(z)=(2π)z|bernoulli(z)|2z!

    z>1000 に対して、zeta(z) は未評価の関数呼び出しを返します。評価を強制するには expand(zeta(z)) を使用します。

  • n>0 の場合、ζ(n,)=0.

  • 引数がリストの特別値まで評価を行わない場合、zeta はシンボリック関数呼び出しを返します。

バージョン履歴

R2006a より前に導入