2022年度計算機演習A・B

第4回:数列の極限

0. 複合代入演算子(前回までの補足)

Pythonでは、変数に対して計算を行った結果を元の変数に代入する際に、複合代入演算子を用いて簡潔な書き方をすることができます。これはC言語などの多くのプログラミング言語に共通するものであり、覚えておくと便利です。

通常の書き方 複合代入演算子を用いた書き方
x = x+a x += a
x = x-a x -= a
x = x*a x *= a
x = x/a x /= a

ただし、1を加算するインクリメント演算子++と1を減算するデクリメント演算子--は、Pythonでは使用できません。

1. グラフの描画

1.1. グラフの描画の基本

Pythonでグラフを描画する際には、matplotlibというライブラリの中のpyplotというライブラリを使用します。

import文でasを使うと、ライブラリに別名(省略名)を付けることができます。matplotlib.pyplotの場合は、慣例的に別名としてpltを使います。

次のコードのように、plot関数を使うと折れ線グラフを描画することができます。

1.2. グラフのスタイル、装飾

plot関数の3つ目の引数では、色、マーカーのスタイル、線のスタイルを指定可能です。

また、次のコードのように、グラフに様々な装飾を施すことができます。

2. 数列の収束・発散

2.1. 定義

ご存知のように、数列は収束する数列と発散する数列に分けられます。さらに、発散する数列は正の無限大に発散する数列、負の無限大に発散する数列、振動する数列に分けられます。

数学的な定義は、次の通りです。

2.2. 数列のグラフの描画

以下では、数列のグラフをプログラムで描画することによって、収束・発散の様子を確認します。

次の式で定まる数列 $\{a_n\}$ と $\{b_n\}$ に対して、第1項から第50項までを用いてグラフを描画してみます。

$$ a_n=\left(1+\frac{1}{n}\right)^n, \quad b_n=\left(1+\frac{1}{n}\right)^{n+1} $$

数列 $\{a_n\}$ と $\{b_n\}$ はどちらもネイピア数 $e=2.71828\ldots$ に収束することが数式から分かりますが、グラフでもその様子が観察できます。また、$\{a_n\}$ は単調増加、$\{b_n\}$ は単調減少な数列であることが確認できます。

演習1

収束する数列、正の無限大(または負の無限大)に発散する数列、振動する数列をそれぞれ一つ考え、第1項から第50項までを用いてグラフを描画してください。ただし、考えた数列の説明(定義式)も書くこと。

(Markdownとして、考えた数列の説明(定義式)を書く)

3. 級数の収束・発散

3.1. 定義

数列の無限個の項の和のことを、級数(無限級数)といいます。数列 $\{a_n\}$ に対しては、級数 $\sum_{n=1}^{\infty}a_n$ を考えることができます。

級数を定める数列の第1項から第 $n$ 項までの和、すなわち $S_n=\sum_{k=1}^{n}a_k$ を第 $n$ 部分和といいます。級数の収束・発散の定義は、次の通りです。

3.2. 級数のグラフの描画

以下では、級数のグラフ(正確には級数の部分和の数列のグラフ)をプログラムで描画することによって、収束・発散の様子を確認します。

次の式で定まる数列 $\{a_n\}$ に対して、級数 $\sum_{n=1}^{\infty}a_n$ の部分和の数列 $\{S_n\}$ の第1項から第50項までを用いてグラフを描画してみます。

$$ a_n=\left(\frac{1}{3}\right)^n $$

級数 $\sum_{n=1}^{\infty}\left(\frac{1}{3}\right)^n$ は $\frac{\frac{1}{3}}{1-\frac{1}{3}}=\frac{1}{2}$ に収束することが数式から分かりますが、グラフでもその様子が観察できます。

演習2

$p$ を正の実数とし、次の式で定まる数列 $\{a^p_n\}$ に対して、級数 $\sum_{n=1}^{\infty}a^p_n$ の部分和 $S^p_n=\sum_{k=1}^{n}a^p_k$ を考えます。

$$ a^p_n=\frac{1}{n^p} $$

$p=0.1,0.5,1,2,4$ の各場合について、部分和の数列 $\{S^p_n\}$ の第1項から第50項までを用いてグラフを描画してください。ただし、五つのグラフをなるべく一つの図にまとめて表示すること。

演習3(オプション)

級数の収束・発散という観点で、演習2に関する考察を書いてください。

(Markdownとして考察を書く)

第4回レポート課題

演習1~演習3に取り組んでください。