pineapple blog

Blog of Ichi Kanaya / 金谷一朗のブログ

Search

Twitter feed

Flickr Feed

Loading Flickr...

    More - Flickr

    Find me on...

    Tag Results

    58 posts tagged math

    参考文献として拙著「ベクトル・複素数・クォータニオン」(無料)を挙げて頂きました.

    無限を数える2

    数えるとは,自然数との1対1対応のことであった.

    さて,いま0から1の間にある数を数え上げることができるとしよう.0から1までの間の数に a1, a2, a3, … と名前をつける.もちろん ai のiは可算無限個ある.

    数 ai を2進数で表示したときのj桁目の数字を aij とする.また bi := not aii とする.

    ここで,第j桁が bj であるような数 b := 0.b1b2… を考える.このbは a1, a2, … のいずれとも異なる.というのは,aiのi桁目は aii であるが,bのi桁目は bi := not aii であるから,aii ≠ bi で,bはどの ai にも一致しない.

    つまり,0から1までの間の数すべてに a1, a2, … と名前をつけることはできなかったのだ.これは,実数の個数が自然数の個数よりも大きいことを示している.

    ここで紹介した論法はカントールの対角線論法と呼ばれている.

    無限を数える

    鞄の中に入った小石を数えられることと,それが有限であることは関係がない.

    無限に小石が取り出せる鞄を想像してみてほしい.一つづつ取り出せば,取り出すたびにひとつ,ふたつ,みっつと数えていける.もちろん,このカウントアップは終わりはしないが,ともかく数えられる.

    このような無限を,数学者は可算無限 (countable infinite) と呼ぶ.

    数学者カントールは,可算無限よりも大きな無限を見つけたのだが,その話はまた今度.

    名式鑑賞4: ド・モアブルの定理

    (cos x + i sin x)^n = cos nx + i sin nx

    左辺をオイラーの公式で e^ix という形にすると一発で証明できる.(e^ix)^n=e^i(nx) だから,今度はオイラーの公式を逆に使ってe^i(nx)を cos nx + i sin nx へ展開できる.つまりこういうことだ.

    この単純な定理から,三角関数に関する公式がいくらでも導出できる.例を挙げる.n=2とすると,

    であるから,左辺を展開して

    であるから,

    および

    が言えたりする.ね,便利でしょ?(特に受験生諸君.)

    名式鑑賞3: 円周率

    π/4 = 1 - 1/3 + 1/5 - 1/7 …

    名式鑑賞第3回は,円周率の求め方の式だ.僕が始めてこの式に出会ったのはカール・セーガン「コンタクト」ロバート・ゼメキス監督ジョディ・フォスター主演の映画の原作)の中で,自分で計算してみて衝撃を受けた.

    円周率がなぜこのような無限級数で表現できるのかということを理解するには,若干の数学が必要であるが,直感的な理解には高校生レベルの数学で十分だ.ちなみに円周率を4で割っているのは,円周率の定義がたまたまそうなっているからで,恣意的なものだ.例えば,ギリシャ人が円周を直径ではなく半径で割っていたら,πの値はいまの2倍(6.28…)になっていただろう.

    まず,三角関数のひとつ正接(tan)を理解する必要がある.tanは直角三角形の底辺と垂辺の比率で,底辺と斜辺とがなす角をx,底辺の長さをa,垂辺の長さをbとすると tan x = b / a である.いま b / a = 1 となるような三角形(直角二等辺三角形)を考える.直角でない頂点の角度は45度だが,これは360度を2πとする単位系(ラジアン)ではπ/4に相当する.なぜラジアン単位系では360度を2πとするかと言えば,半径1の円の円周が2πだからだ.

    そこで tan π/4 = 1 という関係がただちに決まる.あとはπを未知数だと思って方程式を解けばよい.tanの逆関数はarctanなので,結果として次の式を得る:π/4 = arctan 1.

    三角関数も逆三角関数も微分可能で,ということはテイラー展開が出来る.実際,arctan x を x=1 の周囲でテイラー展開した結果が,最初に出てきたπ/4を求める式だ.

    円周率もまた,純粋に代数的に求めることが出来る.不思議でしょ?

    名式鑑賞2: PERFECT SQUARE DISSECTION.

    上の図は,ある正方形を,それぞれ大きさの異なる別な正方形に分割できるかという問題に対するひとつの解で,オーダー21のパーフェクト・スクエアと呼ばれている.これは21個の相異なる正方形から出来た正方形で,最も小さいパーフェクト・スクエアでもある.

    この分割を数式で記述する方法はいくつかあるが,代表的なものはつぎのようなものである.

    [50, 35, 27], [8, 19], [15, 17, 11], [6, 24], [29, 25, 9, 2], [7, 18], [16], [42], [4, 37], [33]

    過去の投稿

    名式鑑賞1: オイラーの公式

    e^ix = cos x + i sin x.

    名画,名曲があるように,数式にだって「名式」がある.そこで,今後不定期に「名式」とその鑑賞の仕方を僭越ながら紹介していこうと思う.第1回は,文学作品の題材にもなるほどの名式「オイラーの公式」だ.

    オイラーの公式の美しさを味わうには,虚数という概念を知らねばならない.ところが,虚数という概念はそれだけでまた一冊の作品になるほどの深さがあるので,ここではエッセンスだけを記す.

    まず,我々が普段使っている数はリアルな数なので実数(リアルナンバー)と呼ぶ.実数とは,簡単に言ってしまえば1の何倍なのかという数字だ.一方,実数ではない未知のなんだかよくわからない基準iというのがあって,このiの何倍なのかという数字を虚数(イマジナリーナンバー)と呼ぶ.基準iとして,iを2乗したもの,すなわちi^2が-1になるような数を選ぶと,あらゆる方程式が実数と虚数の和(これは複素数と呼ぶ)の解を持つことが,ガウスによって証明された.そこで今後 i^2=-1 をもってiの定義とする.

    実数と虚数は別々の軸の上の数だから,実数軸と虚数軸という2本の軸を,お互い0のところで直角に交差する2本の直線で図示することができる.そうすると,平面上のどのような点も,ひとつの複素数に対応することになる.この平面をガウス平面と呼ぶ.

    ガウス平面の凄いところは,点の移動と,点の原点(軸の交差点)まわりの回転がそれぞれ,複素数の足し算と掛け算で表現できることである.例えば実軸を東西に,虚軸を北南にとったとすると,ある点を表す複素数に,実数を加えることは東への移動を意味するし,虚数iをかけることは原点を中心に反時計回りに90度回転することを意味する.

    ガウス平面において,位置や移動という幾何学的な概念は,足し算や掛け算のような代数的概念とぴったり結びついたのである.実際,オイラーの公式の美しさの真髄は,このガウス平面の存在によるところが大きい.

    オイラーの公式の右辺(本当はどちらでもよいが便宜上右辺とする)の cos x + i sin x は,このガウス平面上の1点を表していて,それは実軸から原点まわりに角度x,原点から距離1のところにある点だ.これは三角関数 sin, cos の定義から決まっている.なので,xが0度から360度(数学者は2πた呼ぶ)まで変化すると,この点は原点から距離1を保ったまま運動する,つまり半径1の円を描く.(xは実数とするよ.)

    次にオイラーの公式の左辺に目を向ける.xは実数だったので,虚数の単位iとの掛け算ixは虚数だ.eも実数で,こちらはxのような変数ではなく2.71828…という定数だ.我々はここで実数の虚数乗を計算しないといけない.実数の足し算をグループ化したものが掛け算だとしよう.例えば 2+2+2+2+2 のことを我々は縮めて 2×5 と書く.同じように 2×2×2×2×2 のことを我々は縮めて 2^5 と書く. (2^2^2^2^2 のことは 2^^5 と書くのだ.)

    実数を虚数回掛け合わせるというのは納得が行き難いものだが,(1+δ)^n≒1+nδ という関係を使うと,実数の虚数乗が定義できる.この場合だとnが虚数だとするのだ.nが虚数の時,(実数)^nは複素数すなわち実数と虚数の和になる.実数と虚数の和は,ガウス平面上の1点である.

    もし実数としてe=2.71828…を選び,eの虚数ix乗e^ixを計算してみれば,その結果のガウス平面上での点は,おどろくべきことに半径1の円を描く.そして,xが2πのときに円はちょうど一周を終える.2πとは,数学者の言う360度のことである.

    ガウス平面が,幾何学における移動と回転を,代数学における足し算と掛け算に対応付けた.点の移動と回転を規則的に行えば,その点は円を描く.一方,ある実数の虚数乗(これは足し算と掛け算を規則的に行うことに他ならない)を行えば,その結果の複素数もまた円を描く.そして,その両者はオイラーの公式によって結び付けられる.

    オイラーの公式は,幾何学と代数学が,おそらくは同じ何かの,異なる側面であることを示唆している.

    その姿は見えないけれど,なにか恐ろしいほどの単純さがそこにあることを,我々はオイラーの公式を通して感じることができる.美しいではあるまいか.

    いつ数学を学ぶか

    物理学は、数学という言葉で書かれている。なので、物理学を理解するには、まず数学を理解せねばならない。問題は、必要な数学を必要になる度に学んだ方が良いのか、それとも予め一気に必要な数学を学んでおいた方が良いのかだ。いやいや、もう一つオプションがある。理解した気になっておくのだ。

    厳密な例をあげると、交流理論がそうだ。ほとんどの場合で、交流のオームの法則が使える。その裏には、電磁気学があり最低でもベクトル解析が必要だが、それらを理解していなくても、複素数の四則演算さえできれば、交流の性質のかなりの部分を理解できる。(交流のオーム則が正当であることを理解するには、フーリエ変換と、人類の至宝オイラーの公式を使う必要がある。)

    厳密でない例は、アナロジーだろう。例えば,静電場の大きさは電荷からの距離の二乗に反比例するが、これは電荷から何かの粒子がじゃぶじゃぶと湧き出ていると考えると、逆二乗則は幾何学的に当然のように思える。もちろん自明ではないのだが、ともかくそう理解できる。より厳密に理解したくなったときには、これまでのアナロジーを捨てて、新しいモデルを学ぶ。静電場の例で言えば,(ガウスの)発散定理が最有力候補だ。

    そういう意味では、物理の理論なんて当分の間は(ひょっとしたら永遠に)大雑把な近似なのだから、数学なんて理解した気になっているだけで十分なのかもしれない。もちろん、本当に理解していないことを認知しておく必要はあるが。

    2003年に公開したクォータニオン(四元数)の教科書です.

    理系用語解説「る」

    ルート(平方根)計算
    実数のルート(平方根)を求める場合,筆算による方法もあるが,理工系人間はたいていそのような方法を覚えていないので,つぎのような手順をとる.実数aのルート(平方根)は関数f(x)=x2-aのf(x)=0のときの解であるから,ニュートン・ラプソン法を使って

    xn+1=xn-f(xn)/f’(xn)

    を反復し,近似解を得る.一回の計算で精度が2次上がるので,これは便利な方法である.

    理系用語解説「も」

    モッド
    整数の割り算の余り(剰余)のことをモッドと呼ぶ.モジュラ計算を表す二項演算子modから.例えば 5 mod 4 = 1 である.

    理系用語解説「の」

    ノップ (NOP)
    ノー・オペレーション (No operation) の略.何もせず,時間のみを消費すること.機械語でよく使われる命令.

    数学やその一分野である計算機科学では「何もしない」ということは最も重要な概念である.例えば,最も重要な写像は「何もしない」写像すなわち恒等写像である.恒等写像はしばしばIと書かれる.(これは同一を意味するIdentityのIでもあり,数字の1にグリフが似ているという理由もある.)恒等写像Iは次のように任意の集合元aをaへとマッピングする.

    I: a → a


    同じように,機械語のNOPは計算機の状態を,プログラムカウンタをひとつ進める以外は(建前上)何もしない.プログラムカウンタを除く計算機の状態をmとすると,
    NOP: m → m

    である.

    NOPの存在理由は,数学的な重要性というよりも,計算機があまりにも数学的に動かないという事情による.通常NOPはプログラムのストレージに1ワードを消費するし,実行時に1サイクルを消費する.プログラムは計算機の都合やプログラマの都合によって「詰め物」をしなければならない場合が多々あり,その場合にNOPがよく使われる.また,同じく計算機(主にCPU以外の周辺回路や他のCPUとの同期)の都合で,命令サイクルを捨てなければならない(時間に「詰め物」をしなければならない)場合がよくあり,NOPがしばしば使われる.

    転じて,プログラマが何もせず,時間のみを消費している状態のこともNOPと言う.計算機もプログラマも,NOP実行中でも割り込み(インタラプト)を受け付ける点は同じである.

    1 + 1 = 2 の奥深さ

    1 + 1 = 2 の左辺の 1 + 1 の表記上の意味を考えてみる.カントとかラッセル&ホワイトヘッドとかはひとまず置いておいても,これはこれで興味深い.

    というのは,プラス記号を英語のplusに置き換えてみるとよくわかる.1 + 1 = 2 は


    1 plus 1 = 2

    となる.びっくりせんでもよろしい.現代数学ではこのような書き方もするのである.これは,

    plus(1, 1) = 2

    の方言である.

    しかし,計算機科学者の中にはユニークな解釈をする人もいる.いや,むしろこちらのほうが今や主流かもしれない.それはこんな解釈である.

    1.plus(1) = 2

    これは「1にplusというメッセージを(1個のパラメタ1とともに)送る」という意味である.メッセージを受け取った数字1は2を意味するのである.Objective-C風に書けば

    [1 plus: 1]

    である.

    今ひとつの,計算幾何学的に「正統」な解釈としてこんなものもある.(これは+のどちらか片側が1でないと成り立たない.)

    1+ 1 = 2

    演算子1+が数値1にかかるのである.演算子1+は自然数に作用し,次の自然数を返す.1+は通常successor演算子と呼ばれる.

    これが 1 + 1 = 2 にまつわるちょっとした話である.

    球面調和変換に関するノート

    フーリエ変換とは <x|k>=exp(i2πkx) を利用した直交変換であった.
    2次元フーリエ変換も同じように考えることが出来る.

    状態 |f> が2変数 x, y で表されることを <x,y|f> で表す.表示 <k,l|f> は次式で求められる.





    2次元フーリエ変換では以下の関係が要求される.



    2次元フーリエ変換は次のように具現化できる.




    状態 |f> が平面ではなく球面上の二つの独立変数θとφによって表されることを <θ,φ|f> で表す.表示 <k,m|f> は次式で求められる.



    ただし変数θとφは球面上にあるので,積分に気をつけなければならない.積分は次のようになる.



    ここで



    である.

    球面調和変換は,天頂角θ,方位角φ,次数k,位相mの球面調和係数を Ykm(θ,φ) とすると



    である.

    球面調和係数のレシピはまたいずれ.

    フーリエ変換をこころから理解する II

    これからしようとしていることは,直交変換の伝統的な説明ではない.説明を間違うかもしれないし,まったく何も説明しないかもしれない.

    N次元複素ベクトル空間Vの任意の基底ベクトルを e1, e2, …, eN とする.任意のベクトル a∈V は




    ただし ai∈C で一義に決まる成分 ai を持つ.(ここにCは複素数全体の集合である.)

    ベクトルaとベクトルbの内積 <a,b> を次のように定義する.



    ai*はaiの共役複素数で,こう定義しておくと自分自身との内積(ノルムの計算に用いる)が必ず実数になるので便利である.(内積は内積の公理を満たしていればどのように定義しても構わない.上述の定義は内積の公理を満たす.)

    基底ベクトル ei について



    であれば(つまり正規直交であれば),



    である.(ゆえに



    である.)

    これから,内積を次のように書くことにする.



    ただ書き方を変えただけである.これからベクトルaを<a|とか|a>と書くのである.どちらを使うかは,必要に応じて決める.

    成分aiを使ってベクトル|a>を書くと,



    である.我々は,<a|と|a>の関係を次のように定める.



    要するに<a|と|a>の成分が複素共役になるように定めるのである.こうしておくと,我々の内積の定義と矛盾せずに都合がよい.というのは,



    であるから,もし <i|j>=δij を受け入れれば我々の内積と矛盾しない.すなわち,



    である.これはつまり



    を意味する.ここでアインシュタインの規約を拡大解釈して,総和記号を省略する.(同じ添え字が2回現れた場合は総和をとるものとする.)



    この式から<a|を取り去る.



    ついで|b>も取り去る.



    これで役者がそろったことになる.

    状態(ベクトル)fを独立変数xで表すことを <x|f> で表すことにする.(普通はf(x)と書くところであるが,我々は普通ではない方法で行く.)

    状態fは以下の操作によって異なる独立変数kで表示することが出来る.



    ここに



    を使って,同じ添え字(x)が現れたので総和をとっている.ただし,今回は積分で



    である.

    1次元フーリエ変換は,基底ベクトル <x| として空間(時間)領域 -∞<ξ<∞ における位置(時刻) ξ=x のインパルスすなわち <ξ|x>=δ(ξ-x) を,基底ベクトル <k| として空間(時間)領域全体にわたり振幅が一定で波数がkの波すなわち <ξ|k>=exp(i2πkξ) を用いる.もう一度書くと,




    である.ゆえに,



    と展開でき,1次元フーリエ変換は次のように具現化できる.



    同じ理屈で,あらゆる直交変換を記述することが出来る.

    Loading posts...