• 目次
  • 理解
  • 事例
  • コード
  • まとめ

【理解】階差数列の数学的解説

階差数列の公式について

「階差数列」とは

隣り合う二項の差の数列のこと。

<定義>階差数列

$b_n = a_{n+1} - a_n$

詳細はこちら
定義(階差数列)

数列 $\{ a_n \}_{n\in \mathbb{N}}$ について, $$\displaystyle b_{n} = a_{n+1} - a_n$$ で定義される数列 $\{ b_n \}_{n\in \mathbb{N}}$ を階差数列という.

階差数列を含む漸化式

数列 $\{ a_n \}_{n\in \mathbb{N}}$ の漸化式として $$a_{n+1} - a_n = f(n)$$ が成り立っているとする. $f(n)$ は自然数 $n$ の関数である. このとき, $b_n=f(n)$ という数列 $\{ b_n \}_{n\in \mathbb{N}}$ は $\{ a_n \}_{n\in \mathbb{N}}$ の階差数列である.

例えば, $1$, $3$, $6$, $10$, $15$, $21$, $28$, $\cdots$ の階差数列は, $2$, $3$, $4$, $5$, $6$, $7$, $\cdots$ です。

<公式>一般項の表現

$\displaystyle a_n = a_1 + \sum_{k=1}^{n-1} b_k$ $(n \geq 2 )$

証明はこちら
階差数列 $\{ b_n \}$ から元の数列 $\{ a_n \}$ の一般項を求める式を理解してみよう。
公式(階差数列から一般項の導出)

数列 $\{a_n\}$ の初項を $a_1$, その階差数列を $\{b_n\}$ とする。 $n \geq 2$ において $$ a_n = a_1 + \sum_{k=1}^{n-1} b_k $$ が成り立つ。

階差数列の定義は $b_k = a_{k+1} - a_k$ である。

§各項の展開と相殺

$n \geqq 2$ のとき, $k=1, \ \cdots , n-1$ の各 $b_k$ を書き並べると次のようになる。 $$ \begin{aligned} b_1 &= a_2 - a_1 \\ b_2 &= a_3 - a_2 \\ b_3 &= a_4 - a_3 \\ &\vdots \\ b_{n-1} &= a_n - a_{n-1} \end{aligned} $$ これらの式の辺々を加えると, 右辺の中間項($a_2, a_3, \dots, a_{n-1}$)がすべて打ち消し合い, 最初と最後だけが残る。

§和の計算

$$ \sum_{k=1}^{n-1} b_k = a_n - a_1 $$

§結論

$-a_1$ を左辺に移項することで, 次の公式が得られる。 $$ a_n = a_1 + \sum_{k=1}^{n-1} b_k \quad (n \geqq 2) $$

たとえば, $1$, $3$, $6$, $10$ という数列の階差数列は, $2=3-1$, $3=6-3$, $4=10-6$ の, $2$. $3$, $4$ です。 $2 + 3+ 4$ $=10-1$ なので, 元の数列の初項の $1$ に階差数列を3つ足すと, 4番目の $10$ になっています。

<公式>階差数列の和

$\displaystyle \sum_{k=1}^{n} b_k = a_{n+1}-a_1$

証明はこちら
階差数列 $\{ b_n \}$ の和は元の数列 $\{ a_n \}$ で簡単に書けることを示してみよう。
命題:階差数列の和と一般項の関係

数列 $\{ a_n \}$ の階差数列を $\{ b_n \}$ とする。階差数列の和について, $$ \sum_{k=1}^n b_k = a_{n+1} - a_1 $$ が成り立つ。

数列 $\{a_n\}$ の階差数列 $\{ b_n \}$ の定義は $b_k = a_{k+1}-a_k$ である。 $k=1$ から $k=n$ までの各項を書き並べて和をとる。

$$ \begin{array}{rcccl} b_{n} & = & a_{n+1} & - & a_{n} \\ b_{n-1} & = & a_{n} & - & a_{n-1} \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ b_2 & = & a_{3} & - & a_2 \\ +) \quad b_1 & = & a_2 & - & a_1 \\ \hline \displaystyle \sum_{k=1}^{n}b_k & = & a_{n+1} & - & a_1 \end{array} $$ 上のように縦に並べて和をとると, $a_2, a_3, \cdots, a_n$ がそれぞれプラスとマイナスで打ち消し合い, 右辺には $a_{n+1}$ と $-a_1$ だけが残る。

