数学

やはりプログラミングに数学はつき物です。ここではよく使われる数学について簡単に解説します。

書いてあるもの

加筆募集中。

書いてほしいもの

  • アフィン変換
  • 四元数
  • フーリエ変換(いらない?)(いや、いりますwww)

高校数学の範囲

下記はだいたい大雑把なので。ⅠAとⅡB、ⅢCとあるんだぜ。大学でも数学をやる人たち(理系の人)は、ⅢCまでが必修の扱い。京大とか行列(数C)だすよと公言する一部を除いて、文系の人はⅠAとⅡBまでって感じ。でも文系では経済学とかは偏微分とかも含まれるから、結局数Ⅲはある程度理解する必要もあったり。

年度によりけりで「過程」が変われば内容もかわる。基本的には、ⅡBをやるにはⅠAの理解、ⅢCをやるにはⅡBの理解、と段階的に学習できるようになってますよ。

数学Ⅰと数学A

方程式、二次関数はここがわからないと、高校レベルの理科と解ける問題が半減すると言っても過言ではない。三角関数は正弦・余弦定理と三角形の面積の求積まで。ヘロンの公式とかもここかな。数Ⅰは次の通り。

  • 方程式、不等式(式の解き方の基本)
  • 二次関数(特殊かつ頻出なので二次関数の性質を学ぶ)
  • 図形と計量(三角函数初歩、面積・体積の求積法など)

確率は、確率の基礎。統計的拡張は数C。二項定理を含むよ。平面図形は、幾何の基礎。 ベクトルなんかだと、ここの幾何が分ってないと式の流れが分らなくなるかも知れません。数Aは次の通り。

  • 場合の数、確率(順列、組合せ、確率)
  • 論理と集合("且つ"や"又は"の学習ダナ)
  • 平面図形

数学Ⅱと数学B

かなり重要な分野が多い。関数は頻出のsinだとかlogだとか、それから自然対数e(ネイピアさん)も。対数のあたりで極限のためのlimさんも登場する。なかなかよく要点の纏まった過程だと思う。物理の力学では、微分・積分法の考えかたが沢山(ただし高校物理では使わずに教えることになってるので学校によっては説明してくれない。)あります。そこはこれと併せて学べばよいでしょう。数Ⅱは次の通り。

  • 式と証明(式の解法、今後必要になる数式の処理の練習がこれ)
  • 複素数と方程式(二次関数の虚数解の扱いが中心)
  • 図形と方程式(円や軌跡、領域など方程式で図形を表すよ)
  • 三角関数(sin、cos、tanを更に拡張するぜ)
  • 指数・対数関数(大きな数を処理するための関数たちの性質を学ぶよ)
  • 微分・積分法(微積の入門編)

複素数平面は好きならやってね。統計は普通やらないみたい。数Aでの初歩的な統計の考えを拡張して、最後は数Cの正規分布までたどり着くのが統計の目的。数Bは次の通り。

  • ベクトル(平面と立体)
  • 数列(漸化式の解法など。ただし極限を含まない)
  • 複素数平面(これは平成十六年あたりから削除された)
  • 統計とコンピュータ(度数分布など)

数学Ⅲと数学C

積分は置換・部分積分の導入がある。物理の角速度を理解するには、ここまでの学習が入り用。微積には曲線の長さも含まれるよ。数Ⅲは次の通り。

  • 関数(分数関数、無理関数、逆関数とか、数Ⅲの他の分野で必要な式を考察する)
  • 極限(数列を拡張、微分拡張の為の足がかり)
  • 微分(数Ⅱでやらなかつた微分できる函数を扱う)
  • 積分(微分に同じ、ただし積分の定義たる区分求積法は此処で扱う)

確率以後は普通やらないらしい。統計処理の用語がExcelの変な函数とかにあるネ、あれを理解するにはこれが必要ってわけ。偏差値計算ができるようになるぜ。数Cは次の通り。

  • 行列(一次変換、回転を含む)
  • 式と曲線(楕円であるとか、特殊な関数たち)
  • 確率分布(確率変数の導入と正規分布への足がかり)
  • 統計処理(正規分布などの扱い)

数学の基本演算について

四則演算は小学校でもならうが、加えて数学ではこれに余りを求める計算であるモジュラー関数(modular function)がある。 モジュラー関数はmodという記号で表す。C言語では「%」などの記号でこれを表すが、 数学のモジュラー関数の影響からかこんなものがあるわけ。

四則演算の重要性はいうまでもないが、モジュラー関数に関しては研究が進んでおらず、 それでもなお特に数論において重要性が説かれる。 というのも、たとえばRSA暗号では素数と余りの関係を用いた式が暗号復号化を表すが、 斯様にしてモジュラー関数が暗号において応用法を見せた一例があるからだ。

モジュラー関数は日本人によって楕円方程式との関連が予想された。 氏の名前をとってこれを谷山・志村の定理など呼ぶが、 ただの余りを求めるだけの式が、代数と結びつき、かつそれはフェルマーの最終定理を證明したアンドリュー・ワイルズにより證明された。フェルマーの最終定理事体が難解な(しかしその式は平易な)数論の問題で、 かつ楕円方程式とモジュラー関数に密接な関係を見せた定理である。

四則演算と違って、モジュラー関数はそれ自体特殊な性質がある様子。 暗号技術を作りたい人は学んで損は無い。

集合 - 総和

定義

総和(そうわ、summation)とはある集合の項その総ての和であり、いわゆるExcelのSum関数です。つまり全部足す、だから総和です。\sum_{i=1}^n x_iのような書式で表されます(ゼータ∑はギリシヤ語のSを表し、シグマと呼ぶ)。項数iが1から始まってnまで、項はXiがX1からXnとなるので、それXiを足していくという意味です。なんだかforループみたいですね。

\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;

ただこれは、数Ⅱの数列をやればわかるけれど、一般化された解が存在することがある。Xn=nの場合、その総和は初項から第n項までなら、n(n+1)/2 と定まるようにね。

演算

総和が干渉するのはその項数のみ。従って次の計算ができる。

\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}

当り前と言えば当り前。したがって次の変換には要注意である。\sum_{k=1}^n n \times k = n \times \sum_{k=1}^n k
なおこの変換とこの式とを区別すること。\sum_{k=1}^n k^2

参照

無限級数

総和する項数を無限大にまで拡張したもののこと。ハハハそんなの求まりっこないよ、とおもうかもしれないけれど、これは求まることがある。数Ⅲの極限をやりたまえ。

ゼータ関数

\zeta (s) = \sum^{\infty}_{n=1} { 1 \over {n^s}}

同じゼータでも小文字のζ(スティグマ)で表す。ベルンハルト・リーマンによって定式化された、とっても重要な式。もともとは数学的な探究のひとつとして、この式のs=2のときの無限級数には解が何と定まるかを求める問題だった。收束することは明らかだけれど、その値を求めることができず、この問題が提示されて百年後にオイラーによってテイラー展開を用いる解法が示された。これをバーゼル問題といって、これに着目したリーマンがゼータ関数として一般化した。現在でも求める事のできないsの値が存在する。

一往に「足し算?」といってもそう簡単に求まる物でもないのでその例を示した。

集合 - 総乗

\prod_{i=1}^n x_i

定義

総乗はΠ(パイ)で表す。やることは総和に同じだけれど、收束條件がきびしい。

三角関数

ラジアン等々
量が多いので別ページにしました。こちら→三角関数

線型代数学

量が多いので別ページにしました。

  • ベクトルとか行列演算とか
    画像処理とか3Dの座標変換等々いろいろ使います。

複素数

量が多いので別ページにしました。こちら→複素数