666 feet under

数学とか思想とか音楽とか。発想と思考の墓場。Rest In Peace

数列の和/差の体系的理解 ~離散量の微分積分学~

◆今回のテーマ 数列の和/差の体系的理解

数学Bで習う数列は、高校数学の中でも浮いた印象を抱かれがちな分野です。高校数学では理論体系を詳しく学ばず、漸化式は個別の解法の暗記に終始しがちですし、数列の和も、ただ「和を表す記号を習っただけ」で終わることがままあります。(僕自身もそうでした) 

この記事では、数列分野の中でも特に数列の和について、その背後に潜む微分積分との類似性に注目することで、体系的・統一的な理解を試みます。本記事で得られる理解は実際の和の計算にも応用でき、例として、

S_n=1 \cdot 1+3 \cdot 3+5\cdot 3^2+7\cdot 3^3+\cdots + (2n-1)\cdot 3^{n-1}を求めよ。
この問題のような、所謂(等差)×(等比)の数列の和の計算を
S_n=1\cdot1+3\cdot3+5\cdot3^2+7\cdot3^3+\cdots + (2n-1)\cdot 3^{n-1}

3S_n=~~~~~~~~~1\cdot3+3\cdot3^2+5\cdot3^3+\cdots +(2n-3)\cdot3^{n-1}+ (2n-1)\cdot 3^{n}

(S_nとそれに公比をかけたもの(この例なら3S_n)を用意して辺々を引いて、)

-2S_n=1+2\cdot3+2\cdot3^2+2\cdot3^3+\cdots+2\cdot3^{n-1}-(2n-1)\cdot3^n

\begin{eqnarray}S_n&=&-\dfrac{1}{2}-(3+3^2+3^3+\cdots+3^{n-1})+\dfrac{2n-1}{2}\cdot3^n \\&=&-\dfrac{1}{2}-(3\cdot \dfrac{3^{n-1}-1}{3-1})+\dfrac{2n-1}{2}\cdot3^n \\&=&\dfrac{1}{2} \{ (2n-2)\cdot3^n +2 \} \\&=&(n-1)\cdot 3^n+1 \end{eqnarray}

一般的に知られている上の方法ではなく、
\displaystyle S_n=\sum_{k=1}^n (2k-1) \cdot 3^{k-1}である。
kに依らず(2k-1)\cdot 3^{k-1}=(k-1)\cdot3^{k}-(k-2)\cdot 3^{k-1}と出来るので、 \begin{eqnarray} \sum_{k=1}^{n} (2k-1) \cdot 3^{k-1} &=& \sum_{k=1}^{n} \left\{ (k-1) \cdot 3^{k} - (k-2)\cdot 3^{k-1} \right\} \\ &=& 1+(n-1)\cdot 3^{n} \\ &=& (n-1)\cdot 3^n +1 \end{eqnarray}

このような簡単な計算によって素早く求められるようになります。

◆数列の和と数列の差の相互関係

本題に入る前に、次の問題を考えてみましょう。

初項から順に0,3,10,21,36,55,78,\cdotsと続く数列\{ a_n \}の一般項を求めよ。

一見しただけでは規則性を掴みづらい数列です。殆どの人は恐らくこのように解くでしょう。

題意の数列の階差数列(\{ b_n \}とおく)を求めると、b_n : 3,7,11,15,19,23,\cdots
従って、b_n=4n-1であり、n \geq 2に対し
\displaystyle a_n = a_0 + \sum_{k=1}^{n-1} (4k-1)=4\sum_{k=1}^{n-1} k -(n-1)=(2n-1)(n-1)

実はこの解法には、この記事で説明する数列の和と差の相互関係が非常によく顕れています。

f:id:love_me_agape:20180930163410p:plain:w200

a_nからb_nを求める操作が「差」b_nからa_nを求める操作が「和」なのです。まさに和と差は"逆"の関係であると言えるでしょう。

高校数学には、"逆"の関係を持つ二つの演算の組がもう一つあるはずです。寧ろこちらの関係の方が数列の和と差の関係よりも遥かによく知られているでしょう。微分積分です。

微分積分と差分和分

先に触れたように、微分積分は互いに逆の演算です。F(x)微分することで得られる関数をf(x)とするなら、f(x)積分すると得られる関数は(積分係数という誤差は生じるものの)F(x)そのものです。