§結論

ゆえに, $$ \sum_{k=1}^n b_k = a_{n+1} - a_1 $$ が成り立つ。

たとえば, $1$, $3$, $6$, $10$ という数列の階差数列は, $(3-1=)2$, $(6-3=)3$, $(10-6=)4$ です。

それらの和は, $2 + 3+ 4$ $=10-1$ $=9$ になっています。

<公式>数列の和の階差数列

$\begin{aligned}
a_n &= S_{n} - S_{n-1} (n \geqq 2) \\
a_1 &=S_1 \end{aligned}$

証明はこちら

数列 $\{ a_n \}$ とその和 $S_n$ の関係式を理解してみよう。

公式

数列 $\{ a_n \}_{n}$ の和を $ S_n$ とする.

$a_1=S_1$ であり,

$n \geq 2$ のとき,

$\displaystyle a_n = S_n - S_{n-1}$

である.

証明.

$\{a_n\}$ の階差数列 $\{ b_n \}$ の定義は

$b_n = a_{n+1}-a_n$

であった.

$n \geq 2$ のとき, $b_1$, $\cdots$, $b_{n-1}$ を $\{a_n\}$ で表し, 和を取る.

$\begin{array}{ccccc}
b_{n-1} &= &a_{n} &- &a_{n-1} \\
\vdots & = & \vdots & - & \vdots \\
b_2 &= &a_{3} &- &a_2 \\
b_1 &= &a_2 &- &a_1 \\ \hline
\displaystyle \sum_{k=1}^{n-1}b_k &= &a_n &- & a_1
\end{array}$

ゆえに, $n \geq 2$ のとき,

$\displaystyle a_n = a_1 + \sum_{k=1}^{n-1}b_k$

は成り立つ.

たとえば,

$1$, $3$, $6$, $10$

という数列の階差数列は,

$2=3-1$
$3=6-3$
$4=10-6$

の, $2$. $3$, $4$ です。

$2 + 3+ 4$ $=10-1$

なので, 元の数列の初項の $1$ に階差数列を3つ足すと, 4番目の $10$ になっています。

階比数列の公式について

「階比数列」とは

隣り合う二項の比の数列のこと。

<定義>階比数列

$b_n = a_{n+1} / a_n$

詳細はこちら
定義(階比数列)

数列 $\{ a_n \}_{n\in \mathbb{N}}$ について, $$\displaystyle b_{n} = \frac{a_{n+1}}{a_n}$$ で定義される数列 $\{ b_n \}_{n\in \mathbb{N}}$ を階比数列という. ただし, $a_n \neq 0$ であるとする.

階比数列を含む漸化式

数列 $\{ a_n \}_{n\in \mathbb{N}}$ の漸化式として $$\frac{a_{n+1}}{a_n} = f(n)$$ が成り立っているとする. $f(n)$ は自然数 $n$ の関数である. このとき, $b_n=f(n)$ という数列 $\{ b_n \}_{n\in \mathbb{N}}$ は $\{ a_n \}_{n\in \mathbb{N}}$ の階比数列である.

例えば, $1$, $2$, $6$, $24$, $120$, $720$, $5040$, $\cdots$ の階比数列は, $2$, $3$, $4$, $5$, $6$, $7$, $\cdots$ です。

<公式>一般項の表現

$\displaystyle a_n = a_1 \times \prod_{k=1}^{n-1} b_k$ $(n \geq 2 )$

詳細はこちら
階比数列 $\{ b_n \}$ から元の数列 $\{ a_n \}$ の一般項を求める式を理解してみよう。
公式(階比数列による一般項の導出)

数列 $\{a_n\}$ の初項を $a_1$, その階比数列を $\displaystyle b_n = \frac{a_{n+1}}{a_n}$ とするとき, $n \geq 2$ について $$ \begin{aligned} a_n &= a_1 \times \prod_{k=1}^{n-1} b_k \\ &= a_1 \cdot b_1 \cdot b_2 \cdot \cdots \cdot b_{n-1} \end{aligned} $$ が成り立つ。

