プログレス4
のバックアップソース(No.4)
Unity学習帳2冊目
プログレス4
のバックアップソース(No.4)
[
トップ
] [
差分
|
バックアップ
|
リロード
] [
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
[ ]
差分
を表示
現在との差分
を表示
プログレス4
へ行く。
« Prev
Next »
TITLE:メモ #jsmath ***εδ論法とは何者か? [#i36c18cc] εδ論法(イプシロン・デルタ論法)とは何者か? εδ論法とは対応する、ふたつの変数の関係を解析する為に使う道具である 実体のA点(\(n\),\({ a }_{ n }\))、仮定のB点(\(\delta\),\(\varepsilon \))のふたつの点をグラフ上に作りその関係を論理的に調べる &ref(epsdel2.png); \(y=f(x)={x}^{2}\)の場合、関数によって対応する\(x\)と\(y\)という変数の関係を解析できる \({ a }_{ n }=f(n)=\frac{1}{n}\)の場合、関数によって対応する&font(Red){数列};\({a}_{n}\)と\(n\)という変数の関係を解析できる (この「対応する」と言う言葉は\(x\)と\(y\)が互いに関数の関係にあり、\(x\)が変化すれば\(y\)が、\(y\)が変化すれば\(x\)が変化することを表している) 仮定のB点はA点の関数の性質を継承している。従って\(\delta\)も\(\varepsilon\)に対応している(慣習的にグラフ縦軸の変数を\(\varepsilon\)、横軸側を\(\delta\)とする) このA点とB点の差を利用して「関数の性質」や「数列の性質」「数の性質」を調べる事が出来る lim等の利用により「片方の変数が無限に減ったり増えたりする際の関数の性質を知る」事も出来る C#という言語仕様も数学の性質を利用して設計されている。その為「数の性質」を利用して「帰納的なコード」を組む等も可能となる また微積分との相性が非常に良いので「関数の性質」の理解が進めば「漸化式」を作成する事が可能となる ***アルキメデスの公理 [#te060291] アルキメデスの公理、もしくはアルキメデスの性質、原則と呼ばれる自明のものがある。εδ論法では、この公理が利用される機会が多い(つまり基本) 公理は証明が必要ない公然とした事実として扱われる。その内容は以下になっている &font(Navy){''任意の正の実数 \(\varepsilon>0\)、\(a>0\)に対して\(n\varepsilon>a\)をみたす自然数 \(n\in \mathbb{ N }\) が必ず存在する''}; 基本的な部分を確認しておく。自然数、整数、実数等、代表的な数の分類とは、どんな数か以下参照。細かい数の分類は[[数学記号の表:https://ja.wikipedia.org/wiki/%E6%95%B0%E5%AD%A6%E8%A8%98%E5%8F%B7%E3%81%AE%E8%A1%A8]]を参照 |自然数|0,1,2,3,4...|\(\mathbb{N}\)|uint| |整数|...-2,-1,0,1,2,3...|\(\mathbb{Z}\)|int| |実数|+-、0、整数、分数、小数、有理数、ルート、円周率、無理数等を含めた数|\(\mathbb{R}\)|float,double,Mathf.Pi| 自然数は中学教育の間までは0含めていないが高校以降では含める事となっている。nはnatural_numberの頭文字であるが、数学では0を含めた場合iとするのが慣習である。つまり0まで含めた数列の場合\({a}_{i}\)と書く。(C#のforループでi=0を使う慣習は、この数学的慣習にならっての事だと予想される。つまり1から始めるループならnを使う、マイナスまで含めたforループならzを使うのが良い?) <計算例> \(\varepsilon=0.1234,a=789.0123\quad \rightarrow \quad n\varepsilon>a\quad \rightarrow \quad 0.1234n>789.0123\quad \rightarrow \quad n>\frac { 789.0123 }{ 0.1234 } =6393.94...\) \(n>6393.94...\quad \rightarrow \quad n=6394\) 教本によっては\(\varepsilon<a\)も前提中に含まれている場合があるが公理自体は、\(\varepsilon<a\)等を要求していない。これは\(n\)を\(0\)に出来るからだ ***float→intの型変換はアルキメデスの原則に従っている [#d18fd9f8] //アルキメデスの原則をεδ論法で解析する事により実数と自然数との関係を分析できる //これによりC#が数学を元に仕様を決定しているかわかる。同時に帰納的なコードにどう利用すればいいかもわかる 任意の実数\(x\in { \mathbb{R} }\)に対して、ある整数\(n\in{\mathbb{Z}}\)が存在して\(\\ n\le x<n+1\)が成り立つ ***カウンタブルとは? [#g0c39628] データーとそのデーターを指す数列(アドレス、ポインター)とが1対1で対応している状態をカウンタブルと言う ***アルキメデスの公理をεδ論法で解析してみる [#m4bfc74e] \(\begin{cases} { a }_{ n }=f(n)=\frac { 1 }{ n } \\ \displaystyle \lim _{ n\rightarrow \infty }{ { a }_{ n } } =0 \end{cases}\) ***εδ論法の教本で正の数であればいい変数に対し自然数を使うのは何故か? [#z6b732c7] 数学の教本で\(\delta\)を「\(\forall \delta\in { \mathbb{ N }}\)」として自然数にしたり、\(n\)を「\(\forall n\in { \mathbb{ N }}\)」としているのは実数である変数とカウンタブルな\(\delta\)や\(n\)は1対1に対応している事を説明する為だと思われる(数列の\({a}_{n}\)の\(n\)は自然数である事が高校数学では求められるが、これは本当は実数でも良いという事らしい(おそらくlogが数列の進化版となっている)。コンピューター言語のC#等では配列のインデックスに自然数を使う。そういう意味で数学の教本がδやnを自然数に指定しているのは老婆心であるのだろう εδに沿って考えれば関係する変数にカウンタブルなインデックスとなる変数を仕込める。そのインデックスからコンピューターに解析手順を知らせれる 実数と実数が1対1で対応している場合C#ではDictionaryクラスが必要 Dictionaryクラスはforループでインデックス変数に+1していくようなカウンタブルな参照は出来ない (こういう処理には本当はlogを使うのが良い) 実数と自然数が1対1で対応している場合C#では配列クラスが使える また自然数はカウンタとして利用出来るのでforループでカウンタブルに参照して行ける **メモ [#la320adc] 上に有界ならsup 下に有界ならinf
« Prev
Next »
プログレス4 のバックアップ一覧
プログレス4 のバックアップソース(No. All)
1: 2015-08-15 (土) 11:27:02
osinko
2: 2015-08-15 (土) 13:29:30
osinko
3: 2015-08-15 (土) 15:00:26
osinko
4: 2015-08-15 (土) 23:44:49
osinko
5: 2015-08-16 (日) 02:25:30
osinko
6: 2015-08-16 (日) 12:25:13
osinko
7: 2015-08-16 (日) 13:14:23
osinko
8: 2015-08-16 (日) 18:58:36
osinko
9: 2015-08-20 (木) 10:19:31
osinko
現: 2015-08-21 (金) 20:27:43
osinko