f:id:love_me_agape:20180930163420p:plain:w255

そしてこの"逆"の関係は、数列の和と差にも存在するのでした。

f:id:love_me_agape:20180930163410p:plain:w200

この類似は偶然ではありません。そもそも積分と和、微分と差はそれぞれ同じモノですから、微分/積分と和/差の関係が類似しているのは当然のことなのです。

積分と和が同じモノとはどういう意味でしょうか? 数学IIIで扱う区分求積法\displaystyle \int_0^1 f(x) dx = \lim_{n \to \infty} \sum_{k=1}^n f \left( \dfrac{k}{n} \right) \cdot \dfrac{1}{n}を思い出せば、この意味するところを大雑把に理解できるはずです。実は区分求積法は積分のルーツそのものなのです。数学が発展した現在では別の定義が与えられているものの、定積分が発明された当初は高さf(\dfrac{k}{n})、幅\dfrac{1}{n}の微小な面積を足し合わせたもの(=\displaystyle \sum)を積分\displaystyle \int f(x) dxと定義していました。

微分と差が同種のモノである根拠も、微分の定義式の中に隠されています。F(x)微分\displaystyle \dfrac{d}{dx}F(x)=\lim_{h \to 0} \dfrac{F(x+h)-F(x)}{h}で定義されます。これにも差F(x+h)-F(x)が見て取れますね。

このように、和や差はそれぞれ、積分微分の考えの元となるものであり、大雑把に言えば和と積分、差と微分は同一のモノなのです。数学では、積分微分に対応する和と差の呼称として、和分差分を定義しています。以下、数列の各項の総和、隣り合う項の差を表すためにこの語彙を用いることとします。

数学II数学IIIでの「微分積分」は、実数変数の関数の値の変化を微分積分を用いて解析することがそのテーマでした。数学の中でも特にこのような分野を微分積分学解析学と言います。
対して「数列」では、整数変数の関数の値の変化を差分と和分を用いて解析することがそのテーマとなっています。連続的な関数の変化を解析する微分積分学に対し、こちらを和分差分学と言います。

微分積分学積分を表す記号\displaystyle \int微分を表す記号\dfrac{d}{dx}が存在するように、和分差分学にも和分記号\displaystyle \sumと差分記号\Deltaが存在します。\displaystyle \Deltaは高校数学では扱いませんが、以下ではF(k)の差分F(k+1)-F(k)\Delta F(k)と書くことにします。(記事最下部で詳しく説明する通り、この記号を一般に前進差分作用素と呼びます)

積分と和分の対比による数列の和の理解

度々例に用いる通り、f(x)不定積分\displaystyle \int f(x) dxは、微分すればf(x)になる関数F(x)のことですから、つまり、積分することは微分すればf(x)になる関数を求めることであると言えます。

一定以上に数学に慣れ親しんだ人であれば、積分公式や置換積分に頼ることなく、この考えを応用して積分を計算する方法を目にしたことがあるのではないでしょうか?

例えば\displaystyle \int (x+1)e^{x^2+2x+1} dxは、t=e^xt=x^2+2x+1と置換して計算する方法が一般的ですが、(見抜くには慣れが必要になるものの)\dfrac{d}{dx}\{ e^{x^2+2x+1} \}=2(x+1)e^{x^2+2x+1}であると閃くことができれば、

\displaystyle \dfrac{d}{dx}\{\dfrac{1}{2} e^{x^2+2x+1}\}=(x+1)e^{x^2+2x+1}であるから、\displaystyle \int (x+1)e^{x^2+2x+1}dx=\dfrac{1}{2}e^{x^2+2x+1}+C

このように解くことも可能です。これはまさに、「微分すればf(x)になる関数を想像する」ことによってf(x)積分したということです。

同様の考え、すなわちf(k)の和を求めることは、差を求めればf(k)になる関数を求めることに等しい」という考えを数列の和にも導入すれば、統一的な方法によって数列の和を計算することが出来ます。

つまり、f(k)がどのような関数であれ、差分すれば(すなわちF(k+1)-F(k)を計算すれば)f(k)になる関数を知ることができれば、\displaystyle \sum_{k=1}^n f(k)f(x)積分して・・・・・F(x)にするのと同様に・・・・・・・・求められるのです。


◆計算への応用

