やはりプログラミングに数学はつき物です。ここではよく使われる数学について簡単に解説します。
プログラムで「函数(function)」って云うよね。数学で扱う函数から見れば異質としか言いようが無いけど、しかし、やはり函数は函数なのです。では、函数とはなんぞや。
ところで数学(者)は、厳密な論理を重視し、高度な抽象化を行い、命題を導くことを目的とします。一見堅苦しい作業に思えるのですが、厳密に且つ抽象的に処理を行うことが、驚異的柔軟性を導いてくれます。譬えば「線型接続」の素晴らしさは、柔軟さゆえの事でしょう。
つまり、函数を抽象化してやると、「任意の値に関する答えを返してくれる処理」とも考えられるわけで、プログラムの処理も「函数」に該当するわけ。これもまあ柔軟と云えばそう。
プログラムだと、動けばいいやと思ってしまえば、動画変換のプログラムは何でもいいことになる。でも実際はそうじゃない、なるべく効率的で高速な物を考え、実現する。プログラムと同じように、数学にも効率化する方法がある。結論として、数学における効率化は「厳密な論理」と「抽象化」と僅かばかりの発明からくる「柔軟性」であって、何が云いたいかと云うと、「何でこんなことイチイチ確認するんだ」と謂う場合、そこに驚くべき本質があるからだと思って欲しいので、毛嫌いせずに見てやって欲しいと謂う事です。
Wikipedia の数学記事とかみてると、表記に圧倒される。さっぱりわからない。そのことは論理式や集合論の表記に起因してるような気がする。特別な表記法は、その分野を学ぼうと志せば、意識せずとも真っ先に確認するだろうし、導入部分にも注意されてるけど、共通語になってる部分はそうでもない。また、(些か方言的ではあるが)略記が成されることもあるので、留意されたい。
結構断り無く使用される演算子とか。「∥(平行)」「⊥(垂直)」「∴(結論;故に)」「∵(理由・根拠;〜から、なので)」とかは問題ないですかね。
後ですね、「∮」とかどうでしょう。「∮」は積分記号「∫」の一種で、周回積分(閉路積分/経路積分)と謂う概念を表します。しかるべき場所で確認されると良いかと。
列挙してある条件で、「P,Q,R」とあると、「かつ」か「または」かを見極める必要があったりする。とくに解説なし
十分条件と必要十分条件って奴。「⇔」は命題における等号ともとれる。
最初は兎も角、最後二つは悪名高い概念かと。「∈」と「R」を先に確認しているとして、「∀」「∃」の例を挙げてみます。
「∀x」は「任意のxについて(for any x)」と謂う意味。「∀x ∈ R ⇒ x の二乗は0以上」のように書く。意味は「任意の実数があるならば、その二乗は0以上である」。
「∃x」は「ある x が存在して」と謂う意味。「∃x ∈ R, f(x) < 0」のように書く。意味は「f(x) < 0 を満たす実数 x が存在する」。
これらは「述語論理」と呼ばれる式で、奥が深いの調べてみるがヨロシ。ちなみに「命題」を中心とした論理は「命題論理」と謂って、高校で扱ってる論理学的な問題はだいたいこれ。
集合(set)は大文字で書き、集合を構成する要素は元(ゲン;element)と謂い小文字で書く。集合は元のあつまりであって、元の数は集合によって任意である。集合の性質は群論や環論などにも拡張される。
暗黙的に利用される集合に上の例がある(P 以降はオマケ)。区別のために二重線や「Fraktur/Black letter(ドイツ文字)」にすることもある。忘れてしまっても文脈でわかることもあるぞ。
「a ∈ R」と書けば、a は実数集合 R の元であり、つまり a は実数であることを表す。ちなみに「∈」は「a ἐστί R(a は R なり)」の「Ε・ε(έψιλον;epsilon;イプシロン)」に由来する。
A = {1,2,3} と B = {7,8,9} の直積集合(後述)を M = {(a,b); a ∈ A, b ∈ B} とすれば、集合 M は (1,7) 等の元を持ちます。
集合の大小のような事(包含関係)を比較して表した物です。部分集合は一致する可能性もあります。
集合の演算です。新たな集合を作ります。直和集合は和集合と同じですが、積集合が空集合であることが暗黙に諒解されます。「M = {1,3,8}, N = {2,5,9,17}」なら「M ∩ N = ∅」ですね。集合の演算は他にもありますが割愛(差集合/補集合/冪集合/商集合 etc.)。
これ以上は専門的というか、分野が偏ることになる(もう十分偏ってるかもしれん? それはスマン)。何にせよ、数式の意味が分からないと、理解以前の問題なので、表記例についてはしっかりと確認すべきです。参考書や教科書のページは飛ばさずに読まないと、酷い目に合い兼ねない。
で、これで専門書や Wikipedia の式は読めますかと訊かれると、答えに窮する。ガンバッテネとしか言いようが無い。
初等的算術としては四則演算が有名ですが、四則演算にも證明が存在したりする。
数学的な解釈を挟み込んでやるとすれば、人が普段扱う程度の大きさの数ではたしかに四則演算は成立するかもしれないが、「数」を厳密に定義して「四則演算」が可能であることを示してやらないと、「全ての数」で四則演算が成立するという證明にはならないわけ。
まあこれは数論の世界のお話だったりするわけですが、「四則演算」の対象である「数」には「代数」も入ります。「代数」は、それこそ数学的概念の任意の物であって、「行列」を「数」と看做して「代数」とすれば、「四則演算」が必ずしも成立するとは限りませんね。
「行列」を「数」とした例をみてもわかるように、算術を丁寧に證明してやることはとても大事な事なのです。教科書には、それが自明であるとしても、「結合法則」だの「分配法則」だの無駄に書いてあるわけではないので、それらの法則を「この算術は安全である」と證明してくれた偉大なる数学者達に、たまには感謝してあげて欲しい。
exp 函数とか、冪(指数函数)をわざわざ函数で表す事がある。このようにして、函数はたくさん定義できる。
与えられた数 x より1大きいだけ大きい数 y を示す函数 y = f(x) = x + 1 だって立派な函数だ。これを ore function とでも呼んで、略して o(x) で表すゾと謂う諒解を取り付けてやると、数式を並べて書くうちに、ore(1) と自分で定義した函数が使える(!)わけ。特に函数を定義することが有用であるなら定義されるのであって、一般的に好き放題な略称や略記を導入することはない。
譬えば、四則演算を拡張して、余りを考える算術を導入する。mod 函数(modular function)だ。C言語では「%」などの記号でこれを表すけど、mod 函数の影響もあってか、こんなものまであるわけ。
数学における表記「p (mod q)」は「p は q を法として」一般的には読め、意味は「p を q で割ると」程度のもの。「r ≡ p (mod q)」は「p は q を法として r と合同」と読め、意味は「p と r は、q で割った余りが同じである」と謂う意味になる。これを剰余系に合同であると謂い、mod 函数の式は「合同式」とよばれる。
p を q で割った時の余りは、0以上q未満の整数であって、p をこの余りで分類してやると、q 箇の集合を考えることができる。この集合を剰余系と謂い、合同であるとは、余りを同じくする集合と合同であることを表す。
とまあ、ザックリするつもりが、随分堅苦しい説明になったけど、詳しくは数論を見て貰うとして、合同式の具体例を挙げてみると「23 ≡ 51 (mod 7)」と表現できたりする。
これらモジュラー函数に関しての、数論の他分野応用はあり得ないとされた為に、その手の研究はあまり進んでないけれど、昨今では暗号技術等に関する数論の応用があって、注目されてたりする。たとえばRSA暗号では素数と余りの関係を用いた式が暗号復号化を表し、その理論は合同式で證明される。
モジュラー函数は、日本人によって、楕円方程式の関連が予想されていた。氏の名前を取り谷山・志村の定理と謂うけれど、その定理の證明は、フェルマーの最終定理を導いたアンドリュー・ワイルズによってなされた。フェルマーの最終定理事体が難解な(しかしその式は平易な)数論の問題であったけれども、その問題の本質は、楕円方程式とモジュラー函数に密接な関係を持つものだった。ワイルズは楕円方程式とモジュラー函数を超越した。
最近では楕円方程式による暗号も盛んである。楕円曲線暗号って奴だ。これはRSA暗号がモジュラー函数による暗号であることを考えれば、ワイルズの證明を以て、楕円曲線でも暗号が利用可能であるとわかる。暗号を技術を学びたい人は、数論を学んで損は無いでしょう。
特に詳しく書く積りは無いけれど、次の引用をみてほしい。
(前略) 重要なことは、整数論、特に初等整数論と、他の重要な二つの科学との接触である。 その第一は、永い間、独立の歴史を有する論理学と整数論との接触、その第二は、最も斬新な科学である計算機科学との接触である。 (中略) 最後に、計算機科学と初等整数論との密接な関係は、予想以上に重要である。 一つの例だけを挙げれば、数論でよく使われる実際に計算し得る(effectively computable)という概念が、いつかは計算が完了することを意味するのか、 計算完了の時間が原理的には評価し得ることを意味するのかで、明確に区別される二つの構成的数論の範囲が生ずる。 (後略) 「初等整数論講義 第二版(著:高木貞治、共立出版)/第二版 序(黒田成勝)」より抜萃
昨今では計算可能函数(Computable function)と呼ばれる物をどう判断するかという事が書かれている。ともかく、プログラムと数論は大きく拘ると謂うことだけど、数論の細緻的な證明は些かわかりづらいと思われるかもしれない。
数論は「正十七角形を円規と定規だけで製図できる」ことを理解できる学問である、と聞いてワクワクするならば、向いてるかもしれません。ちなみに正十七角形ウンヌンは、若き日の Gauss が朝起きて思いついたという曰く付きの、有名な方法なので、興味があるならば、検索するだけですぐ見付かることでしょう。
註:「初等整数論講義」は、高木博士の「類体論」入門書みたいなところがある、「整数論」の名著。「Fermat の最終定理に関する證明は未だされてない」など、流石に五十年以上前の本であるから、古い記述が散見されるけれど、飽くまで初等整数論の本であるから、心配には及ばない。二元二次不定方程式、二次体、Ideal(イデヤル)など、素人にはサッパリわからんコトバが並んでいるけど、第一章の古典的な整数論だけでも読む価値はあるので、一度図書館あたりで読んで参照されると宜しい。
整数論と同じように、簡単な紹介だけでもしておきたい。
>はじめに 空間の点は3実数の組であらわされるから、空間図形の幾何学的性質はすべて実変数に関する式であらあわされる。 したがって代数や解析の知識があれば、図形の性質は論理的には正しく理解できる。 しかし幾何学を建設していくには代数や解析の知識だけでは不十分で、図形を直観的に把握しなければならない。 確率論の場合も同様である。現代の確率論は、測度論の言葉で叙述することによって論理的には完全に解析学の一部となっている。 しかし確率論を真に楽しむためには、確率現象に対する直観的理解を背景として確率論の発展方向を見きわめなければならない。 (後略) 「確率論 岩波基礎数学選書(著:伊藤清、岩波書店)」より抜萃
文脈から明らかかもしれないけど、測度論とは Lebesgue 積分に関する物で、解析学の一分野。
伊藤博士は確率論に微分方程式を、つまり「確率微分方程式」を確立し創始された。昨今話題の金融工学は伊藤博士の研究による物を土台としている(註:件のサブプライムローン問題は、彼の理論や金融工学に誤りがあるわけではなく、理論前提を無視したから破綻したらしい・・・この手の問題は社会科学によくある事と思える)。
つまり<確率論と云えば、赤だの白だの、サイコロがどうの、と何だか要領を得ない「直観的」世界だけど、どうしてもわからない時は「測度論の言葉」で見つめると見える物があります>とまあそう云う趣旨。「サイコロまわれ!」が微積で理解できるというのは斬新で、数学は素人の見立て以上に、横の繫がりが太いように思えます。
ここでは「幾何学」「統計」にあまり言及してないね。「統計」の社会科学的応用は明らかだけど、「幾何学」はどうか。
「幾何学」は、始め、古典的な物を想像しがちであるから、現代的な数学と関りがあるとは思えない部分がある。「Newton のプリンキピアでは幾何学的證明が多いが今では解析学のコトバで語られる」等聞くと、ますますそう感じ兼ねない。ところが「解析」で扱うことがある「Heine-Borel の被覆定理」とかは、もともと「位相」に関る定理だそうで、ちょっとわかりづらい様に思える。こういう風に「解析」では「幾何学」の知識が無いとよくわからない部分がタマにある。
そもそも、初等的、すなはち大学初年級の数学は、現代数学からみると大きく乖離してる部分がある。高校の指導要領が大学と乖離してるように、初年級の数学も然り。「解析」が近年に於いて進歩した部分には、最新・最前の定理が導入された結果なんてものもあって、実にわかりにくい体系になってるわけ。まあ、それが重要であるからこそ、無理をしてでも教えられるわけだけど。
「多様体」「位相」「空間」「像」、「幾何学」で語られる言葉は、「解析」「代数」などの言葉でもある。譬えば「単聯結な三次元閉多様体は三次元球面S^3に同相である」とは位相幾何学に於ける懸案であった Poincaré 予想の命題であるけれど、どこか解析学あたりで聞いた様な文字の並びにも見える。
つまり便宜的に「解析」だとか「代数」だとか「幾何学」だとか呼んでるけど、「数学」にも、「物理」のように、統一的な手法や方向性が存在するらしい(微分積分はその手法の一つ)。
「数学は公理より導かれた定理の集合論である」と云うわけで、證明は聯綿としている。
この公理という奴は思いのほか重要だったりする。「A は B だ」「P は Q だ」「X は Y だ」と三つの命題があり、どれか一つを仮定しさえすれば他の全てが成立する(證明できる)というなら、その仮定を公理とすることで二つの定理が得られる。更にその仮定する対象がどれでもよいならば、證明は輪状に繫がるわけ(Dedekind の截断は輪状な公理の一例)。
譬えばとある命題について『最近まで恐ろしくむづかしい内容の定理を利用して證明されてきたが、新たに初等的手段を用いて證明された』とあれば、論理の近道ができた事になる。しかも、その初等的手段が立脚する公理と、旧来の定理の公理が異なるなら、いままで接点が無い様に思えた公理体系が交叉すると謂うわけだから、この命題の持つ数学的意味は重要になる。
樹形図の様な物を想像すると良い。数学が厳格であるのは、枝が途中で折れてしまうとそこから先が腐り落ちる、そんな危うさがあるから。證明はできさえすればいいと謂う考え方もあるけど、その證明が持つ数学的な意味をよく考えて構築することも大事な気がする。数学を利用する立場の人は、その證明が持つ意味を眺めてみることで、より理解が深まって、論理展開の行く末が拓けるのではなかろうか。
近代における歴史的経緯を振り返ってみると、その要因は多くある。突飛な函数や概念、手法が、数学にとって革命的であったことは数知れない。恐らくは現代数学でさえまだ未発達なのであって、数学と謂う学問の輪廓は、私如きには見えもしない。
リーマン予想と「数論的量子カオス」。聞いただけでゾクゾクするね。
プログラム(アルゴリズム)の処理に要する時間を、「多項式時間」とか「指数時間」とか云う言い方をする。その時 Ο(x) とか Ο(log x) とか云う表記を導入することがある。これを Landau の記号と云う。一往前知識として記号の読み方をば。ギリシア文字については一度どこかで纏める方がいいのかもしれない。
ここにあげた文字の内、使う物は「Ο・ο・Ω・ω・Θ」の五つ。解析学では ο-記法、計算機科学では Ο-記法や Θ-記法、Ω-記法を能く使うらしい。
今ここで無限大を考えるために、紙とペンを用意しグラフを描いて欲しい。二次函数で構わない。具体的には「曲線C1: y=x^2」と「曲線C2: y=4x^2」などの抛物線を二つ描いてみよう。その目的は無限大を捉えることである。「こんなグラフのどこに無限大があるのだ」と思われるかもしれないが、そんな御仁は面積に着目して欲しい。
y>x^2 なる部分S1と、y>4x^2 なる部分S2の面積は俱に無限大であるが、明らかに大小関係「S1<S2」が存在する。もしここで「S1/S2」なる分数を考えてみると、これは何らかの値に収斂するであろうと予測される。このような関係を高位の無限大であると謂い、今は S2 が S1 よりも高位である。これを Landau の記号によって S1=Ο(S2) と表す。
次に微小量を考えよう。ε-δ 論法は微小量を扱う物である。実は「dx」や「∂x」などの記号も、精緻な数学の論法では、「Δx」を微小量と看做した際の表記と考えられているらしい(譬えば偏微分で表す全微分方程式の様な表記は微小量に対応する)。ともかくもこの微小量という概念は実に多様で、わかりづらい様に思える。ここでは y = x と y = x^2 を考察しよう。考察はx = 0 近傍で行い、目的は y の値の変化の差即ち微小量を観察することである。
x の微小な変化 δx に対して、y + δy = x + δx、y + δy = (x + δx)^2、と謂う二つの変化がある。紛らわしいので y + h = x + δx、y + k = (x + δx)^2 とすると、 h = δx、k = δx^2 + 2xδx。これは x と x + δx のときの y の変化量を表す物だから x = 0 を代入しておく(k = δx^2 に)。いまここで「k/h」なる分数を考えると、k/h = δx だから、δx→0のときk/h→0。同じ様な微小量にも、収斂すると謂う事は、大小関係或いは等号、その他の関係が成立しうると云うことである。このような関係を高位の微小量であると謂い、今は k が h よりも高位である。これを Landau の記号によって k = ο(h) と表す。更に m = ο(h) なる微小量 m が存在すれば、m と k を同位の微小量であると謂う。場合によっては οh のような表記をすることもある。
加筆募集中。
総和や総乗を表す表記、その函数を解説します。各項目では既知として利用されるので、注意して下さい。それ以上の集合論に関する記述があるとすれば、「論理代数」とかかな。
註:抽象代数学的な考えでは、体(field)や群(group)や環(ring)なる集合を考えたりして、代数を見つめ直す作業を行います。以下に記す事は、そういった作業をやらない限りにおいて、ただの算術的記法の一例であるとしか思えないことでしょう。
総和(summation)とは、有限箇な任意の数が与えられたとき、その全ての和を求めること。所謂 Excel の Sum 函数ですな。有限箇と断ってはいるが、時には無限箇の総和(無限級数)を考える必要があって、その和が求まるのは特別の場合です(後述)。
一般にこのような総和表現を級数(series)と謂い、有限級数と無限級数に分かれます。ここでは有限箇な有限級数を中心にしましょう。また初等的な級数を扱う数学B では、等差数列・等比数列の一般解を扱う物が多いので、等差級数や等比級数など呼ばれます。展開の仕方ではその二つで分類しました。
#mimetex(\sum_{i=1}^n x_i = x_1 + x_2 + \cdots + x_n);
ギリシア文字の「∑・σ(σίγμα;sigma;シグマ)」は、ラテン文字の「s」に転写される文字で、ラテン文字の「S」の由来となった物です。一般に summation の s を表すと考えられます。以後、総和記号とでも呼びましょう。
#mimetex(X = \{x_1,x_2,\cdots,x_n\});
総和記号の意味を「集合 X の n 箇の元における総和」として考えてみましょう。先づ総和記号における添字の i は、index の i と解されるのが一般的で、元の添数であり且つ順序を表す物であり、i が満たす条件は集合 X に依存します。
何だかややこしいので、逆に最初に示した総和記号から見てみると、「i は 1 から n まで」と表記されると読みます(この事に関して暗黙的に n は自然数であり、i もまた自然数であると諒解される)。また i が満たすべき条件は &mimetex(\sum_{1 \le i \le n} x_i); のようにも記述されることがありますが、書いてある内容は上掲の物に同じです。
何だか for loop のような制禦構造に似て居ますね。
#mimetex(\sum_{n=1}^5 2n = 2\times 1 + 2\times 2 + 2\times 3 + 2\times 4 + 2\times 5);
展開するとこんな感じです。プログラムで書くと以下のようになります。
int i, sum=0; for(i=1; i<=5; i++) sum += 2*i; return sum;
勿論、数B の数列をやればわかるけれど、展開を一般化した解も存在することがある。
総和が干渉するのはその項数のみ。従って次の計算ができる。
#mimetex(){{ \begin{array} m \times \sum_{k=1}^n a_k & = & \sum_{k=1}^n m \times a_k \\ \sum_{k=1}^n (a_k + b_k) & = & \sum_{k=1}^n a_k + \sum_{k=1}^n b_k \end{array} }}
当り前と言えば当り前。したがって次の変換には要注意である。&mimetex(\sum_{k=1}^n n \times k = n \times \sum_{k=1}^n k);
なおこの変換とこの式とを区別すること。&mimetex(\sum_{k=1}^n k^2);
#mimetex(\sum_{k=1}^n C = nC,\ \sum_{k=1}^n k = \frac{1}{2}n(n+1),\\ \sum_{k=1}^n k^2 = \frac{1}{6}n(n+1)(2n+1),\\ \sum_{k=1}^n k^3 = \frac{1}{4}n^2(n+1)^2);
定数項は説明するまでもありませんが、単純な n 次な項は、上に示すような解が知られている。この證明はそんなにむづかしいわけではないが、次数が増すと證明が面倒になる。證明例として四次の場合を考えます。
#mimetex((n+1)^5 - n^5 = 5n^4 + 10n^3 + 10n^2 + 5n + 1);
と変形でき、
#mimetex(\sum_{k=1}^n \{(k+1)^5 - k^5\} = (2^5 - 1^5) + (3^5 - 2^5) + \cdots + \{(n+1)^5 - n^5\} = (n+1)^5 - 1);
と級数を展開できるので、以上の操作と &mimetex(p(n) = q(n) \Rightarrow \sum_{i}p(i) = \sum_{i}q(i)); を利用して、
#mimetex(\sum_{k=1}^n \{(k+1)^5 - k^5\} = \sum_{k=1}^n (5n^4 + 10n^3 + 10n^2 + 5n + 1)\\\ \ \ \ \ \ \ \ \ \ \ \ (n+1)^5 - 1 = \sum_{k=1}^n (5n^4 + 10n^3 + 10n^2 + 5n + 1));
更に整理を進めると、
#mimetex((n+1)^5 - 1 = 5\sum_{k=1}^{n} n^4 + 10\sum_{k=1}^{n} n^3 + 10\sum_{k=1}^{n} n^2 + 5\sum_{k=1}^{n} n + \sum_{k=1}^{n} 1\\ \sum_{k=1}^{n} n^4 = \frac{(n+1)^5 - 1}{5} - \{2\sum_{k=1}^{n} n^3 + 2\sum_{k=1}^{n} n^2 + \sum_{k=1}^{n} n + \frac{1}{5}\sum_{k=1}^{n} 1\});
三次以下の展開が一般化されていれば、答えが求まるとわかります。ちなみにこの次数での答えは、
#mimetex(\sum_{k=1}^n k^4 = \frac{1}{30}n(n+1)(2n+1)(3n^2+3n-1));
であり、三次や二次や一次も同様の手段で順番に證明でき、逆に次数が高い場合も順番に降下することで一般解を得られる。このことは二項定理から明らかですね。
#mimetex(\sum_{k=m}^n r^k = r^m\frac{r^{n - m + 1} - 1}{r- 1},\ \sum_{k=1}^n r^k = r\frac{r^n - 1}{r - 1});
分母の「n - m + 1」は級数の項数で、分子の「m」は級数の初項を表す数。證明略。そのうち書く。
総和する項数を無限箇にまで拡張した級数のこと。ハハハそんなの求まりっこないよ、とおもうかもしれないけれど、これは求まることがある。数Ⅲの極限をやりたまえ。
とくに説明はしないけど、
#mimetex(\lim_{n \to \infty} \frac{1}{n} \sum_{k = 1}^n f(\frac{k}{n}) = \int_{0}^{1} f(x) dx);
と謂うような算出法も知られる。無限級数でどうしようもない奴はこうすれば求まるかもしれない(解析学参照)。
#mimetex(\zeta (s) = \sum^{\infty}_{n=1} { 1 \over {n^s}});
ギリシア文字の「Ζ・ζ(ζήτα;zeta;ゼータ)」は、ラテン文字の「z」に転写される文字で、ラテン文字の「Z」の由来となった物です。
この函数は、ベルンハルト・リーマンによって定式化された、とっても重要な式。もともとは数学的な探究のひとつとして、この式のs=2のときの無限級数には解が何と定まるかを求める問題だった。收斂することは明らかだけれど、その値を求めることができず、この問題が提示されて百年後にオイラーによってテイラー展開を用いる解法が示された。これをバーゼル問題といって、これに着目したリーマンがゼータ関数として一般化した。現在でも求める事のできないsの値が存在する。
一往に「足し算? ちょろい」といってもそう簡単に求まる物でもないのでその例を示したっすよ。s を複素数(!)に拡張したときこの函数が如何なる値を取りうるかについての考察が、所謂「リーマン予想」って奴だ。
総乗(product)とは、有限箇な任意の数が与えられたとき、その全ての積を求めること。有限箇と断ってはいるが、時には無限箇の総乗(無限積)を考える必要があって、その積が求まるのは特別の場合であり、有限箇でも求まりそうにない事も多い。
#mimetex(\prod_{i=1}^n x_i = x_1 \times x_2 \times \cdots \times x_n);
ギリシア文字の「Π・π(πι;pi;パイ)」は、ラテン文字の「p」に転写される文字で、ラテン文字の「P」の由来となった物です。一般に product の p を表すと考えられます。
やることは総和に同じだけれど、收斂條件がきびしい。
樹形結合で期待値が・・・・。大数の法則が・・・・。そういう議論は長いのでおいておいて(誰か書いて!)。Monte Carlo 法(MC法、モンテカルロ法)のお話。
乱数の生成は、初学者にとっては意外かもしれないが、奥が深い問題で、コンピュータの世界では、いまだに擬似的な乱数しか生成できない。擬似的とはどういう意味かというと、数学で定義される乱数とは、全く規則性の無い数列を指すのだが、擬似的な乱数はよく考察すると規則性を有する物を謂う。しかし近年の情報科学の進歩によって、かなりその周期は大きくなりつつあり、局所的には乱数とみなすことができる。
Monte Carlo 法とは、この意味での乱数をコンピュータに計算させ、さまざまなシュミレーションを行う方法論全般を指す。現在よく行われるのは、有名な John von Neumann の考案した方法論を拡張したもの。
随分前のことになる。雑誌を読んでいたところ、円周率は乱数によるシュミレーションで計算できるとあって、ホウ! と驚いたんだが、その時のお話を。
任意の図形 S の面積を求めたいとしよう。S が xy 平面を占めうる条件は既知とする。つまり S の条件は f(x,y)>0 と任意の函数 f で表され、この f が xy 平面で(Jordan)閉曲線を為し S を表していると想像してほしい。次に S を含む S より大きな、それでいて面積が既知の図形 T を考える。つまり S ⊂ T。T の条件は g(x,y)>0 とする。ここで I = {(x,y)|g(x,y)>0}、i = {(x,y)|f(x,y)>0} と定める。I と i の元は無数に存在するけれども、定義から、元の数の比が面積の比に等しい、i/I=S/T であると考えることができる。即ちこのことを利用する。
抽象的にざっくり書くとこんな感じ。
それでは円の面積を求めることで円周率を求めてみよう。抽象的な定義に従えば、f(x,y)=1-(x^2 + y^2)、g(x,y)=2-(|x+y|+|x-y|)。式で書くとややこしいけれど、要するに、単位円 f と円に外接する正方形 g だ。このままではまだ扱いづらいので、第一象限に限定し、x>=0、y>=0 とする。こうすれば、I の元の成分は 0 から1に収まって都合がいい。具体的に表現すると、以下のようになる。
0 から 1までの乱数は、乱数の最大値で乱数を割ってやれば作ることができる。ためしに計算してみると、10万回で 3.14216 の値を得た。乱数は XORSHIFT 法により生成し、計算は Ruby で行った。3.1415... だから、まあいっかという感じ。
★ただ円周率を知りたいなら、こんな方法より、後述の Machin の級数とかの方が遙かに早く収斂するけれど、こういう方法論があると知っておく事は意味があるだろう。
必要かどうかはわからないけれど、極限について。
実数が連続性であることを定義することは、解析的にとても重要な作業。微分可能な函数は、その函数が連続なる場合であると謂うのはあまりに有名であると思う。暫く数論的話題を取り扱い、ε-δ 論法のお話を。
★古典的な位相論が中心になってます。位相論にはブルバキ式とかいろいろあります。
全ての実数を、二つの組にわけることを考えよう。その組を上組、下組と呼び、二組は上組に属する数は下組に属する全ての数よりも大であると定義する。
ここに s なる実数を選び、s と大小を比べて実数を任意に仕分けて行けば、二組の規約を満たして分割できるであろう。このようにした実数の截断を完成させるためには、最後に残った実数 s を上組か下組かの一方に入れなければならない(註:無限にある筈の実数を何時の間に全部比較したのだという野暮な事は謂わないで欲しいが、重要なことなので後述)。
仮に s を上組に入れたとしよう。上組には最小なる数 s が確かに存在する。では下組には最大なる数が存在するであろうか。実数は稠密であって、無数に存在する。譬えば s なる実数の近傍に t なる実数をとれば、s と t の中間にもまた実数があり、「s の次の(或いは前の)実数を選ぶ」と謂うことはできない。だから、下組には最大なる数は存在しない。逆に下組に s を入れてしまえば、上組に最小数無く、下組に最大数が有るであろう。このようにして Dedekind の截断は数を確定する。
つまり実数は s なる境界面で分割できる。逆に、上組と下組の截断が存在すれば、s なる数を確定することができる。これを「実数の連続性」と謂う。なお分割には理論的に三通りある。
飛びがある代表的数集合は、整数集合である。途切れがある代表的数集合は、有理数集合であるが、条件がある。有理数を選んで截断するのではなく、s を無理数として、組分けするのである。有理数は稠密であるから、無数に存在する。もし s が 2 の平方根であれば、上組、下組の端を決定することはできないであろう。
連続なる意味がわかりづらいならば、紙を手で千切って頂きたい。製紙会社や出版社が截断した、或いは鋏で切った、紙は截断面が奇麗である。しかし手で千切った面はそうではない。端とは鋏で揃えた、端が無い部分はハッキリとしない手で千切ったような感じ、とイメージされると分り易いかもしれない。
集合 S に属する全ての数が、任意の数 M 以下であったとする。このとき M を S の上界と謂い、S は上方に有界であると謂う。任意の数 M 以上であれば、M は下界で、S は下方に有界である。単に S を有界と謂えば、上界と下界を有することを謂う。
ところで有界集合 S の上界や下界は唯一つ得られるというわけではない。「3 よりも大きな実数の集合」では、3 以下の整数全てが下界である。このうち、最大なる下界を下限と謂う。上界にも最小なる上界を考えることができ、これを上限と謂う。また集合 S の上限や下限は、集合 S の元であるとは限らない。例の場合は下限が 3 であるが、これは集合の元ではない。
この定理を Weirestrass の定理と謂い、実数の連続性で證明できる。
普通「以上」「以下」「〜より大きい」「〜より小さい」「未満」等は使いわけられる。
連続なる数の集合を、区間で表すことができる。[a, b] を閉区間(a 以上 b 以下)と、(a,b) を開区間(a より大きく b より小さい)と謂う。閉区間は端があるけど、開区間は端が無い。
第 n+1 項が第 n 項以上(或いは以下)である数列を考える。第 n+1 項が第 n 項以上なる場合、上方に有界であれば、定義と矛盾しないために、数列は収斂することがあきらかである。この證明は、ε-N論法で解決できるであろう。
逆に有界なれば収斂するかと謂えば、そうではない。(-1) の n 乗を n 項とする数列は、1 と -1 なる上限と下限を有し有界であるが、これは収斂しない。単調数列なることは重大な仮定であり、条件である。
区間縮小法と併せて、数列が収斂する条件を求められる。それは上極限と下極限が一致することである。
数列の第 n 項以降の部分数列を作製し、その部分数列における上限と下限を求めたとする。この上限と下限は、n に対応した数列を為すであろう。今ここにこの新たなる数列の極限を考える。これを夫々、上極限、下極限、と謂い、数列の収斂は上極限と下極限が一致することで證明される。逆に、一致すれば収斂する。
いまここに二つの数列で定められる閉区間 In = [an,bn] が存在したとする。an - bn が n の増大ともに減少したとする。また、閉区間の列は、第 n+1 項が第 n 項の部分集合であるとする。するとこの閉区間の列は、唯一つの共通の点を持つ。これを区間縮小法と謂う。
数列の収斂は、厳密には、ε-N 論法で考えられる。「解析概論」では、「或る」「任意の」「全ての」等の日本語が論理記号の代わりをしているけれども、書いてある内容に差はない。重要なのは意味を理解する事。普通は ε-δ 論法を先にするだろうが、「解析概論」と同じ順にした。
ここに任意の正数 ε を考えたとする。ε は正なる実数全体を動く(∀ ε > 0)。これに対応する項数を N として、一つの大小関係を考えたとき、
ならば、an は α に収斂する。対応する項数が N であるとは、ε を小さくした場合に、関係を満たす項数が大きくなるであろう事を指して云う。だから、この収斂の要である ε と N を指して、ε-N 論法と謂う。
譬えば初項が1で公比が1/2なる等比数列が0に収斂することを ε と N の関係で確認してみるのもよい(ε が 1 ならば N > 1 であり、ε が 1/3 ならば N > 2)。
Weirestrass により整理された論法が ε-δ 論法である。実数の連続性がどうの、Weirestrass の定理で有界がどうの等、こういう話題は実はこの為の準備体操であって、ε-δ 論法に資するために存在する。ε-δ 論法は函数の連続を示し且つ極限を求めることができる。ε-N 式の極限は、ε-δ 式の考えの延長に過ぎない。
ならば、f(x) は x = a の近傍において連続であり、
ならば、f(x) は x = a の近傍でbに収斂する。
ここに δ は或る任意の正数値であり、ε は全ての正の実数である。
x^2 が x = 2 のとき 4 に収斂することを證明してみよう。|x^2 - 4|=|x-2||x+2| は |ab|=|a||b|の線型性から明らかである。次に|x-2|<δならば、|x+2| は |x-2|より4大きいか4小さいかの間にあるのだから、|x+2|<=δ+4。従って|x^2 - 4|<(δ+4)δ。ここに δ=√(ε^2 + 4) - 2 とすれば、(δ+4)δ = ε なので、|x^2 - 4|<ε である。δの値が小さくなれば、εは小さくなるであろうし、その逆も成立する。つまり x^2 は x = 2 のとき 4 に収斂する。
実数はその代数的特性として、「四則演算が可能」「大小が比較できる」「連続性がある」と謂う三つの特性がある(代数論や群論等参照)。
このうち「大小が比較できる」ことは重要で、Dedekind の所で書いたように、s を選んで無限の数と比較して組分けする際には、この性質を利用している。これが保証される理由は、譬えば s < s + 1 かもしれないが s < s + 10000000 とは限らないぞなる問題は、公理論において解決される。だから、截断を考えた際にも、s の近傍だけを問題にできたのである。
いま二つの実数、a、b があるとき、次の三つのうち、どれか一つの関係のみをとる。
a > 0 なる a を正であると、a < 0 なる a を負であると謂う。実数の二乗が正或いは0であることは、これらのことから導かれる。
今ここに、s よりも大なる t、t = s + ε と表される任意の数(ε は正数)、をとる。すると t < ε + t である。よって s < t < ε + t なる関係を得、正数 s よりも大なる t があるならば、更に 2t - s なる s でも t でもない数が得られる。つまり、帰納的に全ての数と比較することができる(このとき方法的に t は s の近傍、ε が 0 に近しいものであることが望ましい)し、s より大きい数は無限に存在するらしいことも確認できる。
これを書く参考にした本を掲げておきますね。
謂わずと知れた解析学の教科書。昭和十年頃の東京帝國大學、高木教授(日本の数学界を啓かれた大人物である!)の講義がベースになってるらしい。ε-δ 論法等に論理記号等が一切合切登場しないので、そこはある意味で取っ付き易いのかも。解析学の近代的な考えがだいたい詰まってるけど、若干古い。詳しい内容は書店で確認してちょ。
ただし内容が広汎である。第一章には「位相(多様体論/幾何学)」や、「代数論/数論」的な概念などなど、解析とは直截には関係の無さそうな概念に近い物やその話題が出てくるから、挫折する人も多いらしい。数学の論理を愉しみたい場合の本だと思う。
数学の本にはいろいろあるけれど、本により著者により専門は異なるのだから、多くの本に目を通す事は重要なことに思えます。さり気なく重大な話題を取り扱ってあるだとか、一つの結論に多くの論理を宛てがうだとか、ある一定の目的のために論理が展開される(譬えば実数解析を目的とした)だとか、著想を得られる点は数多くあるのではないでしょうか。譬えば数学者が研究室を行き交うことで新たな著想を得ることは珍しいことではありませんから、多くの本を比べてみるのもよいでしょう(これは一般教養に関しても云えること)。
副題にある通り、幾らかの初等函数の近似値を求めるための方法論。主に級数に関して。この需要はあるのだろうか。
理論を理解するには数列の収斂や解析学の智識(できれば冪級数展開程度)がある方が望ましいですが、ここでは計算法だけを掲げ、證明は略證とします。詳細については別途示します。理論の確認をすっ飛ばすには、三角函数まで読み飛ばして下さい。
今既知の級数を求めたいとしよう。この級数は有限かもしれないが、その項数は著しく多いため、全てを計算するには向かないとする。加えて級数の収斂条件は既知であるとして、収斂条件下で級数の近似値を求めるにはどうすればよいか。然らばここで収斂速度を意識せねばならない。
#mimetex(\sin x = \sum^{\infty}_{n=0} (-1)^{n}{\frac{x^{2n+1}}{(2n+1)!}});
sin x の近似値は Maclaurin 展開で容易に求まる。今この無限級数を for roop 等で計算し計算の終了を評価する際、級数の項が単調減少であるからといって、単調減少なる各項が浮動小数点の精度を越えれば(詰り 0 になれば)roop を閉ぢて良いかと云うと、必ずしもそうではない。
#mimetex(\zeta (s) = \sum^{\infty}_{n=1} {\frac{1}{n^s}});
Riemann の ζετα 函数 ζ(s) を思い出して頂きたい。ζ(s) は s = 1 の時、確かに単調減少なる項を有し、且つ級数の項は 0 に収斂するが、これの和が収斂するかと云えばそうではなく、寧ろ無限大に発散する。然し先の方法では、浮動小数点の精度を越えてしまうので、ζετα 函数は正しく評価されない。
我々は慎重に級数を評価する必要がある。一部の級数は、一般的な想像に適う様に、浮動小数点の精度を越えればそれ以下の項(剰余項)を全て切り落としても構わない。この評価は、実装時に、数学的評価を重ねた上でなければ思わぬ誤差を招く。剰余項の総和が今求めたい級数の精度から観て十分に無視できる場合にのみ、剰余項を 0 とみなしても十分に正しい級数の近似値を得るのである。収斂速度の違いが、剰余項の総和が収斂するか否か、剰余項の総和がもう無視できるのか・無視できないのか、これを教えてくれる。
註:問題はどの様に実装するかにある。アルゴリズムを選ぶにあたって、機械の制約にとらわれる事もある。譬えば、RSA 暗号を C で実装する際、厖大な回数の除算(冪剰余算)を行う事になる。然し現在の一般的なハードウェアは除算を高速に行えず、除算を嫌ってモンゴメリ乗算なる手法まで考案された程である。IBM の有名な POWER6 なる CPU は 10進数で計算できる(!)ようになったそう(FPU が 10進計算らしい)だが、この様にハードで実装されない限り、速度の根本的向上は望めない。だから代替的手段を考案する必要がある時が在る。この手段は計算機の進歩と共に変化して行く物だから、拘る必要は無い。三角函数を求める方法として、以下では解析学による多項式近似を例示することになるが、乗算を嫌って、代数学(幾何)的に提示されるシフト演算加算減算のみの CORDIC(Coordinate Rotation Digital Computer)と謂うアルゴリズムも知られている。
Taylor 展開、Maclaurin 展開、そして Laurent 展開。これらの展開はほぼ冪級数展開と同義であり、またある点における冪級数展開は一意である(解析接続参照)。Maclaurin 展開は、原点に於ける冪級数展開である。
Taylor 展開は一般的な冪級数展開と同義である。Taylor 展開可能な点を正則であるなどと云うが、正則な点とは微分・積分・連続性が保証される点を云う。正則な点では何度でも微分ができる(かなり適当)。
Laurent 展開はTaylor 展開を負の冪にまで拡張し、正則ではない点を記述する。正則ではない点は特異点と呼ばれるが、特異点は、「除きうる特異点(非連続)」「孤立特異点」「真性特異点」に分類される。「真性特異点」はありとあらゆる値をとれる点であるから、値が確定せず、扱いづらい。一方で「孤立特異点」はこれを極と謂い、極は負冪項が有限である。「真性特異点」は負冪項が無限で、「除きうる特異点」は負冪項が存在しないことと好対照である。
#mimetex(\exp x = \sum^{\infty}_{n=0} {\frac{x^n}{n!}});
e を底とし指数 x な指数函数は、x に関し微分しても導函数は全く同じ函数である(この微分方程式により指数函数やeを定義する方が解析学上は自然な方法である)。よって Maclaurin展開により上式を得る。e の値は x = 1 の場合に無限級数として求められる。
#mimetex(a^x = \exp(x\log a));
任意の底における指数函数は、対数函数を通すことで求めることができよう。対数函数 log a 等の求め方は追々。
#mimetex(\sin x = \sum^{\infty}_{n=0} (-1)^{n}{\frac{x^{2n+1}}{(2n+1)!}}\\ \cos x = \sum^{\infty}_{n=0} (-1)^{n}{\frac{x^{2n}}{(2n)!}});
この級数が成立することは Maclaurin 展開から簡単に導かれる。sin x を x = 0 近傍で展開すると、
#mimetex(\sin x = \frac{\sin 0}{0!}x^0+\frac{\cos 0}{1!}x^1+\frac{-\sin 0}{2!}x^2+\frac{-\cos 0}{3!}x^3+\frac{\sin 0}{4!}x^4+\dots\ = \frac{x}{1!} - \frac{x^3}{3!} + \frac{x^5}{5!} -+\cdots);
を得る。cos x も同様にできる。これらの級数は、収斂半径が実数全域(複素数全域も可)にわたるので、 大変扱い易い。また通常は三角函数に与える変数を 0 から π/2 等に制限して計算する。
この様に sin、cos と「弦」の場合は比較的簡単であるが、tan や cot、sec、cosec など「接」と「割」は、Bernoulli 数等を要し、少しややこしいので、別に扱う。
なおこの級数から、指数函数 exp z の級数に複素数 z = z+yiを代入すれば、Euler の公式 &mimetex(\exp z = \exp x(\cos y + i\sin y)); を導くことができる。
覚書:三角函数は幾何的に定義されるが、「この級数が三角函数を表す」と解析的にも定義できる。
一般に不定積分が可能な函数は少ない。それは Gauss 積分や Fresnel 積分の様に初等函数で統制できない積分の例から明らかに思える。しかし被積分函数が連続函数であるならば(註:連続函数でない場合は Lebesgue 積分や測度の出番である;或いは Cantor 函数程度ならば求まるであろう)、Simpson の方法、Gauss の方法など近似する手段が知られている。
これらの積分の計算法は、N 箇の分点を施すことで、値を近似する。その尤も有名な物が区間積分法である。いまそれを違う視点から捉えた計算法を紹介する。
Gauss の方法では Legendre の多項式 Pn(x)、所謂「球函数」、量子論でお馴染みの直交多項式を用いる。Legendre の多項式を用いると、函数ベクトル Pn(x) と連続函数の内積(Hermite 積)が 0 である条件(恰もベクトルが直交しているかに見えるので、これを直交多項式と謂う)から、簡単に近似式が得られる。この際に Lagrange 補間を行う。
この計算法に於いて、近似する連続函数は多項式に限る制約があるが、我々は解析函数であれば冪級数展開が可能であることを知っている。則ち条件を緊縮し、正則なる函数ならば近似できると読み下せる。譬えば sin x の数値積分を近似したい場合は、sin x を多項式とみなすために、上掲の Maclaurin 展開を利用するわけ。
二項定理はその冪を複素数に拡張できる。二項定理は整数によるものが高校で教えられるが、Newton が実数に拡張した物を考察した。そして複素数にも拡張された。
これは Arcsin と Arctan で十分。導函数を二項展開して、正則性から、各項を積分すると、級数を得る。
冪級数展開で三角函数を定義するには、Bernoulli 数 Bn を導入する必要がある。sec(正割)に関しては、正割係数 En を導入することで表現することもできる。なお LaTeX の都合上 cosec が csc と表記されているので注意。
#mimetex(\tan x=\sum^{\infty}_{n=1}\frac{2^{2n}(2^{2n}-1) B_n x^{2n-1}}{(2n)!} \ \ |x|<\frac{\pi}{2}\\ \cot x=\frac{1}{x} - \sum^{\infty}_{n=1}\frac{2^{2n} B_n x^{2n-1}}{(2n)!} \ \ |x|<\pi\\ \sec x=\sum^{\infty}_{n=0}\frac{E_n x^{2n}}{(2n)!}=\frac{1}{\cos x} \ \ |x|<\frac{\pi}{2}\\ \csc x=\frac{1}{x}+2\sum^{\infty}_{n=1}\frac{(2^{2n-1}-1) B_n x^{2n-1}}{(2n)!}=\frac{1}{\sin x} \ \ |x|<\pi);
今 cot x の級数が成立するならば、tan x は tan x = cot x-2cot 2x、cosec x は cosec x = cot x/2 - cot x で導ける。sec x は sec x = tan x cosec x を利用しても良いが、cos x sec x = 1 から En を計算して、En を用いた冪級数展開を定めることもできる。cot x の級数の證明は、少し面倒なので割愛(高木・解析概論 §64 参照)。
更にこれらを部分分数で表現することもできる。この場合は x の値に上の様な制限が無いが、発散する場合は定義できないので除く。
#mimetex(\tan x = 2x\sum^{\infty}_{n=0}\frac{1}{(n+\frac{1}{2})^2\pi^2 - x^2}\\ \cot x = \frac{1}{x}+2x\sum^{\infty}_{n=1}\frac{1}{x^2-n^2\pi^2}\\ \sec x=2\pi\sum^{\infty}_{n=0}\frac{(-1)^n(n+\frac{1}{2})}{(n+\frac{1}{2})^2\pi^2-x^2}=\frac{1}{\cos x}\\ \csc x=\frac{1}{x}+2x\sum^{\infty}_{n=1}\frac{(-1)^n}{x^2-n^2\pi^2}=\frac{1}{\sin x});
同様に cot x と cosec x の部分分数の展開が成立することを仮定すると導ける。即ち、x を x + π/2 とおき直せば、周期性から tan x と cos x が求まる。然しこの sin x と cot x の部分分数分割の證明はかなり面倒である。留数計算により求めているが、これには複素解析が必要であるから、證明は割愛せざるをえない(證明は同じく高木・解析概論 §64 参照)。
以上の二展開から Riemann の ζετα 函数 ζ(s) における s が偶数である場合の値が得られる。 それは、
#mimetex(\zeta(2n)=\frac{2^{2n-1}B_n}{(2n)!}\pi^{2n});
であるが、|x|<π を仮定すれば、
#mimetex(\frac{x^2}{n^2\pi^2-x^2}=\sum^{\infty}_{n=1}(\frac{x}{n\pi})^{2n});
なので、これを部分分数の分割に導入すると、
#mimetex(x\cot x=1-2\sum^{\infty}_{n=1}\zeta(2n)(\frac{x}{\pi})^{2n});
が成立することで、冪級数展開との係数を比較し得られる。
ついでだから、素数がζετα 函数並びに三角函数、円周率と関係していることを示す有名な式を示す。p が全ての素数にわたるものであるとして、
#mimetex(\zeta(s)=\prod_{p}\frac{1}{1-p^{-s}});
なる関係式が成立する。
#mimetex(\sin x=x\prod^{\infty}_{n=1}(1-\frac{x^2}{n^2\pi^2}));
cot x の分割から導くことができる。然し今 cot x の分割が非成立な点を含めて、sin x の無限積は成立せねばならないが、この点の説明には解析接続が必要である。
余割函数(正弦函数の逆数)の部分分数分割も以下の手順で證明できる。今は余接函数の略證をする。R=nπ+π/2 の時に x=±R、y=±Rで囲まれた正方形の周Cで積分する。但し、ξ が cot z の極ではなく |ξ|<R と仮定した上で、
#mimetex(\frac{1}{2\pi i}\int_C \frac{cot z}{z-\xi}dz);
なる積分を考察し、しかも、
#mimetex(\int_C \frac{cot z}{z-\xi}dz = \int_C \frac{cot z}{z}dz + \xi\int_C \frac{cot z}{z(z-\xi)}dz = 0);
を示す(註)。cot z に於ける一次の極は単純である。その留数は、実数軸上何番目の極であるかにより符号を変える、大きさが 1 の物である。加えて、Cauchy の積分公式により、z=ξ での留数は cot ξ。正則函数において、閉曲線上での積分は閉曲線内の留数の和に等しいから、
#mimetex(\frac{1}{2\pi i}\int_C \frac{cot z}{z-\xi}dz=\cot \xi+\lim _{n \to \infty}\sum^{n}_{k=-n}\frac{1}{k\pi-\xi} =0);
となり上分割を得る。その際に ξ を x に置き換えるとよい。またn→∞はR→∞より(即ち積分が0に等しい事から)導かれる条件である。
註:一番の問題は 0 に等しいことを示す事である。一つ目の積分は、cot z/z は偶函数だから、冪級数を考えて積分すれば 0 に等しい。次に C 上で縦と横の動きに分割して、Rが十分大ならば|cot z|<2であることを示し、この事から、
#mimetex(|\int_C\frac{cot z}{z(z-\xi)}dz|<\frac{2}{R(R-|\xi|)}\int_C ds=\frac{16}{R-|\xi|});
を導く。故に R が十分大であれば、二つ目の積分も 0 であることが示され、即ち、これらの積分の和である積分もまた 0 である。
sec x は偶函数だから、冪級数も偶函数のみで構成される。よって、
#mimetex(\sec x=\sum^{\infty}_{n=0}\frac{E_n x^{2n}}{(2n)!}\ \ |z|<\frac{\pi}{2});
と置く。この En を正割係数或いはEuler 数と呼ぶ。この時 En は、
#mimetex(E_0=1,\ E_n-{2n\choose 2}E_{n-1}+{2n\choose 4}E_{n-2}-\dots+(-1)^n E_0=0);
より決定できる。このことは、
#mimetex(\cos x\sec x=\sum^{\infty}_{n=0}\frac{(-1)^n x^{2n}}{(2n)!}\sum^{\infty}_{n=0}\frac{E_n x^{2n}}{(2n)!}=1);
なる関係式が恒等であるから、任意の項の係数を取り出し En が決定できるわけ(定数項以外全て0だから2n次の項を考察するとよい)。
Bernoulli の多項式は Fourie 級数展開可能。
階乗の計算はとても面倒であるが、近似式、Stirling の公式が知られる。途中で Wallis の公式を用いて證明される(高木・解析概論 §69 参照)。その近似値の精度は、主として、計算に用いる円周率、そして自然対数の底 e に依存する。
#mimetex(n! \sim \sqrt{2\pi}n^{n+\frac{1}{2}}e^{-n});
この近似式は n→∞ ならば等式となる(左辺と右辺の比が1:1になると謂うこと)。精度を上げるには、譬えば円周率の平方根を必要とするから、利用する浮動小数点の精度の倍の精度で円周率を求めておいて、予め開平法で平方根を計算しておくとよい(註:開平法では精度が半分になる)。
Γ(1)=1。Γ(s+1)=sΓ(s)。n が自然数ならば Γ(n+1)=n!。任意の函数 f が f(s+1)=sf(s) を満たすならば、定数 a を用いて、f(s)=aΓ(s)。
Γ(s) は s>0 でのみ s に関して一様収斂するとして知られるが、解析接続によれば、s=0, -1, -2, ...等の整数を除いた全ての複素数 s に関して一様収斂する。
Γαμμα 函数の尤も簡明な表現としては、Gauss の公式が知られる。
#mimetex(\Gamma(s)=\lim_{n \to \infty}\frac{n!n^s}{s(s+1)\cdots(s+n)},\ s \in \mathbb{R}\ \ (G));
この公式では勿論 s = 0, -1, -2 等は除く。更に実は s が複素数なる時でも成立している。次にこれを現代的に書き直した式として Weierstrass の公式 が知られる。
#mimetex(\frac{1}{\Gamma(s)}=e^{Cs}s\prod_{n=1}^{\infty}(1+\frac{s}{n})e^{-\frac{s}{n}},\ s \in \mathbb{C} \ \ (W));
今 s を任意の複素数とした。C は Euler 定数である。更にStirling の公式により次の式も知られる。
#mimetex(\Gamma(s)=\sqrt{2\pi}s^{s-\frac{1}{2}}e^{-s}e^{\mu(s)}, \ s \in \mathbb{R}\ \ (S));
この μ(s) は、μ(s) = θ/12s (0<θ<1) なる函数で、s が十分大なる時に 0 となる。この μ(s) は、 次の様に表される。
#mimetex(\mu(s)=\frac{B_1}{1 \cdot 2}\frac{1}{s}-\frac{B_2}{3 \cdot 4}\frac{1}{s^3}+\cdots+\frac{(-1)^{n-1}B_n}{(2n-1) \cdot 2n}\frac{\theta}{s^{2n-1}}, \ (0<\theta<1));
この式が有限級数で且つ剰余項を有する理由は、Bernoulli 数を含むBn/(2n-1)2nが幾らでも大になるため、無限級数にすると収斂しないからである。しかし s の値に併せて項数を調整し、μ(s) を定めることはできる。詰り (S) は μ(s) の値を概算することで近似した計算ができる。
更に重要な公式である Βετα 函数(編輯覚書:ギリシア文字 Β がmimetex で使えないのは何故だったのか?)による表現が知られる。
#mimetex(B(p,q)=\frac{\Gamma(p)\Gamma(q)}{\Gamma(p+q)});
證明は、f(p)=Β(p,q)Γ(p+q) が f(p+1)=pf(p) を満たすから、定数 a を用いて f(p)=aΓ(p) なる関係を有する事を示すとよい。p=1を代入すれば a=Γ(q) だから上が求まる。
さて今、(W)式を用いれば、これもまた重要であるが、Euler の反射公式(Γαμμα 函数の対称性)が證明できる。
#mimetex(\Gamma(s)\Gamma(1-s)=\frac{\pi}{sin(\pi s)});
この公式は (W)式の s に -s と代入し、Γ(1-s)=-sΓ(-s)から求まる。詰り -s を代入した (W)式の一部が、正弦函数の無限積(Wallis 積)になっているから、正弦函数として処理できるわけ。
註:(G)、(W)、(S)の證明は簡単ではあるが、短くはないので、解析概論(§68、69)を参照のこと。
算出がむづかしいが、少し工夫すると、それなりに計算できる。
#mimetex((1)\ \begin{cases} \Gamma'(1)+C=0. \\ \frac{\Gamma'(n)}{\Gamma(n)}+C=1+\frac{1}{2}+\cdots+\frac{1}{n-1}. & (n = 2, 3, \cdots) \end{cases} \\ (2)\ \begin{cases} \frac{\Gamma'(s)}{\Gamma(s)}=\log s - \frac{1}{2s}+\mu'(s) \\ \mu'(s)=-\frac{B_1}{2s^2}+\frac{B_2}{4s^4}-\cdots+\theta\frac{(-1)^m B_m}{2ms^{2m}} & (0<\theta<1)\end{cases});
logΓ(s) を微分して得られる式 Γ'(s)/Γ(s) を用いると精度が高い。その際、Weierstrass の公式による表現と、Stirling の公式による表現を比較することで、Euler 定数 C の近似値が得られる。
つまり (2) によって Γ'(n)/Γ(n) を求め、(1) により C の等式を導く。
#mimetex(C=1+\frac{1}{2}+\cdots+\frac{1}{9}-\log 10+\frac{1}{20}+\frac{1}{1200}=0.577216);
n=10 とすれば、μ'(s) の初項のみを考慮したとしても、小数第六位まで正しい値が得られる。これは C の定義によるよりもずっと早い計算方法である。
★(1):今 sΓ(s)=Γ(1+s) なので、s に 1+s を代入した(W)式の対数(s>0)を取り、
#mimetex(\log\Gamma(1+s) = -Cs+\sum_{n=1}^{\infty}(\frac{s}{n}-\log(1+\frac{s}{n})));
更にこれを微分すると、sΓ'(s)+Γ(s)=Γ'(1+s) だから、
#mimetex(\frac{\Gamma'(s)}{\Gamma(s)}=-\frac{1}{s}-C+\sum_{n=1}^{\infty}(\frac{1}{n}-\frac{1}{n+s}));
なるを得る。これにより (1) が證明できる。或いは Γ(s+1)=sΓ(s) を用いる。s 未満の最大の整数を n として、s=n+k (0<=k<1)と表す。P(k)=(k+n)(k+n-1)...(k+1)と置けば、Γ(s+1)=Γ(n+k+1)=P(k)Γ(k+1)。また多項式なので各因数で割れば P'(k)=P(k){1/k + ... + 1/k+n}。今問題にしたいのは微小変化、則ち k と s とに関しての微分の考察であり、n は定数(或いは n に関して一様収斂)とみてよい。Γ'(k+n+1)=P(k)Γ'(k+1)+P'(k)Γ(k+1) なので k = 0 を代入、Γ'(n)/Γ(n) を計算して (1) を得る。
★(2):(S)式から log Γ(s) をとり対数微分法により證明すればよい。μ(s)は有限級数なのでsに関して一様収斂する。故にsに関して微分してもよい。
☆参考:Euler定数の多倍長高速計算法(CiNii・神奈川工科大学)の PDF論文に面白そうな計算法が載っている。
#mimetex(\Gamma(\frac{s}{n})\Gamma(\frac{s+1}{n})\cdots\Gamma(\frac{s+n-1}{n})=\frac{(2\pi)^{\frac{n-1}{2}}}{n^{s-\frac{1}{2}}}\Gamma(s));
所謂 Γαμμα 函数の Gauss の乗法公式について。證明法は二通り程ある。
#mimetex(\int_{0}^{\infty}e^{-x^2}=\frac{\sqrt{\pi}}{2});
よく知られる計算法には、一般的な面積分による物、Wallis の公式による物、そして Γαμμα 函数による計算法がある。一般に Γ(s) が s = 1/2 なる場合の値は、Gauss 積分の値から Γ(1/2)=√π と示されるが、反射公式による Γ(s)Γ(1-s)=π/sin(πs) から Γ(1/2)=√π を得、逆に Γαμμα 函数からGauss 積分の値を得る事ができる。
Legendre、Hermite、Laguerre の多項式。微分方程式や Fourie 級数、量子論でもおなじみ。この名前を有する多項式は、ある自然数 n に対応する n 次の多項式が一定の条件(特に微分方程式や漸化式)を満たす、そんな多項式群の事を指す。譬えば Fn なる多項式を与えると、Fn の根が Fn+1 の根を分離する、そんな特殊な関係を有することもある。更に Fn の n 階以下導函数を取り新たな多項式とする様なことがある。この様な式は陪多項式と呼ばれるが、必ずしも多項式ではなく単純に導函数を取るわけでもない(陪多項式とは、多項式に陪する式と謂う意味であるから、場合により様々である)。陪多項式もまた特異な性質を持つ事がある。また多項式 Fn を求める切っ掛けを与えた元の函数は母函数と呼ばれる(Fnは母函数を冪級数展開した際の係数を取る物が多いようである)。
直交多項式、陪多項式、母函数・・・何だか素敵と思った人は函数論をやってみるといいのではなかろうか。
n-1次以下の全ての多項式 Q(x)に関して
#mimetex(\int_a^b Q(x)P_n(x)dx=0);
となる様な n次の多項式 Pn(x) は存在する。この様な多項式が一意で、
#mimetex(P_n(x)=C\frac{d^n}{dx^n}(x-a)^n(x-b)^n);
なる如く定まる事は、簡単に證明される(Cは任意定数)。今区間[a,b]を[-1,1]に変換したならば、
#mimetex(P_n(x)=\frac{1}{2^n\cdot n!}\frac{d^n}{dx^n}(x^2-1)^n);
となる。これを Legendre の多項式(球函数)と謂う。Pn(x)は、n が偶数ならば偶函数、n が奇数ならば奇函数となる。更に
#mimetex(P_n(1)=1,\ P_n(-1)=(-1)^n);
なる値を取る。Hermite 積(内積)をとれば、
#mimetex(\int_{-1}^1 P_m(x)P_n(x) dx = \begin{cases} 0, & (m\neq n)\\ \frac{2}{2n+1}, & (m=n) \end{cases});
と直交条件を満たす。故に直交多項式と謂う。今 m≠n は自明。m>nの場合はPn=Q、逆なら Pm=Q とすれば、定義から 0 にしかならない。m=n の場合は證明を試みて欲しい。そして漸化式
#mimetex((n+1)P_{n+1}(x)-(2n+1)xP_n(x)+nP_{n-1}(x)=0);
を満たす。加えて、Pn(x) は、n が自然数なるときの Legendre の常微分方程式
#mimetex((x^2-1)P_n''(x)+2xP_n'(x)-n(n+1)P_n(x)=0);
の解である。これらの突飛に見える事項は、歴史的には、ポテンシャル論における
#mimetex(\frac{1}{\sqrt{1-2r\cos\theta+r^2}}=\sum_{n=0}^{\infty}P_n(\cos\theta)r^n);
なる冪級数展開(参照:二項定理)を出所とする。x=cosθ とおくと上の多項式になるわけ。故に
#mimetex((1-2rx+r^2)^{-\frac{1}{2}});
を Pn(x) の母函数と謂う(高木・解析概論 §36 参照)。或いは Fourie 級数ともみれる。
今 Hn(x) なる函数が
#mimetex(\frac{d^n}{dx^n}e^{-x^2}=(-1)^n H_n(x)e^{-x^2});
を満たすなら、これは n 次の多項式であり、Hermite の多項式と謂う。Hn(x) は直交条件
#mimetex(\int_{-\infty}^{\infty} H_m(x)H_n(x) e^{-x^2} dx = \begin{cases} 0, & (m\neq n)\\ 2^n n!\sqrt{\pi}, & (m=n) \end{cases});
を満たす。&mimetex(e^{-x^2}); は重み函数と呼ばれる。また Hn(x) はn箇の実根を有し、Hn(x) の実根は Hn-1(x) のn-1箇の実根により分離される。Hn(x) は漸化式
#mimetex(H_{n+1}(x)-2xH_n(x)+2nH_{n-1}(x)=0);
を満たし、また Hn(x) は常微分方程式
#mimetex(H_n''(x)-2xH_n'(x)+2nH_n(x)=0);
の解である。加えて冪級数の係数として
#mimetex(S(x,y)=e^{-y^2+2xy}=\sum_{n=0}^{\infty}H_n(x)\frac{y^n}{n!});
が成立し、Hn(x) は S(x,y) を母函数とする。
今 Ln(x) なる函数が
#mimetex(e^x\frac{d^n}{dx^n}x^n e^{-x}=L_n(x));
を満たすなら、これは n 次の多項式であり、Laguerre の多項式と謂う。Ln(x) は直交条件
#mimetex(\int_{0}^{\infty} L_m(x)L_n(x) e^{-x} dx = \begin{cases} 0, & (m\neq n)\\ (n!)^2, & (m=n) \end{cases});
を満たす。また Ln(x) は Hermite の多項式同様に n 箇の実根と根の隔離の関係を有す。Ln(x) は漸化式
#mimetex((n+1)L_{n+1}(x)-(2n+1-x)L_n(x)+nL_{n-1}(x)=0);
を満たし、また Ln(x) は常微分方程式
#mimetex(xL_n''(x)+(1-x)L_n'(x)+nL_n(x)=0);
の解である。加えて冪級数の係数として
#mimetex(G(x,t)=\frac{1}{1-t}\exp(-\frac{xt}{1-t})=\sum_{n=0}^{\infty}L_n(x)\frac{t^n}{n!});
が成立し、Ln(x) は G(x,t) を母函数とする。更に変数を一つ加えた多項式、一般化された Laguerre の多項式を指して、単に Laguerre の多項式と謂うこともある。
現代では円周率の計算方法として様々な物が知られている。十九世紀迄は、円周率は七百桁程度しか知られていなかった。それが前世紀にコンピューターの黎明とともに計算が容易になったことも相まって、John von Neumann による e、π の乱率の研究(この時当時知られていたπの値が808桁まで正しかったことが計算された)が縁起になり、今では兆を超える桁数で計算されている(百三十一日掛けて平成二十二年一月までに Fabrice Bellard が2兆6999億9999万桁計算した物が知られる)。
古典的な級数としては、Arctan x の級数が x = 1 でも収斂する(一様収斂)ことから、
#mimetex(\frac{\pi}{4} = 1-\frac{1}{3}+\frac{1}{5}-\dots);
なる物が知られる。有名な Leibniz の級数である。然しこれは随分と緩慢な級数であるから、実用に適さない。今 arctan の同じ枝を取り(或いは値が主値であるとみて)、
#mimetex(\frac{\pi}{4} = 4\arctan(\frac{1}{5}) - \arctan(\frac{1}{239}));
なる級数が別に知られている。Machin の級数(1706年)である。この級数は甚だ高速に収斂する。この導出は、α が 0<α<π/2 の範囲にあるとすれば &mimetex(\tan\alpha=\frac{1}{5} \Rightarrow 4\alpha \simeq \frac{\pi}{4}); なる関係を満たすことを利用する。倍角公式を適用すれば、&mimetex(\tan2\alpha=\frac{5}{12},\ \tan4\alpha=1+\frac{1}{119}); であり、&mimetex(\tan(4\alpha-\frac{\pi}{4})=\frac{1}{239}); と計算できるから、上級数が成立する。
他にも級数の例はある。和算家などは、別の級数を利用して、円周率を計算している。和算は幾何的な考察を中心とする学問であるが、その功績は賞讃に値する。有名な關孝和は無視できない功績を数多く遺している。また Arcsin を用いるもの、所謂 Wallis の公式、Euler による公式の数々、そして近年になり多数発見された無限積の公式などがある。これは π が如何に重要な数であるかを表している。
なお現在実際に遣われる技術としては、収斂の早さと実装後の早さは別物であるから一概にはどれがいいとは云えないが、PDF:分割有理数化法による多数桁関数値計算と円周率計算の世界記録 (北海道大学・情報基盤センター) などで面白い方法が数多くあげられている。
連分数とは、任意の数列{an} を考えた時、
#mimetex(a_0 + \frac{1}{a_1 + \frac{1}{a_2 + \frac{1}{a_3 + \frac{1}{\dots}}}});
と表記される分数を謂い、この値が如何なる物に等しいか、数列によりどの様な振る舞いをするかと謂う事は、随分と古典的な概念ではあるが、初等整数論では今なお重要な概念に思える。先述 PDF 資料(分割有理数化法による・・・)に書いてあるので一往項目を作ったけど、ここでは書きません(これはこれで長くなる)。高木・初等整数論講義等を参照して下さい。
真数表は、三角函数表・常用対数表と呼ぶ方が通りは良いかもしれないが、如何にして計算されるのであろうか。これまで挙げてきた級数を理解して貰えたならば、冪級数を利用すれば簡単に計算できるじゃん、何だそんな事と思われることだろう。
下記はだいたい大雑把なので。ⅠAとⅡB、ⅢCとあるんだぜ。大学でも数学をやる人たち(理系の人)は、ⅢCまでが必修の扱い。京大とか行列(数C)だすよと公言する一部を除いて、文系の人はⅠAとⅡBまでって感じ。でも文系では経済学とかは偏微分とかも含まれるから、結局数Ⅲはある程度理解する必要もあったり。
年度によりけりで「課程」が変われば内容もかわる。基本的には、ⅡBをやるにはⅠAの理解、ⅢCをやるにはⅡBの理解、と段階的に学習できるようになってますよ。
方程式、二次関数はここがわからないと、高校レベルの理科と解ける問題が半減すると言っても過言ではない。三角関数は正弦・余弦定理と三角形の面積の求積まで。ヘロンの公式とかもここかな。数Ⅰは次の通り。
確率は、確率の基礎。統計的拡張は数C。二項定理を含むよ。平面図形は、幾何の基礎。 ベクトルなんかだと、ここの幾何が分ってないと式の流れが分らなくなるかも知れません。数Aは次の通り。
かなり重要な分野が多い。関数は頻出のsinだとかlogだとか、それから自然対数e(ネイピアさん)も。対数のあたりで極限のためのlimさんも登場する。なかなかよく要点の纏まった過程だと思う。物理の力学では、微分・積分法の考えかたが沢山(ただし高校物理では使わずに教えることになってるので学校によっては説明してくれない。)あります。そこはこれと併せて学べばよいでしょう。数Ⅱは次の通り。
複素数平面は好きならやってね。統計は普通やらないみたい。数Aでの初歩的な統計の考えを拡張して、最後は数Cの正規分布までたどり着くのが統計の目的。数Bは次の通り。
積分は置換・部分積分の導入がある。物理の角速度を理解するには、ここまでの学習が入り用。微積には曲線の長さも含まれるよ。数Ⅲは次の通り。
確率以後は普通やらないらしい。統計処理の用語がExcelの変な函数とかにあるネ、あれを理解するにはこれが必要ってわけ。偏差値計算ができるようになるぜ。数Cは次の通り。
無茶を仰る。ザックリまとめてあげよう。
まあこんなとこでしょうな。勉強法としては、上三つの最低限のレベルを理解(数論極めてフェルマーの最終定理とか、群論とか、そんなの理解してどうすんのさ)して、後は真ん中をいったりきたりでしょう。そういう意味では、今の高校数学はよくできてると思う。