階比数列の定義 $\displaystyle b_k = \frac{a_{k+1}}{a_k}$ より, $n \geq 2$ において $b_1$ から $b_{n-1}$ までの積を考える。

§辺々の積をとる

各項を定義に従って書き並べると次のようになる。 $$ \begin{aligned} b_1 &= \frac{a_2}{a_1} \\ b_2 &= \frac{a_3}{a_2} \\ &\vdots \\ b_{n-1} &= \frac{a_n}{a_{n-1}} \end{aligned} $$ これらの辺々の積をとると: $$ \prod_{k=1}^{n-1} b_k = \frac{a_2}{a_1} \cdot \frac{a_3}{a_2} \cdot \frac{a_4}{a_3} \cdots \frac{a_n}{a_{n-1}} $$

§計算

分子と分母で共通する項 $a_2, a_3, \dots, a_{n-1}$ がすべて約分されるため, 右辺には $a_1$ と $a_n$ だけが残る。 $$ \prod_{k=1}^{n-1} b_k = \frac{a_n}{a_1} $$

§結論

両辺に $a_1$ を掛けることで, 求める一般項の式が得られる。 $$ a_n = a_1 \times \prod_{k=1}^{n-1} b_k $$

たとえば, $1$, $2$, $6$, $24$, $\cdots$ という数列の階比数列は, $2=2/1$, $3=6/2$, $4=24/6$ の, $2$, $3$, $4$ です。

$2 \cdot 3\cdot 4$ $=24/1$ なので, 元の数列の初項の $1$ に階比数列を3つかけると, 4番目の $24$ になっています。

【事例】階差数列の具体例

<事例>カエル🐸ゲーム

詳細はこちら

[ゲームのルール]

奇数個のマスを用意する。真ん中は空欄として、片側を相手の巣、もう片側を自分の巣とする。相手の巣に自分の🐸を置く。

  • 全てのカエル🐸を自分の巣に帰ることができたらゲームクリア
  • カエル🐸の移動は、1マスだけ動くか、一匹だけ飛び越えるのいずれか
  • 同じマスに2匹以上のカエル🐸🐸を同時に置くことはできない

[特別ルール(2024〜2025年)]
ゲームの最中に協力を妨げるような言動(蛙化)があればやり直し
※蛙化せずに、カエル🐸が巣に帰るゲーム。

【数学としてゲーム】

カエル🐸ゲームをクリアする最短手数を求めてください。

<事例>高校受験の入試問題

$n$ を正の整数とする。$xy$ 平面上で4点 $(n,0)$, $(0,n)$, $(−n,0)$, $(0,−n)$ を頂点とする正方形の内部または周上にある格子点の個数を求めよ。ただし, 格子点とは $x$ 座標と $y$ 座標がともに整数である点のことである。

(開成高校 06 改)

証明はこちら
階差数列 $\{ b_n \}$ の和は元の数列 $\{ a_n \}$ で簡単に書けることを示してみよう。
命題:階差数列の和と一般項の関係

数列 $\{ a_n \}$ の階差数列を $\{ b_n \}$ とする。階差数列の和について, $$ \sum_{k=1}^n b_k = a_{n+1} - a_1 $$ が成り立つ。

数列 $\{a_n\}$ の階差数列 $\{ b_n \}$ の定義は $b_k = a_{k+1}-a_k$ である。 $k=1$ から $k=n$ までの各項を書き並べて和をとる。

$$ \begin{array}{rcccl} b_{n} & = & a_{n+1} & - & a_{n} \\ b_{n-1} & = & a_{n} & - & a_{n-1} \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ b_2 & = & a_{3} & - & a_2 \\ +) \quad b_1 & = & a_2 & - & a_1 \\ \hline \displaystyle \sum_{k=1}^{n}b_k & = & a_{n+1} & - & a_1 \end{array} $$ 上のように縦に並べて和をとると, $a_2, a_3, \cdots, a_n$ がそれぞれプラスとマイナスで打ち消し合い, 右辺には $a_{n+1}$ と $-a_1$ だけが残る。

§結論

ゆえに, $$ \sum_{k=1}^n b_k = a_{n+1} - a_1 $$ が成り立つ。