以下では、基本的な関数f(k)について、差分\Delta F(k)f(k)となるような関数F(k)の求め方を整理していきます。F(k)を求められれば

\begin{eqnarray} \sum_{k=1}^n f(k) &=& \sum_{k=1}^n \Delta F(k) \\ &=& \sum_{k=1}^n (F(k+1)-F(k)) \\ &=&(F(2)-F(1))+(F(3)-F(2))+\cdots + (F(n+1)-F(n)) \\ &=&F(n+1)-F(1) \end{eqnarray}

として計算するだけです。(このように、和の各項を打ち消しあわせて和を計算することをtelescoping methodと言います) シンプルな等差数列や等比数列の和は和分関数を考えずに従来の公式を用いた方が楽になる場合もあるため、この記事での方法(和分差分学的な方法)と教科書的な公式を利用する方法を適切に使い分けて計算するのがベストと言えます。

1. f(k)m多項式F(k)m+1多項式
 
 f(k)が連続した整数の積のとき、F(k)f(k)の因数を負の方向にもう一つ増やしたものがF(k)の骨格になります。

 例えばf(k)=k(k+1)のとき、因数を負の方向にもう一つ増やせば(k-1)k(k+1)になります。するとF(k+1)の骨格はk(k+1)(k+2)となるはずですから、f(k)=\Delta F(k)=F(k+1)-F(k)より、適当な定数Cを用いてk(k+1)=C\{ k(k+1)(k+2)-(k-1)k(k+1)\}と書けるはずです。右辺を因数分解して整理すればk(k+1)=3Ck(k+1)となりますから、これを満たすCC=\dfrac{1}{3}です。(慣れると\Delta F(k)を暗算で求められるようになります。)

 f(k)が連続積でない場合は、F(k)は即座には求められませんから、まず◎被和分関数f(k)を複数の連続積の和/差で表すことが出来ないか試みると良いでしょう。(そう出来ない場合は、\displaystyle \sum_{k=1}^n k~,~\sum_{k=1}^n k^2~,~ \sum_{k=1}^n  k^3の公式を併用することになります。)

 f(k)が二次式の場合はF(k)は三次式となり

 \begin{eqnarray} \sum_{k=1}^n k(k+1) &=& \sum_{k=1}^n \dfrac{1}{3} \{ k(k+1)(k+2)-(k-1)k(k+1) \} \\ &=& \dfrac{1}{3}n(n+1)(n+2)\end{eqnarray}

 f(k)が三次式の場合はF(k)は四次式となります。

 \begin{eqnarray} \sum_{k=1}^n k(k+1)(k+2) &=& \sum_{k=1}^n \dfrac{1}{4}\{ k(k+1)(k+2)(k+3)-(k-1)k(k+1)(k+2) \} \\ &=& \dfrac{1}{4}n(n+1)(n+2)(n+3)\end{eqnarray}

 f(k)が連続した整数の積でない場合は、分配法則を利用して連続積の和/差で表現してから計算すればよく

 \begin{eqnarray} \sum_{k=1}^n (k+1)(k+4) &=& \sum_{k=1}^n \{ (k+1)(k+2)+2(k+1) \}\\ &=& \sum_{k=1}^n (k+1)(k+2) + 2\sum_{k=1}^n k +2n \\ &=& \sum_{k=1}^n \dfrac{1}{3}\{ (k+1)(k+2)(k+3)-k(k+1)(k+2) \} \\ && +n(n+1)+2n \\ &=& \dfrac{1}{9}(n+1)(n+4)(n+7) +\dfrac{10}{9} \end{eqnarray}

 このようになりますが、(k+1)(k+4)=k^2+5k+4として\displaystyle \sum_{k=1}^n k~,~\sum_{k=1}^n k^2~,~ \sum_{k=1}^n  k^3の公式を利用した方が手早いですね。 

 これらの公式の証明が必要なときは

\begin{eqnarray} \sum_{k=1}^n k^3 &=& \sum_{k=1}^n \{ (k-1)k(k+1)+k \} \\ &=& \sum_{k=1}^n \dfrac{1}{4} \{ (k-1)k(k+1)(k+2) - (k-2)(k-1)k(k+1) \} \\ &+& \sum_{k=1}^n \dfrac{1}{2} \{ k(k+1)-(k-1)k\} \\ &=& \dfrac{1}{4}(n-1)n(n+1)(n+2) + \dfrac{1}{2}n(n+1) \\ &=& \dfrac{1}{4}n(n+1) \{ (n-1)(n+2) +2 \} \\ &=& \dfrac{1}{4}n^2(n+1)^2 \end{eqnarray}

 このように連続積に分解することで計算可能です。よく知られている(k+1)^m-k^mを利用した証明よりも遥かに楽(かつ本質的)です。

