2016年3月19日土曜日

雑談:数列「nのべき乗」の和

出先でメモを取りたくなったりすることってありますよね。ワタシは大抵、A5サイズのレポート用紙と筆記具(大抵はLAMY SAFARIの万年筆)を持ち歩いていて、思いついたことや面白かったことなどを書きつけるようにしています。

筆記具とレポート用紙はよく持ち歩いています

以下、算数のお話です。苦手な方はここでお引き取り下さい。

ある日、外出中に
  1+2+3+…+N=N(N+1)/2
だったよなぁとか思いながら、そう言えば
  1^2+2^2+3^2+…+N^2=1+4+9+…+N^2
って何だっけ?みたいな。高校の頃に習ったような気もするのですが、残念ながらマルっきり記憶にありません。出先だったし、仕方がないので、自力で導出です。携帯電話は持参していましたが、自力での導出にトライもせずネット検索するというのは男のプライド(?)が許しません。

という訳で、以下、その結果。ワタシの思いついた導出法は、たぶん全然スタンダードではないやり方です。

  1+4+9+16…。

1, 4, 9, 16, …の体積を持つ立体をイメージしてしまいました(最初に立体でイメージしてしまったためか、数式操作による導出=後述の「エレガントな」導出方法=には辿り着きませんでした)。イメージしたのは、1辺1のサイコロを、1, 4, 9, 16, …個並べた物。

図1: 1, 4, 9, 16個のサイコロ

このサイコロを積み重ねると、ちょうどピラミッドのようになります。

図2: 積み重ねればピラミッド状になります

このピラミッドに外接する四角錐(赤い線で描いたもの)の体積から、余分な部分を差し引いてやれば、求める値(1+4+9+…N^2)が求められるはずです。

赤い四角錐の体積をVPとすると、これは底辺が(N+1)×(N+1)の正方形、高さ(N+1)の四角錐なので、VP=1/3×(N+1)^3。

図3: 余計な部分の体積と個数を考える

余分な部分は、図3の(A)、(B)、(C)。それぞれの体積をVA、VB、VCとおきます。
(A)は底面1×1、高さ1の四角錐なのでVA=1/3。
(B)は底面が1×(1/2)の直角三角形、高さ1の三角柱なのでVB=1/4。
(C)は底面が(1/2)×(1/2)の直角三角形、高さ1の四角錐なのでVC=1/12。
これらが各段でいくつあるか数え、合計した値がをVRとすると、VP-VRが求める数値。

表: 余分な部分(A)、(B)、(C)の体積と個数

で、(A)(B)(C)の個数を数えたのが上の表。VRは以下のように求められる。
以上から、求める数は

となります。

帰宅後ネットで二乗の数列和を検索したら、答えは合っていました。めでたしめでたし。
  • 後日、こんな計算をした…という件を知人(技術者)に話したら、(予想通り)呆れられました。でも計算をやり遂げ、正しい解答に辿り着くだけの根性は認めて貰えたみたいです。
・  ・  ・  ・  ・

帰宅後、二乗の数列和とともに三乗の場合も導出方法を調べてみました。見つけた方法の方がずっとエレガントでした(後に概要だけ示します)。というか、脳ミソに汗をかいた後にエレガントな物を見てチョット感動したので、当分の間はこの導出方法は忘れないでしょう。この記憶が何年もつか(あるいは数カ月で忘れるのか)は予想もできませんけど(笑)。

さて、エレガントな導出方法。パターン化しています。これを繰り返せば(一般化は出来ないにしても) k-1乗の数列和が求まっていれば、k乗の数列和が求まることになります。ついでなので(調子に乗って、とも言う) 6乗の場合まで求めちゃいましょう。

2乗・3乗の場合はネット記事で答え合わせをしていますが、それ以外はちゃんと答え合わせはしていません。なので以下の内容は間違っているかも知れませんよ? ご自由に参考にして頂いて構いませんが、ご利用の際はご自身の御判断と責任においてお願いします(以下の内容については正確性・精確性を保証いたしかねます…けど確認するだけでも結構大変だと思いますよ?/笑)

※以下の絵、画面表示では字が小さくて読めないでしょうけど、画像上で右クリック→「リンクを新しいタブで開く」等で開けば読めるサイズで見られます。

◆Σk=1+2+3+…+N の値とその求め方

◆Σk^2=1+4+9+…+N^2 の値とその求め方

◆Σk^3=1+8+27+…+N^3 の値とその求め方

◆Σk^4=1+16+81+…+N^4 の値とその求め方

◆Σk^5=1+32+243+…+N^5 の値とその求め方

◆Σk^6=1+64+729+…+N^6 の値とその求め方

上に無保証とは書きましたが、上の結果を多項式フィッティングの計算に使ってみたら正しい結果が出たみたいなので(同じデータ列に対するフィッティング曲線の係数について、MS-Excelさんと意見が一致しました)、たぶん合っているんじゃないかな?と自画自賛しておきます(笑)。
  • データ列(x_1, y_1), (x_2, y_2), …(x_N, y_N) に対してM次多項式によるフィッティング計算は、M+1元1次方程式を解く作業になります(これは(M+1)×(M+1)行列の逆行列を求める作業と等価)。一般にはこれを愚直に計算するしかないのですが、世の中の多くのデータは、x_kが等間隔です(時間だったり周波数だったりの離散値であることが殆どです)。この場合、M+1元1次方程式の係数((M+1)×(M+1)行列の中身)が多少単純化されます。が、この時、Σk~Σk^(2M)が係数の中に出てくるので、この具体値が必要になります。たとえば2次多項式フィッティングならΣk^4まで、3次多項式フィッティングならΣk^6まで必要です。そういうワケで、上の計算に至りました。4次以上の多項式フィッティングは(学術的にはともかく)工業的に必要となることは滅多に無いので(3次もあまり必要になることはありませんけどね/笑)、とりあえず3次多項式フィッティング→Σk^6まで求めることにしました。ちなみにMS-Excelさんは多項式フィッティングは6次までやってくれます(しかもデータが不等間隔でもキチンと計算してくれますし、データがアップデートされるとグラフ上のフィッティング曲線も自動的にアップデートされます…これ実装した人マジ偉い!)。
  • Σk^7やΣk^8はもっとゴチャゴチャした計算になりそうなので、とても手計算はしたくないですね(Σk^6まで腰を据えて計算したワタシ自身を褒めてあげたい位です)。高次の計算が必要になった場合は、ちゃんとした数式処理ソフト(Mathematica等)を使って計算するのが本来のやり方でしょう。少なくとも紙の上で計算するものではないと思います(Σk^6まで手計算したワタシは既にどうかしているのかも知れません)。
長文になってしまいましたが、たぶん、天気が悪いせいです(笑)。

…にしても。電車の中やファストフード店でレポート用紙を広げて変な絵を描いたりゴリゴリとワケワカメな計算をしている姿って一体どのy(以下略

0 件のコメント:

コメントを投稿