たとえば, $1$, $3$, $6$, $10$ という数列の階差数列は, $(3-1=)2$, $(6-3=)3$, $(10-6=)4$ です。

それらの和は, $2 + 3+ 4$ $=10-1$ $=9$ になっています。

<事例>RPGでの経験値

準備中

【コード】Pythonで階差数列の計算

階差数列[seq[i+1] - seq[i] for i in range(len(seq)-1)]
seq…元の数列

Pythonで、数列を定めるリストから階差数列のリストを作成する方法を習得しよう。

説明

数列を定義するリスト(例えばseq)に対して,

[seq[i+1] - seq[i] for i in range(len(seq)-1)]

と定めたリストは階差数列を表す。

Pythonコード. [5, 7, 3, 4, 8]の階差数列を出力する。

seq = [5, 7, 3, 4, 8]
diff_seq = [seq[i+1] - seq[i] for i in range(len(seq)-1)]

print(diff_seq)

階差数列numpy.diff()

Pythonで、数列を定める配列から階差数列の配列を作成する方法を習得しよう。

説明

numpyモジュールを利用する。numpy.array()で配列を指定する。

numpy.diff()の引数に配列を入力し階差を出力する。

なお, numpy.diff()は2つ目の引数にn=自然数を指定することで $n$ 階差を求めることもできる。

Pythonコード. [5, 7, 3, 4, 8]の階差数列と、2階差の数列を出力する。

import numpy as np

seq = np.array([5, 7, 3, 4, 8])
diff_seq = np.diff(seq)
diff2_seq = np.diff(seq, n=2)

print(diff_seq)
print(diff2_seq)

折れ線グラフで階差数列を観察する

【Python】元の数列と階差数列とさらに階差数列の増減を観察してみた!

階差数列と元の数列を同時に折れ線グラフで表示するコードを紹介します。 数列 $\{ a_n \}$, 階差数列 $\{b_n\}$, さらに階差数列 $\{ c_n\}$ といった3段階を折れ線グラ…

まとめノート

「階差数列」とは

隣り合う二項の差の数列のこと。

定義

数列 $\{ a_n \}$ の階差数列 $\{ b_n \}$ は

$b_n = a_{n+1} - a_n$

である.

A. 階差数列の利用

$n \geqq 2$ の $a_n$ の値は, 階差数列を使って導くことができる.

$\displaystyle a_n = a_1 + \sum_{k=1}^{n-1} b_k$

B. 数列の和 $\{S_n\}$ の階差数列

数列 $\{ a_n \}$ の和を $S_n$ とする。$\{ S_n \}$ の階差数列は $\{ a_n \}$ である.

$S_{n} - S_{n-1} = a_n$ $(n \geqq 2)$

定義

数列 $\{ a_n \}$ の階比数列 $\{ b_n \}$ は

$b_n = a_{n+1} / a_n$

である.

C. 階比数列の利用

$n \geqq 2$ の $a_n$ の値は, 階比数列を使って導くことができる.

$\displaystyle a_n = a_1 \times \prod_{k=1}^{n-1} b_k$

ポイント解説

A

$n \geqq 2$ のとき, $$\begin{aligned}
a_{n} &= a_{n-1} +b_{n-1} \\
&= (a_{n-2} + b_{n-2}) + b_{n-1} \\
&= \displaystyle a_{n-2} + \sum_{k=n-2}^{n-1} b_k \\
&= \cdots \\
&= \displaystyle a_1 + \sum_{k=1}^{n-1} b_k \\
\end{aligned}$$

B

$n \geqq 2$ のとき, $$\begin{aligned}
S_{n} - S_{n-1} &= \sum_{k=1}^n a_k - \sum_{k=1}^{n-1} a_k \\
&= a_n
\end{aligned}$$

C

$n \geqq 2$ のとき, $$\begin{aligned}
a_{n} &= a_{n-1} \cdot b_{n-1} \\
&= a_{n-2} \cdot b_{n-2} \cdot b_{n-1} \\
&= \displaystyle a_{n-2} \times \prod_{k=n-2}^{n-1} b_k \\
&= \cdots \\
&= \displaystyle a_1 \times \prod_{k=1}^{n-1} b_k \end{aligned}$$

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です