2.f(k)m次式(mは負の有理数) → F(k)m+1次式

 f(k)の次数が負の有理数の場合は、◎分母の有利化 or 部分分数分解で自然に\Delta F(k)を求められるため、テクニックとして身に付けて無意識に和分差分学的な方法を用いている人が多いです。従って特に目新しい技術は登場しないので、幾つかの例だけ挙げておきます。

f(k)-\dfrac{1}{2}次式 → F(k)\dfrac{1}{2}次式 ( \Delta F(k)は有利化すればわかる)

 \begin{eqnarray} \sum_{k=1}^n \dfrac{1}{\sqrt{k+1}+\sqrt{k}} &=& \sum_{k=1}^n (\sqrt{k+1} - \sqrt{k} ) \\ &=& \sqrt{n+1}-1 \end{eqnarray}

f(k)-2次式 → F(k)-1次式 (  \Delta F(k)は部分分数分解すればわかる)

 \begin{eqnarray} \sum_{k=1}^n \dfrac{1}{k(k+1)} &=& \sum_{k=1}^n \{ \dfrac{1}{k}-\dfrac{1}{k+1} \} \\ &=& 1-\dfrac{1}{n+1} \end{eqnarray}

f(k)-3次式 → F(k)-2次式 ( \Delta F(k)は部分分数分解すれば分かる)

 \begin{eqnarray} \sum_{k=1}^n \dfrac{1}{(k+3)(k+4)(k+5)} &=& \sum_{k=1}^n \dfrac{1}{2} \left( \dfrac{1}{(k+3)(k+4)} - \dfrac{1}{(k+4)(k+5)} \right) \\ &=& \dfrac{1}{40}-\dfrac{1}{2(n+4)(n+5)}\end{eqnarray}

3. f(k)等比数列ar^{k-1}F(k)\dfrac{a}{r-1} r^{k-1}

 見出しの通り、F(k)=\dfrac{a}{r-1} r^{k-1}とすれば実際に\Delta F(x)=\dfrac{a}{r-1} (r^k -r^{k-1})=ar^{k-1}と出来ます。

 \begin{eqnarray} \sum_{k=1}^n 4\cdot 3^{k-1} &=& \sum_{k=1}^n 2(3^k-3^{k-1}) \\ &=& 2(3^n-1) \\ &=& 2 \cdot 3^n -2\end{eqnarray}
 \begin{eqnarray} \sum_{k=1}^n 2^{k-1} &=& \sum_{k=1}^n (2^{k}-2^{k+1}) \\ &=& 2^{n}-1\end{eqnarray}
 
 等比数列の和は公式化されており、和分差分学的な方法に依るよりも公式を覚えて運用するほうが手早く計算できますが、恒等式\dfrac{a}{r-1} (r^k -r^{k-1})=ar^{k-1}を理解していると見通しの良くなる場面は多くあります。例の如く公式の証明にも応用でき、

 \begin{eqnarray} \sum_{k=1}^n a\cdot r^{k-1} &=& \sum_{k=1}^n \dfrac{a}{r-1}(r^k-r^{k-1}) \\ &=& \dfrac{a}{r-1}(r^n-1) \\ &=& a\dfrac{1-r^n}{1-r}\end{eqnarray}

 とすればエレガントに公式を導出できます。 

4. f(k)(ak+b)\cdot r^{k-1}F(k)\dfrac{1}{r-1}(ak+b-\dfrac{r}{r-1}a)\cdot r^{k-1}

 いわゆる(等差)×(等比)数列です。ここまで被和分関数が複雑だと、想像力だけでF(k)を求めるのは難しくなります。 \{  A(k+1)+B \} \cdot r^{k}- \left\{ Ak+B \right\} \cdot r^{k-1} = \left\{ (r-1)Ak+(r-1)B+rA \right\} \cdot r^{k-1} \cdots (\star)のような恒等式を都度考えて、係数を比較することでA,Bを求めることをオススメしますが、玄人は見出しの式を頭に入れても良いでしょう。一般形を覚えてしまえば
 

