DivisorSigma[k,n]
約数関数
を返す.
DivisorSigma
DivisorSigma[k,n]
約数関数
を返す.
詳細とオプション
- DivisorSigmaは,約数関数あるいは約数の和の関数としても知られている.
- 記号操作・数値操作の両方に適した数学的整数関数である.
- DivisorSigma[k,n]は n の約数の k 次ベキの和である.
- 数
(
は単元で
は素数)について,DivisorSigma[k,n]は
を返す. - GaussianIntegers->Trueのとき,DivisorSigmaはガウス整数である約数を含む.
- DivisorSigma[k,m+In]は自動的にガウス整数上で作用する.
例題
すべて開く すべて閉じる例 (2)
Divisors[20]DivisorSigma[1, 20]DivisorSigma[2, 20]DivisorSigmaを対数スケールの値でプロットする:
DiscretePlot[{DivisorSigma[0, n], DivisorSigma[1, n], DivisorSigma[2, n]}, {n, 50}, ...]スコープ (12)
数値評価 (4)
DivisorSigmaは整数に使うことができる:
DivisorSigma[2, 6]DivisorSigma[-2, 10]DivisorSigma[1 / 2, 12]DivisorSigma[1, 3 + I]DivisorSigma[2, 6, GaussianIntegers -> True]DivisorSigma[2, 10 ^ 30]DivisorSigmaは要素単位でリストに縫い込まれる:
DivisorSigma[2, {1, 2, 3, 4, 5}]記号演算 (8)
TraditionalFormによる表示:
DivisorSigma[k, n]//TraditionalFormReduce[DivisorSigma[1, n] == 3n && 0 < n < 4000, n, Integers]Solve[DivisorSigma[2, n] == n ^ 2 + 1 && 0 < n < 10, n, Integers]FullSimplify[DivisorSigma[1, 2 ^ (p - 1)(2 ^ p - 1)], Element[2 ^ p - 1, Primes]]FullSimplify[DivisorSigma[0, n] < EulerPhi[n], n∈Integers && n > 30]総和の中でDivisorSigmaを使う:
Sum[DivisorSigma[0, n] / n ^ s, {n, Infinity}]DirichletTransform[DivisorSigma[k, n], s, n]DivisorSigma[k, 30]Sum[DivisorSigma[k, n] / n ^ s, {n, Infinity}]オプション (1)
アプリケーション (13)
基本的なアプリケーション (3)
一般にDivisorSigma[d,n]=∑k|nkdである:
Table[{DivisorSigma[d, 2 ^ 12 - 1], Sum[k ^ d, {k, Divisors[2 ^ 12 - 1]}]}, {d, 0, 5}]//GridListPlot[Table[DivisorSigma[0, n, GaussianIntegers -> True] / DivisorSigma[0, n], {n, 200}], Filling -> Axis]DivisorSigmaを対数スケールの値でプロットする:
DiscretePlot[{DivisorSigma[0, n], DivisorSigma[1, n], DivisorSigma[2, n]}, {n, 50}, ...]特殊数列 (4)
Select[Range[30], DivisorSigma[1, #] == 2#&]Select[Range[30], DivisorSigma[1, #] < 2#&]Select[Range[30], DivisorSigma[1, #] > 2#&]高度に合成された数を認識する [詳細]:
highlyCompositeQ[n_] := Length[Select[Range[n - 1], DivisorSigma[0, #] ≥ DivisorSigma[0, n]&]] == 0;Select[Range[20], highlyCompositeQ]友愛数(異なる2つの数.各々の真の約数の和がもう一方の数と等しい)を認識する:
amicablePairQ[n_, m_] := DivisorSigma[1, n] - n == m && DivisorSigma[1, m] - m == n;amicablePairQ[220, 284]amicablePairQ[10, 4]kPerfectQ[k_, n_] := DivisorSigma[1, n] == k n;kPerfectQ[3, 120]kPerfectQ[2, 6]整数論 (6)
n が
のベキ乗なら,n の約数の和は
になるが,これは n を概完全数にする:
n = 2 ^ 10;
{DivisorSigma[1, n], 2 n - 1}ある数が完全平方のときかつそのときにかぎり,約数の数は奇数である:
DivisorSigma[0, #]&@{2, 3, 5, 6, 7, 8, 10}DivisorSigma[0, #]&@{1, 4, 9}オイラー(Euler)のトーシェント関数と約数の数を比較する:
DiscretePlot[{EulerPhi[n], DivisorSigma[0, n]}, {n, 50}, Rule[...]]Show[ListPlot[Table[Sum[DivisorSigma[0, i], {i, n}] / n, {n, 50}]], Plot[Log[n] + 2EulerGamma - 1, {n, 1, 50}]]NestList[DivisorSigma[1, #] - #&, 276, 20]ListLinePlot[Log[10, NestList[DivisorSigma[1, #] - #&, 276, 100]]]ListLinePlot[Table[Table[Log[DivisorSigma[n, n + m] / DivisorSigma[n, n]], {n, 100}], {m, 5}]]特性と関係 (6)
DivisorSigmaは,約数の
次ベキの和である:
Total[Divisors[100] ^ 5]DivisorSigma[5, 100]DivisorSumを使って約数の和を求める:
DivisorSum[100, # ^ 5&]DivisorSigmaは乗法的関数である:
DivisorSigma[3, 18] DivisorSigma[3, 25] == DivisorSigma[3, 18 25]PerfectNumberQ[28]DivisorSigma[-1, 28](DivisorSigma[1, #] < 2#) & /@ Select[Range[100], PrimePowerQ]p = RandomPrime[100];DivisorSigma[0, p] == 2DivisorSigma[1, p] == p + 1n = 5;
DivisorSigma[0, p ^ n] == n + 1DivisorSigmaを使って約数の積を求める:
a = 24;
Product[d, {d, Divisors[a]}]a ^ (1 / 2DivisorSigma[0, a])考えられる問題 (1)
GaussianIntegers->Trueのとき,ネイティブな定義では正しい結果が出ない:
DivisorSigma[2, 100, GaussianIntegers -> True]Total[Divisors[100, GaussianIntegers -> True] ^ 2]DivisorSigmaを倍に増える関数にするために,因数を含む定義が使用されている:
Times@@((#1 ^ ((#2 + 1)2) - 1) / (#1 ^ 2 - 1)&@@@({Select[#1 {1, -1, I, -I}, (Re[#] > 0 && Im[#] > 0)&][[1]], #2}&@@@FactorInteger[100, GaussianIntegers -> True]))おもしろい例題 (4)
DivisorSigmaのフーリエ変換の引数をプロットする:
ArrayPlot[Arg[Fourier[Table[DivisorSigma[m, n], {m, 100}, {n, 100}]]], ColorFunction -> Hue]DivisorSigmaのフーリエ変換の絶対値をプロットする:
ArrayPlot[Abs[Fourier[Table[DivisorSigma[m, n], {m, 100}, {n, 100}]]], ColorFunction -> Hue]DivisorSigmaのフーリエ変換の引数をプロットする:
ArrayPlot[Arg[Fourier[Table[If[x + I y == 0, 0, DivisorSigma[4, x + I y, GaussianIntegers -> True]], {x, 0, 128}, {y, 0, 128}]]], ColorFunction -> "Rainbow"]ulam[n_] := Partition[Permute[Range[n ^ 2], Accumulate[Take[Flatten[{{n ^ 2 + 1} / 2, Table
[(-1) ^ j i, {j, n}, {i, {-1, n}}, {j}]}], n ^ 2]]], n];ArrayPlot[DivisorSigma[0, ulam[71]], ColorFunction -> "Rainbow"]テクニカルノート
履歴
1988 で導入 (1.0)
テキスト
Wolfram Research (1988), DivisorSigma, Wolfram言語関数, https://reference.wolfram.com/language/ref/DivisorSigma.html.
CMS
Wolfram Language. 1988. "DivisorSigma." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/DivisorSigma.html.
APA
Wolfram Language. (1988). DivisorSigma. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/DivisorSigma.html
BibTeX
@misc{reference.wolfram_2026_divisorsigma, author="Wolfram Research", title="{DivisorSigma}", year="1988", howpublished="\url{https://reference.wolfram.com/language/ref/DivisorSigma.html}", note=[Accessed: 10-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_divisorsigma, organization={Wolfram Research}, title={DivisorSigma}, year={1988}, url={https://reference.wolfram.com/language/ref/DivisorSigma.html}, note=[Accessed: 10-September-2026]}