DiscreteLimit[f,{k1
,…,kn
}]
整数上のネストした極限
⋯
f(k1,…,kn)を与える.
DiscreteLimit[f,{k1,…,kn}{
,…,
}]
整数上の多変量極限
f(k1,…,kn)を与える.
DiscreteLimit
DiscreteLimit[f,{k1
,…,kn
}]
整数上のネストした極限
⋯
f(k1,…,kn)を与える.
DiscreteLimit[f,{k1,…,kn}{
,…,
}]
整数上の多変量極限
f(k1,…,kn)を与える.
詳細とオプション
- DiscreteLimitは,整数上の離散極限あるいは極限としても知られている.
- DiscreteLimitは数列 f の変数 k あるいは kiが任意に大きくなるときの極限値を計算する.
- DiscreteLimit[f,k∞]は
fで入力できる.テンプレート
は
dlim
で入力し,
を使って真下付き文字から本体にカーソルを移動する. - DiscreteLimit[f,{k1,…,kn}{
,…,
}]は
…
f で入力できる. - 可能な極限点
は±∞である. - 有限極限値 f*について
-
DiscreteLimit[f,k∞]f* すべての
について,
が
を暗示するような
が存在するDiscreteLimit[f,{k1,…,kn}{∞,…,∞}]f* すべての
について,
が
を暗示するような
が存在する - DiscreteLimit[f[k],k-∞]はDiscreteLimit[f[-l],l∞]等に等しい.
- DiscreteLimitは,極限が存在しないと証明できる場合はIndeterminateを返し,極限が求まらないときは未評価で返される.
- 使用可能なオプション
-
Assumptions $Assumptions パラメータについての仮定 GenerateConditions Automatic パラメータについての条件を生成するかどうか Method Automatic 使用するメソッド PerformanceGoal "Quality" パフォーマンスのどの面について最適化するか - GenerateConditionsの可能な設定
-
Automatic 一般的ではない条件のみ True すべての条件 False 条件なし None 条件が必要なときは未評価で返す - PerformanceGoalの可能な設定には,$PerformanceGoal,"Quality","Speed"がある."Quality"と設定すると,DiscreteLimitでより多くの問題が解かれたり単純な結果が与えられたりするが,時間とメモリ消費は大きくなる可能性がある.
例題
すべて開く すべて閉じる例 (4)
DiscreteLimit[n / (n + 1), n -> ∞]DiscretePlot[{n / (n + 1), 1}, {n, 10, 50}, PlotRange -> {0.8, 1}]DiscreteLimit[(n / (n + 2))E ^ (-m / (m + 1)), {m -> ∞, n -> ∞}]DiscretePlot3D[{(n / (n + 2))E ^ (-m / (m + 1)), 1 / E}, {n, 10, 60}, {m, 10, 60}, Filling -> None]
dlim
を使ってテンプレート
を入力し,
を使って真下付き文字から本体に移動する:
Underscript[, nUnderscript[ -> , ℤ]∞]Sin[n]TraditionalFormによる表現:
DiscreteLimit[f[n], n -> Infinity]//TraditionalFormスコープ (37)
基本的な用法 (4)
n がInfinityに近付く際の数列の極限を計算する:
DiscreteLimit[3n ^ 2 / (n ^ 2 + 5), n -> ∞]DiscretePlot[{3n ^ 2 / (n ^ 2 + 5), 3}, {n, 0, 30}]n が-Infinityに近付く際の数列の極限を計算する:
DiscreteLimit[E ^ n, n -> -∞]DiscreteLimit[E ^ (-m / (m + 1))(n / (n + 1)), {m -> ∞, n -> ∞}]DiscreteLimit[{(n / (n + 2)), E ^ (-n / (n + 1))}, n -> ∞]初等関数数列 (7)
DiscreteLimit[(3n) / (1 + 6n), n -> ∞]DiscretePlot[(3n) / (1 + 6n), {n, 0, 50}]DiscreteLimit[(10 / 9) ^ n, n -> ∞]DiscretePlot[(10 / 9) ^ n, {n, 0, 50}]DiscreteLimit[E ^ (1 / n), n -> ∞]DiscretePlot[E ^ (1 / n), {n, 1, 50}]DiscreteLimit[E ^ ((2n) / (n + 2)), n -> ∞]DiscretePlot[{E ^ ((2n) / (n + 2)), E ^ 2}, {n, 0, 50}]DiscreteLimit[Cos[2 / n], n -> ∞]DiscretePlot[Cos[2 / n], {n, 1, 50}]DiscreteLimit[ArcTan[n] / n, n -> ∞]DiscretePlot[ArcTan[n] / n, {n, 1, 50}]DiscreteLimit[Log[n + 1] - Log[n], n -> ∞]DiscretePlot[Log[n + 1] - Log[n], {n, 1, 50}]Limit[ArcTan[Log[n]], n -> ∞]DiscretePlot[ArcTan[Log[n]], {n, 1, 50}]整数関数数列 (5)
DiscreteLimit[Binomial[2n, n] / n!, n -> ∞]FactorialPowerを含む数列の極限:
DiscreteLimit[FactorialPower[n, m] / n!, n -> ∞]DiscreteLimit[FactorialPower[n, 2] / (5n ^ 2 + 1), n -> ∞]Factorialを含む数列の極限:
DiscreteLimit[E ^ (-n) n! / 3 ^ n, n -> ∞]DiscretePlot[E ^ (-n) n! / 3 ^ n, {n, 1, 20}]DiscreteLimit[(-5) ^ n / n!, n -> ∞]DiscretePlot[(-5) ^ n / n!, {n, 1, 20}]DiscreteLimit[Fibonacci[n] / 2 ^ n, n -> ∞]DiscretePlot[Fibonacci[n] / 2 ^ n, {n, 0, 35}]DiscreteLimit[Fibonacci[n] / LucasL[n], n -> ∞]DiscretePlot[Fibonacci[n] / LucasL[n], {n, 0, 35}]Pochhammerを含む極限:
Limit[n ^ x n! / Pochhammer[x, n + 1], n -> ∞]交代数列 (3)
DiscreteLimit[(-1) ^ n / n, n -> ∞]DiscretePlot[(-1) ^ n / n, {n, 1, 50}]DiscreteLimit[n (-1) ^ n, n -> ∞]DiscretePlot[n(-1) ^ n, {n, 1, 50}]DiscreteLimit[(-1) ^ n, n -> ∞]DiscretePlot[(-1) ^ n, {n, 1, 50}]周期数列 (3)
DiscreteLimit[Mod[n, 2] + 1, n -> ∞]DiscretePlot[Mod[n, 2] + 1, {n, 1, 20}, PlotRange -> {0, 2}]DiscreteLimit[Mod[n, 2] / n, n -> ∞]DiscretePlot[Mod[n, 2] / n, {n, 1, 20}, PlotRange -> {0, 1}]Table[Mod[3 ^ n + (-1) ^ n, 9], {n, 12}]DiscreteLimit[Mod[3 ^ n + (-1) ^ n, 9], n -> ∞]DiscreteLimit[Sin[n], n -> ∞]DiscretePlot[Sin[n], {n, 1, 150}]DiscreteLimit[Exp[Sin[2n] ^ 2 / (2 + Cos[n])], n -> ∞]DiscretePlot[Exp[Sin[2n] ^ 2 / (2 + Cos[n])], {n, 1, 150}]区分関数数列 (3)
DiscreteLimit[Piecewise[{{n, n ≤ 10}}, Sin[n Pi] + 12], n -> ∞]DiscretePlot[Piecewise[{{n, n ≤ 10}}, Sin[n Pi] + 12], {n, 0, 25}]DiscreteLimit[Piecewise[{{Sin[n], n ≤ 10}}, n], n -> ∞]DiscretePlot[Piecewise[{{Sin[n], n ≤ 20}}, n / 20], {n, 0, 75}]DiscreteLimit[Piecewise[{{1 + 1 / n, Mod[n, 2] == 0}, {-1 - 1 / n, Mod[n, 2] == 1}}], n -> ∞]DiscretePlot[Piecewise[{{1 + 1 / n, Mod[n, 2] == 0}, {-1 - 1 / n, Mod[n, 2] == 1}}], {n, 1, 75}]Floorを含む極限:
DiscreteLimit[Floor[n + Floor[n + 5E ^ (-n)n ^ 2]] / n, n -> ∞]DiscretePlot[Floor[n + Floor[n + 5n ^ 2 E ^ (-n)]] / n, {n, 1, 15}, PlotRange -> {0, 3}]整数論関数数列 (4)
Primeを含む極限を計算する:
DiscreteLimit[Prime[n] / n, n -> ∞]DiscretePlot[Prime[n] / n, {n, 1, 75}]DiscreteLimit[Prime[n] / n ^ 2, n -> ∞]DiscretePlot[Prime[n] / n ^ 2, {n, 1, 75}]Primeの位数は
である:
DiscreteLimit[Prime[n] / (n Log[n]), n -> ∞]DiscretePlot[Prime[n] / (n Log[n]), {n, 10 ^ 8, 10 ^ 9, 10 ^ 7}, PlotRange -> {0.8, 1.2}]PrimePiを含む極限:
DiscreteLimit[PrimePi[n], n -> ∞]DiscretePlot[PrimePi[n], {n, 0, 75}]DiscreteLimit[PrimePi[n] / n, n -> ∞]Plot[PrimePi[n] / n, {n, 10, 10 ^ 7}, ScalingFunctions -> {"Log", None}]PrimePiの位数は
である:
DiscreteLimit[PrimePi[n] / (n / Log[n]), n -> ∞]Plot[{PrimePi[n] / (n / Log[n]), 1}, {n, 10, 10 ^ 7}, PlotRange -> {0, 1.5}, ScalingFunctions -> {"Log", None}, PlotTheme -> "DashedLines"]PartitionsPとPartitionsQを含む極限:
DiscreteLimit[ (n PartitionsP[n]) / E ^ (Sqrt[2 / 3] Sqrt[n] Pi), n -> ∞]DiscreteLimit[(n ^ (3 / 4) PartitionsQ[n]) / E ^ (Sqrt[n / 3] Pi), n -> ∞]DiscreteLimit[MoebiusMu[n] / n, n -> ∞]DiscretePlot[MoebiusMu[n] / n, {n, 1, 100}]DiscreteLimit[EulerPhi[n] / Sqrt[n], n -> ∞]DiscretePlot[EulerPhi[n] / Sqrt[n], {n, 1, 100}]DiscreteLimit[DivisorSigma[0, n] / n, n -> ∞]DiscretePlot[DivisorSigma[0, n] / n, {n, 1, 100}]ネストした数列と多変量数列 (2)
DiscreteLimit[2 ^ (1 / n) (m ^ 2 / (m ^ 2 + Sin[m])), {m -> ∞, n -> ∞}]DiscretePlot3D[{2 ^ (1 / n) (m ^ 2 / (m ^ 2 + Sin[m])), 1}, {n, 10, 60}, {m, 10, 60}, Filling -> None]DiscreteLimit[Sin[(5 π/n) + (m/m + 1)], {m, n} -> {∞, ∞}]DiscretePlot3D[{Sin[5Pi / n + m / (m + 1)], 1}, {n, 1, 60}, {m, 1, 60}, Filling -> None]DiscreteLimit[Sin[(π n/3)]Cos[(π m/4)], {m, n} -> {∞, ∞}]形式数列 (6)
Inactiveな和を含む数列の極限を計算する:
DiscreteLimit[Inactive[Sum][1/k^2, {k, 1, n}], n -> ∞]DiscretePlot[{Sum[(1/k^2), {k, 1, n}], π ^ 2 / 6}, {n, 1, 50}, AxesOrigin -> {0, 0}]DiscreteLimit[(n^2 HarmonicNumber[n]/Inactive[Sum][k*HarmonicNumber[k], {k, 1, n}]), n -> ∞]DiscreteLimit[(Binomial[2 n, n]/Inactive[Sum][Binomial[2*k, k], {k, 1, n}]), n -> ∞]DiscreteLimit[(Inactive[Sum][k^2*Inactive[Sum][2^i/i, {i, k}], {k, n}]/2^n n), n -> ∞]Inactiveな和のネストした極限:
DiscreteLimit[Inactive[Sum][1/k^((2*(m + 1))/(m - 1)), {k, 1, n}], {m -> ∞, n -> ∞}]DiscreteLimitとSumを交互に使って2ステップで同じ結果を得る:
DiscreteLimit[1 / k ^ ((2 * (m + 1)) / (m - 1)), m -> ∞]DiscreteLimit[Inactive[Sum][%, {k, 1, n}], n -> ∞]Inactiveな積を含む数列の極限:
DiscreteLimit[Inactive[Product][1 - 1/k^4, {k, 2, n}], n -> ∞]DiscretePlot[{Product[1 - 1 / k ^ 4, {k, 2, n}], Sinh[Pi] / (4 * Pi)}, {n, 1, 50}, PlotRange -> {0.914, 0.93}]DiscreteLimit[Inactive[Product][1 - 1/k^2, {k, -n, -2}], n -> ∞]Inactiveな積のネストした極限:
DiscreteLimit[Inactive[Product][1 - (1 - 2^(-m))/k^3, {k, 2, n}], {n -> ∞, m -> ∞}]DiscreteLimitとProductを交互に使って2ステップで同じ結果を得る:
DiscreteLimit[(1 - (1 - 2^-m/k^3)), m -> ∞]DiscreteLimit[Inactive[Product][%, {k, 2, n}], n -> ∞]Inactiveな連分数を含む数列の極限:
DiscreteLimit[Inactive[ContinuedFractionK][k^2, 2*k - 1, {k, 1, n}], n -> ∞]DiscreteLimit[Inactive[ContinuedFractionK][1, Mod[k, 2] + 1, {k, 1, n}], n -> ∞]Inactiveな連分数を含むネストした極限:
DiscreteLimit[Inactive[ContinuedFractionK][1, Mod[k, 5] + 3^(-m) + 1, {k, 1, n}], {n -> ∞, m -> ∞}]DiscreteLimitとContinuedFractionKを使って2ステップで同じ結果を得る:
DiscreteLimit[Mod[k, 5] + 3^-m + 1, m -> ∞]DiscreteLimit[Inactive[ContinuedFractionK][1, %, {k, 1, n}], n -> ∞]オプション (6)
Assumptions (1)
GenerateConditions (3)
DiscreteLimit[y ^ n, n -> ∞, GenerateConditions -> False]DiscreteLimit[y ^ n, n -> ∞]DiscreteLimit[Exp[a n], n -> ∞, GenerateConditions -> None]DiscreteLimit[Exp[a n], n -> ∞]デフォルトで,特殊な値が結果を無効にするときにのみ条件が生成されなくなる:
DiscreteLimit[(x y/x^2 + (-1 + a x)^2 y^2), {x, y} -> {∞, ∞}]GenerateConditions->Trueとすると,このように一般的ではない条件もレポートされる:
DiscreteLimit[(x y/x^2 + (-1 + a x)^2 y^2), {x, y} -> {∞, ∞}, GenerateConditions -> True]Method (1)
DiscreteLimit[n / (2n + 1), n -> ∞]Limitへの呼出しを使って同じ答を得る:
DiscreteLimit[n / (2n + 1), n -> ∞, Method -> "Limit"]与えられた数列は周期的ではないので,周期数列用のメソッドはうまくいかない:
DiscreteLimit[n / (2n + 1), n -> ∞, Method -> "Periodic"]PerformanceGoal (1)
DiscreteLimitは,任意の大周期の数列を含む極限を計算する:
expr = 1 / (Mod[n, 31] + 1 / (7 + Mod[n, 10 ^ 5]));DiscreteLimit[expr, n -> ∞]そのような場合にコストが高くなりそうな計算をPerformanceGoalを使って回避する:
DiscreteLimit[expr, n -> ∞, PerformanceGoal -> "Speed"]MethodオプションはPerformanceGoalをオーバーライドする:
DiscreteLimit[expr, n -> ∞, Method -> "Periodic", PerformanceGoal -> "Speed"]アプリケーション (35)
幾何極限 (3)
p[n_, r_] = Perimeter[RegularPolygon[r, n]]DiscreteLimit[p[n, r], n -> ∞]a[n_, r_] = Area[RegularPolygon[r, n]]DiscreteLimit[a[n, r], n -> ∞]n が大きくなるにつれて,内接多角形,外周と面積の近似値が変化する様子を可視化する:
Animate[Grid@List@{Graphics[{Red, Circle[], Hue[0.6, 0.5], RegularPolygon[n]}], p == N[p[n, r], {5, 5}], a == N[a[n, r], {5, 5}]}, {n, Join[Range[3, 10], {15, 20, 100, 1000}], Appearance -> "Labeled"}, SaveDefinitions -> True]図示したように,半径 r の球を 2n 個の円柱で被覆することを考える:
Animate[Graphics3D[{{Red, Ball[]}, Opacity[0.65],
Table[{Cylinder[{{0, 0, (k - 1/n)}, {0, 0, (k/n)}}, Sqrt[1 - ((k - 1/n))^2]], Cylinder[{{0, 0, (-k/n)}, {0, 0, (1 - k/n)}}, Sqrt[1 - ((k - 1/n))^2]]}, {k, 1, n}]}, Boxed -> False], {n, 1, 20, 1, Appearance -> "Labeled", ImageSize -> Small}]2Underoverscript[∑, k = 1, n](r/n)π(r^2 - ((k/n)r)^2)DiscreteLimitを n->Infinityで使うと球の体積が返される:
DiscreteLimit[%, n -> ∞]Volume[Ball[{x, y, z}, r]]以下の関数とそのプロットで定義された矩形の集合について考える:
f[x_] := x ^ 2 + 1rectangles[f_, a_, b_, n_] := {Opacity[0.75], Red, N@Table[Rectangle[{a + k(b - a) / n, 0}, {a + (k + 1)(b - a) / n, f[a + k(b - a) / n]}], {k, 0, n - 1}]}Plot[f[x], {x, 0, 2}, Epilog -> rectangles[f, 0, 2, 5], AxesOrigin -> {0, 0}]これらの矩形の面積は,曲線下の面積を近似するリーマン(Riemann)和を定義する:
RiemannSum[f_, a_, b_, n_] :=
Sum[f[(a + (b - a)k / n)], {k, 0, n - 1}] (b - a) / nRiemannSum[f, 0, 2, n]DiscreteLimitを使って厳密な答を得る:
DiscreteLimit[%, n -> ∞]Integrateを使って同じ面積を直接得る:
Integrate[f[x], {x, 0, 2}]label[f_, a_, b_, n_] := StringForm["TraditionalFormSubscriptBox[A, curve] == ``\ \ \ SubscriptBox[A, rects] = ``", NumberForm[N@Subsuperscript[∫, a, b]f[x]ⅆx, {4, 3}], NumberForm[N@RiemannSum[f, a, b, n], {4, 3}]]With[{a = 0, b = 2}, Manipulate[Plot[fn[x], {x, a, b}, Filling -> Axis, AxesOrigin -> {0, 0}, Epilog -> rectangles[fn, a, b, 2^n], PlotLabel -> label[fn, a, b, 2^n]], {{n, 1, Dynamic@StringForm["n = ``", 2^n]}, 1, 12, 1}, {{fn, f}, {f, CubeRoot, Sin, Abs[2# - 1]& -> HoldForm@2x - 1}}, SaveDefinitions -> True]]和と積 (6)
DiscreteLimit[Sum[(1 / 3) ^ k, {k, 0, n}], n -> ∞]Sumを使って同じ答を得る:
Sum[(1 / 3) ^ k, {k, 0, ∞}]a[n_] := 2 ^ n n ^ 3 / n!SumConvergence[a[n], n]DiscreteLimit[Sum[2 ^ n n ^ 3 / n!, {n, 1, k}], k -> ∞]Sumを使って結果を直接計算する:
Sum[2 ^ n n ^ 3 / n!, {n, 1, ∞}]有限個の項の和から始めて,無限級数が発散することを証明する:
Sum[(-1) ^ k, {k, 0, n}]DiscreteLimit[%, n -> ∞]SumConvergenceとSumを使って発散を確認する:
SumConvergence[(-1) ^ k, k]Sum[(-1) ^ k, {k, 0, ∞}]Regularizationを使って,この級数のアーベル(Abel)和を求める:
Sum[(-1) ^ k, {k, 0, ∞}, Regularization -> "Abel"]Sum[1 / (i + j) ^ 3, {i, 1, m}, {j, 1, n}]//FullSimplifyDiscreteLimit[%, {m -> ∞, n -> ∞}]//ExpandSumを直接使って同じ答を得る:
Sum[1 / (i + j) ^ 3, {i, 1, ∞}, {j, 1, ∞}]DiscreteLimit[Product[(1 - 1 / k ^ 2), {k, 2, n}], n -> ∞]Productを使って同じ答を得る:
Product[(1 - 1 / k ^ 2), {k, 2, ∞}]MatrixPower[{{1, -θ / n}, {θ / n, 1}}, n]DiscreteLimit[%, n -> ∞]//FullSimplifyRotationMatrix[θ]級数収束 (4)
一般項が以下で与えられる級数の収束を,比判定法を使って検証する:
a[n_] := E ^ (-n)(4n + 1)! / (5n)!この級数のDiscreteRatioを計算する:
rat = DiscreteRatio[a[n], n]DiscreteLimit[rat, n -> ∞]SumConvergenceを使って結果を検証する:
SumConvergence[a[n], n]一般項が以下で与えられた級数の収束を,ベキ根判定法を使って検証する:
a[n_] := n ^ 3 / 2 ^ nDiscreteLimit[a[n] ^ (1 / n), n -> ∞]SumConvergenceを使って結果を検証する:
SumConvergence[a[n], n]一般項が以下で与えられる級数の収束を,ラーベ(Raabe)判定法を使って検証する:
a[n_] := n / (n ^ 3 + 2n + 1)DiscreteLimit[a[n] / a[n + 1], n -> ∞]DiscreteLimit[n(Abs[(a[n]/a[n + 1])] - 1), n -> ∞]SumConvergenceを使って結果を検証する:
SumConvergence[a[n], n]一般項が以下で与えられる級数の発散を,発散判定法を使って検証する:
a[n_] := n / (n + 1)DiscreteLimit[a[n], n -> ∞]SumConvergenceを使って結果を検証する:
SumConvergence[a[n], n]従来の定義 (3)
次の数列が0に収束することを示し,ϵ=1/7で従来の定義を検証する:
a[n_] := Sqrt[n + 1] - Sqrt[n]L = DiscreteLimit[a[n], n -> ∞]ϵ = 1 / 7;この定義がすべての n>=12を満足することをReduceを使って示す:
Reduce[Abs[a[n] - L] < ϵ, n, Integers]DiscretePlotを使って結果を検証する:
DiscretePlot[{a[n] - L, ϵ}//Evaluate, {n, 3, 30}]次の数列がInfinityに発散することを示し,M=35で従来の定義を検証する:
a[n_] := Sqrt[16n^2 - 15n + 1]L = DiscreteLimit[a[n], n -> ∞]M = 35;この定義がすべての n >= 10を満足することをReduceを使って示す:
Reduce[Abs[a[n]] > M && n > 0, n, Integers]DiscretePlotを使って結果を検証する:
DiscretePlot[{a[n], M}//Evaluate, {n, 3, 15}]h[n_] := (1/n)DiscreteLimit[Abs[h[n] / h[n + 1]], n -> ∞]a[n_] := (1/2 ^ (Ceiling[Log[2, n]]))Table[a[n], {n, 15}]Table[h[n] - a[n], {n, 15}]Table[Sum[a[k], {k, 1, 2^n - 1}], {n, 9}]Sum[h[k], {k, 1, n}]任意の正の整数
について
であるので,
はいずれ
を超え,
に発散する:
DiscreteLimit[HarmonicNumber[n], n -> ∞]SumConvergence[h[n], n]しかし,発散はゆっくりで,
を超えるまでに
を超える項数が必要である:
Plot[{HarmonicNumber[n], 10}, {n, 1, 10 ^ 6}, PlotRange -> All, ScalingFunctions -> {"Log", None}]回帰数列 (3)
RSolveValueを使って指定された非線形回帰数列の極限を計算する:
DiscreteLimit[RSolveValue[{x[n + 1] == x[n] - (x[n]) ^ 2, x[0] == 1 / 3}, x[n], n], n -> ∞]ListPlot[RecurrenceTable[{x[n + 1] == x[n] - (x[n]) ^ 2, x[0] == 1 / 3}, x[n]//Evaluate, {n, 0, 10}], PlotStyle -> Red]RSolveValueを使って指定された三角回帰数列の極限を計算する:
DiscreteLimit[RSolveValue[{x[n + 1] == Cos[x[n]] / 2, x[1] == π / 3}, x[n], n], n -> ∞]ListPlot[RecurrenceTable[{x[n + 1] == Cos[x[n]] / 2, x[1] == π / 3}, x[n], {n, 1, 20}], PlotStyle -> Red]DiscreteLimit[RSolveValue[{x[n + 1] == Sqrt[6 + x[n]], x[1] == Sqrt[6]}, x[n], n], n -> ∞]ListPlot[RecurrenceTable[{x[n + 1] == Sqrt[6 + x[n]], x[1] == 1 / 4}, x[n], {n, 1, 15}], PlotStyle -> Red]数学定数 (5)
DiscreteLimit[(2 ^ (4 n + 1) n! ^ 4) / ((2 n + 1) (2 n)! ^ 2), n -> ∞]Sumの極限として
を計算する:
DiscreteLimit[4Sum[(-1) ^ (k + 1) / (2k - 1), {k, 1, n}], n -> ∞]DiscreteLimit[(1 + 1 / n) ^ n, n -> ∞]数列の極限を使ってEulerGammaを計算する:
DiscreteLimit[HarmonicNumber[n] - Log[n], n -> ∞]Fibonacciを含む数列を使って黄金比を計算する:
DiscreteLimit[DiscreteRatio[Fibonacci[n], n], n -> ∞]% == GoldenRatio数学関数 (2)
DiscreteLimit[(1 + x / n) ^ n, n -> ∞]Log[x]を数列の極限として表す:
DiscreteLimit[n (x ^ (1 / n) - 1), n -> ∞]シュトルツ・チェザロの定理 (2)
シュトルツ・チェザロ(Stolz–Cesàro)の定理は,ロピタルの定理の離散版で,適切な条件のもとで数列の比の極限の計算に使うことができる.以下がその定理である:
DiscreteLimit[a[n] / b[n], n -> Infinity] ==
DiscreteLimit[DifferenceDelta[a[n], n] /
DifferenceDelta[b[n], n], n -> Infinity];以下で定義される数列についてのシュトルツ・チェザロの定理を検証する:
a[n_] := 3n + 5;b[n_] := 7n - 11DiscreteLimit[DifferenceDelta[a[n], n] /
DifferenceDelta[b[n], n], n -> ∞]DiscreteLimitを直接使って同じ結果を得る:
DiscreteLimit[a[n] / b[n], n -> ∞]DiscretePlot[{a[n] / b[n], 3 / 7}, {n, 10, 50}, PlotRange -> {0.4, 0.6}]以下で定義される数列についてのシュトルツ・チェザロの定理を検証する:
a[n_] := Inactive[Sum][(k + 25) ^ 24, {k, 1, n}]b[n_] := n ^ 25DiscreteLimit[DifferenceDelta[a[n], n] /
DifferenceDelta[b[n], n], n -> ∞]DiscreteLimitを直接使って同じ結果を得る:
DiscreteLimit[a[n] / b[n], n -> ∞]DiscretePlot[{a[n] / b[n], 1 / 25}//Activate//Evaluate, {n, 300, 750, 10}, PlotRange -> {0, 0.3}]計算の複雑性 (3)
のとき,アルゴリズムのランタイム関数
は「little-o of
」(
)であると言われる:
o[n_][f_, g_] := Replace[Underscript[, nUnderscript[ -> , ℤ]∞](f/g) == 0, Indeterminate == _ -> False]同様に,
のとき,
は「little-omega of
」(
)であると言われる:
ω[n_][f_, g_] := Replace[Underscript[, nUnderscript[ -> , ℤ]∞](f/g) == ∞, Indeterminate == _ -> False]{o[n][ 10n^2 + 5n + 1, n^3], ω[n][ n^3, 10n^2 + 5n + 1]}{o[n][1 + Cos[n] ^ 2, 1], ω[n][1 + Cos[n] ^ 2, 1]}さらに,どちらの関係も関数とそれ自身との間で成り立たないこともある:
{o[n][f[n], f[n]], ω[n][f[n], f[n]]}したがって,
と
はアルゴリズムのランタイムの空間上で半順序を定義する:
runtimes = {n ^ 2, 1, n, n Log[n], 1 + Cos[n] ^ 2, Exp[n]};大きい入力に対して
と関連付けられたアルゴリズムが
と関連付けられたアルゴリズムよりもはるかに速いときは,
:
Sort[runtimes, o[n]]Sort[runtimes, ω[n]]
と
は比較できないので,2つのリストは厳密に逆の関係ではない点に注意のこと:
% === Reverse[%%]以下が成立するなら,アルゴリズムランタイム関数
は「big-theta of
」(
)であると言われる:
Θ[f_, g_, n_] := 0 < Underscript[, nUnderscript[ -> , ℤ]∞](f/g) ≤ Underscript[, nUnderscript[ -> , ℤ]∞](f/g) < ∞実行に時間
がかかるアルゴリズム(次数
の多項式)について考える:
p[n_] := Subsuperscript[∑, i = 0, k]Subscript[d, i]n^iこの関数の単項式
との比は,無限大における首位係数
に達する:
DiscreteLimit[p[n] / n^k, n -> ∞, Assumptions -> k > 0]この数列には極限があるので,最大極値と最小極値はどちらもこの値と一致しなければならない:
Assuming[k > 0, Θ[p[n], n^k, n]]アルゴリズムランタイムについて,すべての多項式アルゴリズムが
となるためには,
は正の有限数でなければならない:
Simplify[%, Subscript[d, k] > 0]したがって,大きい入力のランタイムの決定には,多項式の首位項のみが重要である:
Block[{k = 4}, DiscretePlot[Evaluate[{p[n], n^k} /. Join[{Subscript[d, k] -> 1},
Table[Subscript[d, i] -> RandomInteger[{-10, 10}], {i, 0, k - 1}]]], {n, 1, 100}]]comp = RSolveValue[{f[n] == 2 f[n / 2] + 3 / 2n, f[1] == 1}, f[n], n]asympcomp = DiscreteLimit[comp / (n Log[n]), n -> ∞](n Log[n])DiscretePlot[{comp, asympcomp}, {n, 1, 500, 10}]一様収束 (2)
f[n_, x_] := Sin[n x] / Sqrt[n]DiscreteLimit[f[n, x], n -> ∞, Assumptions -> 0 ≤ x ≤ 2Pi]f[n, (Pi/2n)]したがって,任意の
について,
はすべての
で
となり収束が一様であることを暗示する:
Plot[Evaluate[Table[f[n, x], {n, {1, 4, 9, 16}}]], {x, 0, π}, PlotLegends -> "Expressions"]DiscreteLimit[Integrate[f[n, x], {x, 0, π}], n -> ∞]Integrate[DiscreteLimit[f[n, x], n -> ∞], {x, 0, π}]g[n_, x_] := n x (1 - x ^ 2) ^ nDiscreteLimit[g[n, x], n -> ∞, Assumptions -> 0 < x < 1]DiscreteLimit[g[n, (1/Sqrt[1 + 2n])], n -> ∞]このことは,関数の数列の収束が一様ではないことを示している:
Plot[Evaluate[Table[g[n, x], {n, 4, 16, 4}]], {x, 0, 1}, PlotLegends -> "Expressions"]DiscreteLimit[Integrate[g[n, x], {x, 0, 1}, Assumptions -> n > 1], n -> ∞]Integrate[DiscreteLimit[g[n, x], n -> ∞, Assumptions -> 0 ≤ x ≤ 1], {x, 0, 1}]さまざまな応用 (2)
ポスト(Post)の反転公式を使って
の逆ラプラス変換を計算する:
PostInverseLaplaceTransform[F_, s_, t_] /; !FreeQ[F, s] := DiscreteLimit[FullSimplify[(-1/k!)(-(k/t))^k + 1(D[F, {s, k}] /. s -> k / t), k∈Integers && k > 0], k -> ∞, Assumptions -> t > 0]PostInverseLaplaceTransform[1 / s, s, t]InverseLaplaceTransformを使って同じ結果を得る:
InverseLaplaceTransform[1 / s, s, t]Flist = {1 / s, 1 / s ^ 2, 1 / (s - 1), 1 / (s ^ 2 + 1), s / (s ^ 2 + 1), 1 / (s ^ 2 - 1), s / (s ^ 2 - 1)};Grid[Join[{{F[s], InverseLaplaceTransform[F[s], s, t]}}, Transpose[{Flist, FullSimplify[Map[PostInverseLaplaceTransform[#, s, t]&, Flist], t > 0]}]], Background -> {None, {{None, GrayLevel[.9]}}, {{1, 1} -> Hue[.6, .4, 1], {1, 2} -> Hue[.6, .4, 1]}}, BaseStyle -> {FontFamily -> Times, FontSize -> 16}, Dividers -> All, FrameStyle -> Hue[.6, .4, .8], Spacings -> {5, 1}]//TraditionalForm確率変数の数列についての確率分布の極限は,それが存在するのなら,漸近分布と呼ばれる.確率と試行回数の積である平均値 λ が定数である二項分布の数列についての漸近分布としてのポアソン(Poisson)分布を得る:
p[n_, λ_] = PDF[BinomialDistribution[n, λ / n], k]plim = DiscreteLimit[p[n, λ], n -> ∞]これがPoissonDistributionのPDFであることを検証する:
plim - PDF[PoissonDistribution[λ], k]//FullSimplifyλ=8のとき n のさまざまな値についてこの分布をプロットする.すべての k>n について確率密度関数が0である点に注意のこと:
DiscretePlot[{p[10, 8], p[12, 8], p[16, 8], p[64, 8], PDF[PoissonDistribution[8], k]}//Evaluate, {k, 0, 20}, PlotMarkers -> {Automatic, Tiny}, Joined -> True, Filling -> {5 -> Axis}, PlotLegends -> PointLegend[Flatten@
{Row[{λ == 8, ", ", n == #}]& /@ {10, 12, 16, 64}, PoissonDistribution[8]}]]特性と関係 (15)
f[n] := (n/n + 1)DiscreteLimit[c f[n], n -> ∞] == c DiscreteLimit[f[n], n -> ∞]f と g が有限極限を持つとき,DiscreteLimitは和について分配的である:
f[n_] := n / (n + 1)g[n_] := 5 - 1 / nDiscreteLimit[f[n] + g[n], n -> ∞] == DiscreteLimit[f[n], n -> ∞] + DiscreteLimit[g[n], n -> ∞]f と g が有限極限を持つとき,DiscreteLimitは積について配分的である:
f[n_] := E ^ (n / (n + 1))g[n_] := 4 + 1 / nDiscreteLimit[f[n]g[n], n -> ∞] == DiscreteLimit[f[n], n -> ∞]DiscreteLimit[g[n], n -> ∞]f[n_] := (1 + 1 / n) ^ nDiscreteLimit[f[n] ^ m, n -> ∞] == DiscreteLimit[f[n], n -> ∞] ^ m関数構成と数列極限操作は,連続関数では入れ替えることができる:
f[n_] := Sin[n]g[n_] := (n + 1) / n;DiscreteLimit[f[g[n]], n -> ∞] == f[DiscreteLimit[g[n], n -> ∞]]h[n_] := Ceiling[n]DiscreteLimit[h[g[n]], n -> ∞] == f[DiscreteLimit[h[g[n]], n -> ∞]]DiscreteLimit[Sin[n / 20] / n, n -> ∞]Reduce[(-1/n) ≤ (Sin[n / 20]/n) ≤ (1/n)]境界関数の極限は0である.このことはもとの極限が0であったことを証明する:
DiscreteLimit[1 / n, n -> ∞]DiscretePlot[{Sin[n / 20] / n, 1 / n, -1 / n}, {n, 200, 900}]シュトルツ・チェザロの定理を使って2つの数列の比の極限を求めることができる:
f[n_] := 2ng[n_] := n + 1DiscreteLimit[f[n], n -> ∞] == DiscreteLimit[g[n], n -> ∞] == ∞シュトルツ・チェザロの定理は,極限を正しく計算するために適用される:
DiscreteLimit[f[n] / g[n], n -> ∞] == DiscreteLimit[Subscript[, n]f(n) / Subscript[, n]g(n), n -> ∞]DiscreteLimit[Subscript[, n]f(n) / Subscript[, n]g(n), n -> ∞]Limitが存在するなら,DiscreteLimitも存在する.両者の値は等しい:
f[n_] := n / (n + 1)Limit[f[n], n -> ∞]DiscreteLimit[f[n], n -> ∞]g[n_] := Sin[n π]DiscreteLimit[g[n], n -> ∞]Limit[g[n], n -> ∞]Show[Plot[g[n], {n, 0, 10}], DiscretePlot[g[n], {n, 0, 10}, PlotMarkers -> {"Point", Large}]]DiscreteLimitが存在するならDiscreteMaxLimitも存在する.両者の値は等しい:
f[n_] := Sin[n π]DiscreteLimit[f[n], n -> ∞]DiscreteMaxLimit[f[n], n -> ∞]DiscreteLimitが存在するならDiscreteMinLimitも存在する.両者の値は等しい:
f[n_] := Cos[2n π] + 3DiscreteLimit[f[n], n -> ∞]DiscreteMinLimit[f[n], n -> ∞]f = 2n + 1;DiscreteLimit[DifferenceDelta[f, n], n -> ∞] == DiscreteLimit[f / n, n -> ∞]f = FactorialPower[2, n] / FactorialPower[3, n];DiscreteLimit[DiscreteRatio[f, n], n -> ∞] == DiscreteLimit[f^1 / n, n -> ∞]f = (n + 1/n + 2);S = Sum[f, n]DiscreteLimit[f, n -> ∞] == DiscreteLimit[S / n, n -> ∞]f = (n + 1/n + 2);P = Product[f, n]DiscreteLimit[f, n -> ∞] == DiscreteLimit[P^1 / n, n -> ∞]数列の極限は,最終値定理を介してそのZTransformに関連している:
f = 1 / n!;DiscreteLimit[f, n -> Infinity] == Limit[(z - 1)ZTransform[f, n, z], z -> 1]おもしろい例題 (1)
f[n_] := {1 / n, n ^ 2, 3n / (n + 4), (-1) ^ n, 5 Sin[n / 3] / n, MoebiusMu[n] / n}range = {{0, 1 / 2}, {0, 2 * 10 ^ 3}, {0, 3}, {-1.2, 1.2}, {-2, 2}, {-1 / 2, 1 / 2}};Grid[Partition[Table[With[{r1 = f[n][[m]], r3 = range[[m]]},
DiscretePlot[r1, {n, 1, 40}, PlotRange -> r3, ImageSize -> 210, PlotLabel -> Style[ToString[HoldForm[TraditionalForm[DiscreteLimit[r1, n -> Infinity]]]] <> " = " <> ToString[TraditionalForm[DiscreteLimit[f[n][[m]], n -> Infinity]]], 13]]], {m, 1, 6}], 2], Frame -> All]テキスト
Wolfram Research (2017), DiscreteLimit, Wolfram言語関数, https://reference.wolfram.com/language/ref/DiscreteLimit.html.
CMS
Wolfram Language. 2017. "DiscreteLimit." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/DiscreteLimit.html.
APA
Wolfram Language. (2017). DiscreteLimit. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/DiscreteLimit.html
BibTeX
@misc{reference.wolfram_2026_discretelimit, author="Wolfram Research", title="{DiscreteLimit}", year="2017", howpublished="\url{https://reference.wolfram.com/language/ref/DiscreteLimit.html}", note=[Accessed: 04-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_discretelimit, organization={Wolfram Research}, title={DiscreteLimit}, year={2017}, url={https://reference.wolfram.com/language/ref/DiscreteLimit.html}, note=[Accessed: 04-September-2026]}