f(k)=(2k+3)\cdot 4^{k-1}のとき、
\begin{eqnarray} F(k) &=& \dfrac{1}{4-1} (2k+3-\dfrac{4}{4-1}\cdot 2) \\ &=& \dfrac{1}{9}(6k+1) \cdot 4^{k-1} \end{eqnarray}
従ってf(k)=\Delta F(k)=\dfrac{1}{9} \{ (6k+7)\cdot 4^k -(6k+1)\cdot 4^{k-1}  \}

 こんな調子で簡単に\Delta F(k)を導けます。ここまで来れば和を求めるのは簡単で、

 \begin{eqnarray} \sum_{k=1}^n (2k+3)\cdot 4^{k-1} &=& \sum_{k=1}^n \dfrac{1}{9}\{  (6k+7)\cdot 4^k -(6k+1)\cdot 4^{k-1} \} \\ &=&  \dfrac{1}{9} \{ (6n+7) \cdot 4^n -7 \} \end{eqnarray}
  
 この通りです。f(k)等比数列成分の指数がk-1でない場合、すなわちf(k)=(3k-1)\cdot 3^{k+2}のような場合も、恒等式(\star)の両辺を適当な回数r倍してやれば済み、ほとんど同様にしてF(k)を求められます。

 \begin{eqnarray} \sum_{k=1}^n (3k-1)\cdot 3^{k+2} &=& \sum_{k=1}^n \dfrac{1}{4} \{ (6k-5)\cdot3^{k+3} - (6k-11)\cdot 3^{k+2} \} \\ &=& \dfrac{1}{4}\{ (6n-5)\cdot 3^{n+3} +135 \}  \end{eqnarray}

◆発展的事項 和分作用素/差分作用素について

一般に、「対象にある変換を施す」ことを表現するモノを作用素と言います。変換というのは、"何らかの加工"だと思って下さい。

例えば関数に「積分」という加工を施すことを表現するためには\displaystyle \intを用いますが、この記号\displaystyle \int積分作用素と呼ばれます。「微分」という加工を表現するモノである\dfrac{d}{dx}微分作用素です。

同様に、和分を表す記号\displaystyle \sumを和分作用素と言います。差分にもそれを表現する記号\Delta、すなわち差分作用素が定義されており、実は本文中で用いた記号は一般に定義されたこの記号に他なりません。

正確には差分作用素には二つの種類があり、
前進差分作用素\Delta\Delta F(k)=\dfrac{F(k+1)-F(k)}{(k+1)-k}=F(k+1)-F(k)で、
後退差分作用素\nabla\nabla F(k)=\dfrac{F(k)-F(k-1)}{k-(k-1)}=F(k)-F(k-1)で定義されています。

本文中で用いた差分の記号も、一般によく用いられる差分の記号も前進差分作用素です。後退差分作用素はあまり用いられません。実用上は前進差分作用素さえ使いこなせれば十分です。

作用素の定義の分数型を見れば分かる通り、関数F(x)の前進差分はF(x)x=kからx=k+1までの平均変化率を表しています。これはF(x)微分(導関数)がF(x)の傾きを表していることに対応しています。このことからも、微分積分と差分和分の類似性を感じ取ることが出来ますね。

因みに、ある作用素に対して不変な関数をその関数の固有関数と言います。一般に、連続関数e^x積分作用素\displaystyle \int微分作用素\dfrac{d}{dx}に対して不変な関数、つまりこれらの固有関数として知られています。和分作用素\displaystyle \sumや差分作用素\Deltaにも固有関数が存在しており、実はそれはこの記事の中に一度登場しています。意欲的な人はどれが固有関数なのか考えてみて下さい。

◆総括

かなり長い記事になってしまいましたが、この記事の要点は以下の二つです。

◎数列の和や差は、それぞれ積分微分に対応している

微分すればf(x)になる関数を想像することによってf(x)積分を求められるように、差分すればf(k)になる関数を想像することによってf(k)の和分を求められる
 
浮いた印象を抱かれがちな数列分野も、実は根底には微分積分との共通性があり、離散的な量を解析するために、連続量におけるそれと同様の考えを用いていたのでした。この記事によって数列分野の見通しが良くなれば幸いです。