[過去ログ] 「数学」をプログラミングするには (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
664: デフォルトの名無しさん [] 2024/11/18(月) 13:12:10.65 ID:petr+Idh(2/3) AAS
そもそも何を定義してほしいんだ?
上で言ってるイプシロンデルタ論法なんか厳密に定義されてるだろ
自分が理解できてないのを責任転嫁してないか?
665: デフォルトの名無しさん [sage] 2024/11/18(月) 13:12:30.38 ID:IQFlTfLo(2/7) AAS
一緒にすんなよ
666: デフォルトの名無しさん [] 2024/11/18(月) 13:14:48.42 ID:petr+Idh(3/3) AAS
で、何を定義してほしいの?
667: デフォルトの名無しさん [] 2024/11/18(月) 13:17:46.53 ID:Rwp+XrJ8(1) AAS
未知の概念を誰かに「定義してほしい」では会話にならない
「自分はこういう定義・定式化するのが適切だと思う」と自発的に提案できなければ、数学の研究はできない
>>661661(2): デフォルトの名無しさん [sage] 2024/11/18(月) 12:24:33.46 ID:JmFxaZ5G(1) AAS
>>659
定義を否定するのはさすがに数学者の姿勢として間違っているかと。
数学なんて定義が違えば結果が変わるんだから、定義すらできないなら議論する以前の状態。
擬似問題だらけになって議論なんてできないわな。
は完全に間違っている
668: デフォルトの名無しさん [] 2024/11/18(月) 13:54:18.06 ID:fHwV6VSA(1/2) AAS
>>654654(5): デフォルトの名無しさん [] 2024/11/18(月) 02:18:05.70 ID:cmnYUiAb(2/8) AAS
というか、私の主張は
数学
lim_{k to 100} sum_{k=1}^{n} 2^(-k) -- ちゃんと近似値が出る。
プログラミング
sum [2^^(-n) | n <- [0..100]] = 2 -- 近似値ではなく、極限値の2になって(この時点での)正確な値ではない。
プログラミングはイプシロン-デルタ論法が(一定の精度までしか)出来ない。
それでも実用上問題は無いが。
他にも無限次元の空間とかも扱えない。
集合の添え字集合も可算集合とは限らない。
実数や複素数も有り得る。
リストや配列のインデックスが実数や複素数とかプログラミングじゃ出来ない。
全部できるな
669: デフォルトの名無しさん [] 2024/11/18(月) 13:55:52.57 ID:0TuJxtFY(1) AAS
>646646(1): デフォルトの名無しさん [] 2024/11/16(土) 22:55:43.53 ID:ZAMRkSMG(2/2) AAS
>>642
ghci> [1/x | x <- [10,9..0]]
[0.1,0.1111111111111111,0.125,0.14285714285714285,0.16666666666666666,0.2,0.25,0.3333333333333333,0.5,1.0,Infinity]
ghci> last [1/x | x <- [10,9..0]]
Infinity
lim[x→0](sin(x)/x)
lim[x→-0](1/x)
670: デフォルトの名無しさん [] 2024/11/18(月) 14:03:32.55 ID:fHwV6VSA(2/2) AAS
>>654の言ってるのは、「CPUは整数しか扱わないから、コンピュータで文字列は扱えない」と言ってるのと同じ
それに対してこちらはずっと「文字に文字コードを割り当てれば文字列を扱える」と正しい指摘をしているのだが、
「できるならプログラミングで書いてみろ」とか意味不明な言いがかりをつけてくる
671(1): デフォルトの名無しさん [] 2024/11/18(月) 14:09:15.00 ID:q1fjBomZ(1) AAS
Σ_{k=0 to N} 2^(-k)が2に収束することを証明するには、N = 100や1000を代入しようが駄目で、極限を扱わなければならない
>>654のやってることは何の意味も無い
で、イプシロンデルタ論法を使えば厳密に証明できるとこちらは何度も言っているのに、聞く耳を持たない
672: デフォルトの名無しさん [sage] 2024/11/18(月) 16:37:50.26 ID:IQFlTfLo(3/7) AAS
数学、プログラム、実装がごっちゃまぜ
673: デフォルトの名無しさん [] 2024/11/18(月) 16:50:14.60 ID:xbnEkxri(1) AAS
数学と実装は独立
プログラミング言語処理系の数値型が近似値だから、実数や極限を扱えないなどという馬鹿な話は無い
それは、CPUが整数値しか扱えないからプログラミングで文字列を扱えないと言ってるのと同じ
674: デフォルトの名無しさん [sage] 2024/11/18(月) 16:52:09.17 ID:IQFlTfLo(4/7) AAS
馬鹿乙
675: デフォルトの名無しさん [sage] 2024/11/18(月) 16:53:49.78 ID:IQFlTfLo(5/7) AAS
お前が思ってる仕様のプログラム作るんだろ?
676(1): デフォルトの名無しさん [] 2024/11/18(月) 19:26:51.96 ID:cmnYUiAb(3/8) AAS
>>671
うちの主張したいことは、イプシロンデルタ論法はいくらでも数値の誤差をイプシロン以下に抑えられるのを保証することを証明しているのだが、プログラミングではそのイプシロン以下に抑えられない程誤差が大きくなるってのが、数学を厳密にプログラミング出来ない理由として挙げてる。
プログラミングのは、極限値だけ決め打ちで答えが出るようにしてるだけなので、100とかでイプシロン以下に抑えられない誤差が現れる例としてだした。
添え字集合が実数や複素数というのも、その実数の連続性・比可算無限が根本にある。
無限次元の空間は整数の話だが、多倍長整数使ってもメモリ以上の空間は扱えない。
どれも事実上問題になるわけではないが、>11(16): デフォルトの名無しさん [] 2024/03/16(土) 19:41:45.98 ID:nuwGv9us(1) AAS
たとえば、プログラミングで
π/4 = 1 - 1/3 + 1/5 - 1/7 + ...
を近似ではなく厳密に確かめるにはどうしたらいいの
人間が証明できるってことは、有限なアルゴリズムに書き換えられると思うんだけど
のいう「近似ではなく厳密に」なら不可能と言わざるを得ない。
677: デフォルトの名無しさん [] 2024/11/18(月) 19:29:55.61 ID:cmnYUiAb(4/8) AAS
x比可算
o非可算
678(1): デフォルトの名無しさん [] 2024/11/18(月) 19:37:30.06 ID:uqz705Or(1/8) AAS
>>676
何度同じことを言えば理解できるのだろうこの馬鹿は
679(2): デフォルトの名無しさん [] 2024/11/18(月) 19:42:40.18 ID:cmnYUiAb(5/8) AAS
>>678
プログラミング可能なことをコードで示したら理解します。
680(1): デフォルトの名無しさん [] 2024/11/18(月) 19:42:42.62 ID:uqz705Or(2/8) AAS
「実数εを任意に選べる文脈で、項と極限値の差をε未満に抑えるNを選ぶことができる」ことを示すのがイプシロンデルタ論法
それを記号論理で扱える処理系を実装すればいいだけ
εは「正の実数である」という情報しか持っていない
浮動小数点数や多倍長整数の誤差なんか全く無関係
681(1): デフォルトの名無しさん [] 2024/11/18(月) 19:43:14.48 ID:uqz705Or(3/8) AAS
>>679
>>655655(1): デフォルトの名無しさん [] 2024/11/18(月) 02:30:07.52 ID:Jtd58AQt(1/2) AAS
lim_{k to ∞} sum_{k=1}^{n} 2^(-k) = 2 をチェックする関数verify()を作って、
```
verify();
```
構文の違いはあれど、だいたいどんなプログラミング言語でもこれで出来るよ。
682: デフォルトの名無しさん [] 2024/11/18(月) 19:47:34.77 ID:uqz705Or(4/8) AAS
>>679
それはお前の理解力が低すぎるだけ
コンピュータで文字列を扱うのに文字コードの実装をすべて見せなくたって
「たとえば文字の'0'に整数48を割り当てる」のように説明すれば、ふつうの理解力があれば理解できる
自分の知性の問題を責任転嫁しないでくれ
683(1): デフォルトの名無しさん [] 2024/11/18(月) 19:47:39.20 ID:cmnYUiAb(6/8) AAS
>>681
verify()の中身。
あと、決め打ちって書いてるでしょ。
その100での具体的な近似値求められないと「厳密」にならない。
なので私からの宿題は100の時の具体的な近似値を求めるコードを示すこと。
684: デフォルトの名無しさん [] 2024/11/18(月) 19:51:22.47 ID:uqz705Or(5/8) AAS
>>683
二進法で一の位以下に1が101個並んだ数だよ
こんなんプログラミングしなきゃわからんの?
685(2): デフォルトの名無しさん [] 2024/11/18(月) 19:53:44.06 ID:uqz705Or(6/8) AAS
s = "1.";
for(int = 0; i < 100; i++) s += "1";
print(s);
以上
686(2): デフォルトの名無しさん [] 2024/11/18(月) 19:58:41.23 ID:uqz705Or(7/8) AAS
print("2 - (1/2)^100");
687(3): デフォルトの名無しさん [] 2024/11/18(月) 20:05:19.56 ID:cmnYUiAb(7/8) AAS
>>680
ε自体はな。
でも、真の値aに対して a + ε, a - εって使うのがイプシロンデルタ論法。
数学ではそれで限りなく無限に近くεを小さくしてもその範囲内に真の値が存在することを証明しているが、
プログラミングでは一定の大きさのεまでしか保証されない。
こういえばいいか?
真の値は確かにあるが、プログラミングでは間違った値を返す場合がある。
極限が正しければ厳密じゃない。
途中もすべて正しくないなら、それは厳密ではない。
688: デフォルトの名無しさん [] 2024/11/18(月) 20:12:54.11 ID:cmnYUiAb(8/8) AAS
>>685,686
御大層なこと言っておいてそれで数学を厳密にプログラミング出来ましたってか?
そういうのを決め打ちっていうんだよ。
どんなコードが出るか期待してたら…。
上下前次1-新書関写板覧索設栞歴
あと 314 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.034s