2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

「数学」をプログラミングするには

1 :デフォルトの名無しさん:2024/03/16(土) 19:41:45.98 ID:nuwGv9us.net
たとえば、プログラミングで

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

を近似ではなく厳密に確かめるにはどうしたらいいの
人間が証明できるってことは、有限なアルゴリズムに書き換えられると思うんだけど

2 :デフォルトの名無しさん:2024/03/16(土) 20:29:40.05 ID:TBzj9DHS.net
>>1
証明を記述するための言語がある。CoqとかAgdaとか
あと単発質問はスレを立てるまでもない質問スレでどうぞ

3 :デフォルトの名無しさん:2024/03/17(日) 07:03:55.84 ID:SKDLv/jq.net
>>1
アルゴリズムではなくメモリ容量の問題
無限小数を求めるには無限のメモリが必要で世界中のメモリを集めても無限にはならないので不可能なだけ

4 :デフォルトの名無しさん:2024/03/17(日) 11:29:45.06 ID:lA2zK95Y.net
>>3
数学できなさそう

5 :デフォルトの名無しさん:2024/03/17(日) 12:41:14.29 ID:JxXcG9lm.net
>>3
この問題解くのに無限小数計算してる奴なんかおらんわ(笑)

6 :デフォルトの名無しさん:2024/03/17(日) 16:58:12.31 ID:t9G995RY.net
数学をプログラミングする方法は、使用するプログラミング言語によって異なりますが、一般的なアプローチは次の通りです。
適切なプログラミング言語の選択: 数学をプログラミングするためには、数値計算やデータ解析に適した言語を選択することが重要です。Python、Julia、MATLAB、Rなどが一般的に使用されます。
必要なライブラリのインポート: 数学的な計算を効率的に行うためには、各言語には数学関連のライブラリが用意されています。例えば、Pythonの場合、NumPyやSciPyが、Juliaの場合、Baseや特定のパッケージが数学関数を提供します。
数学的なアルゴリズムの実装: 数学的なアルゴリズムをプログラミングする際には、基本的な数学的概念やアルゴリズムの理解が必要です。数式をプログラムに変換することが重要です。
データの操作と可視化: 数学をプログラミングする場合、しばしばデータの操作や可視化が必要になります。そのためには、適切なデータ構造や可視化ツールを使用します。

7 :デフォルトの名無しさん:2024/03/17(日) 17:46:14.57 ID:zKMEHLV8.net
定理証明支援系はオワコン

8 :デフォルトの名無しさん:2024/03/17(日) 18:05:28.66 ID:QfhdY2k7.net
ランベルト関数(近似精度がヤヴァくてもヨシ)
をサポートしてる言語のがほしいデス

9 :デフォルトの名無しさん:2024/03/17(日) 18:39:40.06 ID:zKMEHLV8.net
基礎論以外の命題の証明を証明支援系で一から書くのは現実的ではないから、既存の有名命題がライブラリとして使えるような処理系を使うことになるんだろう

10 :デフォルトの名無しさん:2024/03/17(日) 19:26:02.03 ID:OVnjvt7h.net
証明支援系で証明を書いても、それを再利用してべつの定理を自動で証明できるわけでもないし、ソフトウェアとして全く無意味だよね……

11 :デフォルトの名無しさん:2024/03/17(日) 19:48:59.04 ID:HYzzoyFI.net
証明支援系を使うことで未知の証明ができたり、数学の問題がよくわかったりするわけじゃなくて、
すでに証明できてるものを、PかつQを表す型はこうで~ みたいな書き換えをやるだけだからな

12 :デフォルトの名無しさん:2024/03/17(日) 21:15:14.06 ID:t9G995RY.net
Condensed Mathematics
https://www.math.ku.dk/english/calendar/events/condensed-mathematics/

topologyに対するP. Scholzeの試しみ

13 :デフォルトの名無しさん:2024/03/17(日) 22:11:26.89 ID:BrUemZnE.net
証明支援系が役に立たないなら、そもそも数学で証明を与えることにどういう意味があるのか考えてしまう

14 :デフォルトの名無しさん:2024/03/17(日) 22:43:10.74 ID:zgd3XX/C.net
厳密だが根拠がない等式を、厳密ではないが根拠のある不等式の集まりにすりかえる

15 :デフォルトの名無しさん:2024/03/18(月) 08:21:20.80 ID:PIvrnI/y.net
数==数では背理法が使いにくいが
集合==集合は背理法や不等号の価値がまるで渡米したIT創業者みたいになる

16 :デフォルトの名無しさん:2024/03/18(月) 08:43:53.53 ID:pTevW9jL.net
イミフ

17 :デフォルトの名無しさん:2024/03/18(月) 09:53:36.41 ID:dVjvry4m.net
読まなくても分かることをほぼ知り尽くしてから読めば楽に読める
例えば書いた者に悪意があるのかないのかを事前に知らないより知っている方が楽
正義とか悪とかが苦手な人にはこれができない

18 :デフォルトの名無しさん:2024/03/18(月) 10:14:54.25 ID:HmpJvDlJ.net
∫_0^1 dx/(1 + x^2) = Arctan(1) - Arctan(0) = π/4

x = arctan(y)
x' = 1/y'
= cos(x)^2
= cos(x)^2/(cos(x)^2 + sin(x)^2)
= 1/(1 + tan(x)^2)
= 1/(1 + y^2)

微分とtanの特殊値がライブラリによって既知なら、書き下せそう
ただ、書いたところでだからなんだって話だが

19 :デフォルトの名無しさん:2024/03/18(月) 10:16:03.73 ID:pTevW9jL.net
おっさんのポエム

20 :デフォルトの名無しさん:2024/03/18(月) 10:19:41.06 ID:HmpJvDlJ.net
あとArctanのテイラー展開
もしくは項別積分
項別積分する場合は、べき級数の収束半径とか、境界での連続性とかも

21 :デフォルトの名無しさん:2024/03/18(月) 11:21:23.44 ID:dVjvry4m.net
積分変数を別名に変えても積分の結果が変わらないこと
などを証明することに興味無さすぎて
変数を使わない技術だけが発達しているんじゃないか

22 :デフォルトの名無しさん:2024/03/18(月) 17:26:37.63 ID:pTevW9jL.net
道師様のお言葉
https://terrytao.files.wordpress.com/2024/03/machine-jan-3.pdf

23 :デフォルトの名無しさん:2024/03/18(月) 20:14:54.78 ID:nsefbItQ.net
>>4
そしてあんたはプログラムができない
永久にすれ違いだなw

>>5
実際に計算しない限りプログラムの世界では完成したとは言えない
できたような気になってるだけだw

24 :デフォルトの名無しさん:2024/03/18(月) 20:38:29.54 ID:8wq33qzx.net
>>23
ふつうに証明支援系で証明できるが

25 :デフォルトの名無しさん:2024/03/18(月) 20:59:25.05 ID:zv8Td5xB.net
変数に別の変数 (を含む式) を代入するのは嫌なので、右辺を実際に計算してしまった値を代入する
計算してない式を代入するのが何故そんなに嫌なのかを理解しない限り話が進まない

26 :デフォルトの名無しさん:2024/03/18(月) 21:35:55.83 ID:fpvRWfHG.net
コード書けない奴が必死に妄想でレスバするクソスレ
NG決定

27 :デフォルトの名無しさん:2024/03/18(月) 23:20:36.59 ID:zv8Td5xB.net
しかし、何も書かないより悪いコードを書く方がマシみたいな保証が
あると思うならそれこそ妄想なのでは

28 :デフォルトの名無しさん:2024/03/19(火) 04:11:20.65 ID:YAmi9Hnz.net
数学を記述するには一階述語論理があれば十分
しかし処理系側は特殊なケースに特化するよりも自然に実装できる範囲で一般化したほうがいいだろう
命題の記述は依存型による

29 :デフォルトの名無しさん:2024/03/19(火) 12:34:54.32 ID:pUZ6M7m/.net
動的型付けの証明支援系ってのは何をしてるんだ?

30 :デフォルトの名無しさん:2024/03/19(火) 14:33:42.20 ID:NSxYSp14.net
○○を支援する言語と○○が可能な言語を分断するパラダイムはたしかにオワコンだ
逆に支援を語りえない所謂unsafeを書けるやつが比較的新しい

31 :デフォルトの名無しさん:2024/03/19(火) 15:02:06.03 ID:YRVQB5Qs.net
>2 の紹介しているCoqとか、純粋関数型言語HaskellもPCで動く数学って感じではあるけども、そもそもメモリが有限なので連続を表現できない。

どんなに小さい数を表現できても有限である以上は離散的なのよねん。

離散数学の範囲ならHaskell良いよ。

子供向けだけど、Viscuit(ビスケット)は写像というか変換のみで言語作ってる。
(ビスケットの中の人曰く「書き換え型言語」)

32 :デフォルトの名無しさん:2024/03/19(火) 15:24:32.49 ID:3KaIc7lk.net
>>31
ポエムは日記に書いてろ

33 :デフォルトの名無しさん:2024/03/19(火) 16:20:03.06 ID:Q+qUW8xc.net
leanとかいうソフトで学部レベルの定理の証明をすべて書くとかいうプロジェクトがあるそうですが、そういう証明を見ると勉強する側として勉強になりますか?

34 :デフォルトの名無しさん:2024/03/19(火) 16:58:20.60 ID:WY0TXEXb.net
>>33
勉強にはなるんじゃない?

35 :デフォルトの名無しさん:2024/03/19(火) 16:59:03.63 ID:WY0TXEXb.net
ほんとうに教科書に載ってる定理の証明がぜんぶ正しく書かれてるなら、それは教科書読んでるのと同じわけだし

36 :デフォルトの名無しさん:2024/03/19(火) 17:00:04.15 ID:WY0TXEXb.net
lean4はプログラミング言語としても、haskellやrustくらいパワフルな言語なので、cだのfortranだの勉強するよりプログラミングの勉強にもなる

37 :デフォルトの名無しさん:2024/03/19(火) 17:06:08.09 ID:50xBt2sS.net
>>29
推論規則にしたがって項を削除したり、条件をみたす要素を深さ優先探索したり

38 :デフォルトの名無しさん:2024/03/19(火) 17:54:01.83 ID:/7JjNXd8.net
証明支援系っつっても、ふつうにプログラム書くのと同じで、特定の問題の解法をプログラムしてるだけ
ようは論理のピタゴラスイッチ作ってるだけ
べつに未知の証明を自動で発見してくれるわけではない(もちろん、問題によっては自動的に解決できる場合もあるが)

39 :デフォルトの名無しさん:2024/03/19(火) 17:56:38.86 ID:P1OcOpxu.net
証明支援系Lean4
数式処理システムSage
組版システムLaTeX

を組み合わせたオープンソースの統合数学環境と、黒板の文字や図を認識する入力インタフェースがあればいいと思う

40 :デフォルトの名無しさん:2024/03/19(火) 18:04:10.23 ID:qttME5ET.net
>>36
「プログラミングの勉強」を「プログラム言語」の勉強だと思ってるバカ
「program」の意味を調べてみろ。言語はただの手法の一つ

41 :デフォルトの名無しさん:2024/03/19(火) 18:56:00.18 ID:5dhARo0o.net
バカが必死で草

42 :デフォルトの名無しさん:2024/03/19(火) 19:15:14.75 ID:IwEkPQSo.net
この馬鹿は何がしたいんだろ……

43 :デフォルトの名無しさん:2024/03/20(水) 10:18:59.26 ID:ea1o2Ub5.net
>>36
CやFortranの評価が低いということはHaskellの中でモナドの評価が低いよね
それはもったいないから言語を競争させる原理はよくない

44 :デフォルトの名無しさん:2024/03/20(水) 12:54:23.96 ID:VbUXRLzi.net
>>43
ポエムはよそで書いてろ

45 :デフォルトの名無しさん:2024/03/20(水) 13:10:38.35 ID:ea1o2Ub5.net
ミサイルでも撃たれたならともかく
ポエムなるものを書き込まれたことへの反応が過剰なのが気になる
現実世界にポエムが存在しなくなれば消去法で「数学」になるってことなのかな

46 :デフォルトの名無しさん:2024/03/20(水) 14:27:47.20 ID:I+zqr01r.net
スレタイが悪い
専門用語や英語を入れておかないと、自分も話題に参加できると勘違いした馬鹿が書き込む

47 :デフォルトの名無しさん:2024/03/20(水) 15:26:54.49 ID:4PdbE3xv.net
仲よき事は美しき哉 志賀直哉

48 :デフォルトの名無しさん:2024/03/20(水) 15:27:56.00 ID:4PdbE3xv.net
>>22
これに反応できないお前ら

49 :デフォルトの名無しさん:2024/03/20(水) 15:50:55.08 ID:vNXgKg89.net
>>47 武者小路実篤じゃなかったっけ

50 :デフォルトの名無しさん:2024/03/20(水) 16:42:40.04 ID:ZN9vgvDp.net
>>33
すでに解けてる問題を特定の処理系の言語に書き直すのが一大プロジェクトというのがくだらないと思う

51 :デフォルトの名無しさん:2024/03/20(水) 16:54:28.92 ID:4PdbE3xv.net
>>12
これにも反応できない雑魚ども

52 :デフォルトの名無しさん:2024/03/20(水) 17:51:55.09 ID:ea1o2Ub5.net
>>50
すでに常識になっていることを「先入観にとらわれている」と思う人はいる
先入観をリセットしてやり直したい需要は多少はある

53 :デフォルトの名無しさん:2024/03/20(水) 18:02:21.59 ID:Snv2Tioi.net
ポエム連発は草

54 :デフォルトの名無しさん:2024/03/20(水) 21:22:26.43 ID:qwgU2fnR.net
>>52
馬鹿すぎて話にならない
わざとやってるならむしろお笑い番組の脚本とか考えるセンスあると思うよ

55 :デフォルトの名無しさん:2024/03/20(水) 23:28:22.46 ID:ea1o2Ub5.net
わざと馬鹿になったのではないが
数学の範囲内の定理を厳密に証明しても、内か外かの判断は厳密にならないので
「プログラミングならなんでも数学」のような馬鹿な意見も厳密に全否定できないんだよな

56 :デフォルトの名無しさん:2024/03/22(金) 15:38:04.26 ID:m8Pakijg.net
現代数学は集合と写像の言葉で書かれている
写像は関数の一般化だからC言語やHaskellなどの関数型言語では数学をプログラミングできない
RubyやPythonなどにはsetやmapといった機能があるから
これで数学をプログラミングできると思われる

57 :デフォルトの名無しさん:2024/03/22(金) 15:41:43.35 ID:BpbPyhcF.net
厨二の夢だったのさ

58 :デフォルトの名無しさん:2024/03/22(金) 22:21:33.16 ID:LL1SYasV.net
>>56
それは違う
数学ができるプログラミング言語のコンパイラをCで書くことができる
そもそもすべてのプログラム言語はチューリング完全だからCで書けてハスケルに書けないなどということは無い

59 :デフォルトの名無しさん:2024/03/22(金) 22:53:17.07 ID:BpbPyhcF.net
所詮プログラムは人が書くもの

60 :デフォルトの名無しさん:2024/03/22(金) 23:30:06.22 ID:CJ8mvd1G.net
>>56
それ逆だね
mapは関数型言語で登場した
そのRubyやPythonといったスクリプト言語は後からそれを導入した

61 :デフォルトの名無しさん:2024/03/22(金) 23:57:05.24 ID:LL1SYasV.net
はあ??
マップは車窓だろ!!

62 :デフォルトの名無しさん:2024/03/23(土) 00:02:01.40 ID:0VbIgFfj.net
マップは関数の集合直積に過ぎない
c言語でも有限アルゴリズムで数学プログラミングが出来る
パイソンは構文をパースできるがスクリプト言語ゆえ数学プログラミングは無理

63 :デフォルトの名無しさん:2024/03/23(土) 00:32:34.16 ID:0VbIgFfj.net
>>60
跡から登場したってことはRubyやPythonのほうが優れているってことやろが

64 :デフォルトの名無しさん:2024/03/23(土) 01:14:32.77 ID:O64Y227M.net
まともなプログラマーがスクリプト言語でプログラミング開発することはない
スクリプト言語はスクリプトを書く程度のことをするだけのおもちゃ

65 :デフォルトの名無しさん:2024/03/23(土) 04:20:19.88 ID:rvJB/m9a.net
CやPYTONはスクリプト言語だから単純なことしかできない

66 :デフォルトの名無しさん:2024/03/23(土) 04:41:11.89 ID:IdPmAPnB.net
スレタイ
集合と写像が数学の基本らしい
写像というのは関数の一般化だからCは関数言語だから数学できないということになる
Javaのmainは写像だからJavaは数学できる。Rubyにも写像ある

67 :デフォルトの名無しさん:2024/03/23(土) 07:48:29.25 ID:LhcvAfdM.net
数学に副作用はないがモナドは副作用があるのでハスケルでは数学はできない

68 :デフォルトの名無しさん:2024/03/23(土) 12:22:12.37 ID:g/HfMmmn.net
>>56
Cでは関数の引数として関数ポインタを渡せるから、map関数を簡単に自作できる。

69 :デフォルトの名無しさん:2024/03/23(土) 12:23:33.26 ID:TQ7fzTlo.net
空論、絵に描いた餅、機械語にだってできるだろwww

70 :デフォルトの名無しさん:2024/03/23(土) 12:47:39.65 ID:g/HfMmmn.net
>>69
機械語に識別子はないからできないだろ。Cでは長さnの配列aの各要素に関数fを適用した結果を
配列bに格納する関数 map(f, a, n, b) を簡単に自作できる。

71 :デフォルトの名無しさん:2024/03/23(土) 13:55:22.78 ID:TQ7fzTlo.net
C言語は機械語にアセンブルされて実行されるんだよ

72 :デフォルトの名無しさん:2024/03/23(土) 14:11:05.89 ID:O64Y227M.net
>>70
普通mapは配列に対してではなく
もっと一般的にイテレータに対して適用
結果もイテレータとする

その結果を例えばfor文で使う場合
わざわざ結果を配列に入れても無意味だったことになるからだ
mapを多段にした使った場合も同様で中間結果配列は無意味になる
だからmapの入力も出力もイテレータが使われる

73 :デフォルトの名無しさん:2024/03/23(土) 14:44:44.84 ID:g/HfMmmn.net
>>72
それは実装上の効率化のための操作で、本当の写像ではない。本当の写像は配列から配列を作る。
C#で言えばSelectしただけでは写像にならず、ToArrayしないと写像にならない。

74 :デフォルトの名無しさん:2024/03/23(土) 15:36:22.16 ID:O64Y227M.net
>>73
配列から配列なんて嘘つきだな
例えば写像の入力を数学でもよくある自然数とする
これは配列では表現できない
イテレータならば表現できる
出力も同様で配列は不可能だがイテレータなら可能

75 :デフォルトの名無しさん:2024/03/23(土) 16:14:29.71 ID:TQ7fzTlo.net
そもそもそんなレベルの話をしてるんではないが

76 :デフォルトの名無しさん:2024/03/23(土) 16:43:39.42 ID:g/HfMmmn.net
>>74
自然数は要素数が無限大の配列だが、コンピュータではメモリが有限なので表現できないだけ。
イタレータによる遅延評価は問題を先送りしただけで、本当の写像である配列を作ろうとすると
メモリが途中で尽きて作れない。

77 :デフォルトの名無しさん:2024/03/23(土) 17:05:10.16 ID:O64Y227M.net
>>76
配列なんていう間違った考えをするからそのように失敗する
正しくイテレータと捉えれば自然数もそこからの写像も扱える

78 :デフォルトの名無しさん:2024/03/23(土) 17:30:00.10 ID:g/HfMmmn.net
>>77
イタレータは配列の各要素を走査しながら操作する道具、つまり写像を逐次的に作っていくための操作手順を表したものに過ぎない。

79 :デフォルトの名無しさん:2024/03/23(土) 18:46:13.42 ID:O64Y227M.net
>>78
イテレータとは何かを学び直しなさい
それは配列に対するイテレータ
イテレータに配列なんていうものは必要ない

80 :デフォルトの名無しさん:2024/03/23(土) 19:02:25.28 ID:/RLS51iM.net
イテレータなんぞプログラミング側の都合でしかないやろw
数学のどこにイテレーションって概念があるの?
もとは集合の話だっけ? 集合のどこにイテレータ出てくる?

81 :デフォルトの名無しさん:2024/03/23(土) 19:08:33.11 ID:HOjMmtFw.net
配列こそプログラミングやコンピュータ都合の邪道なものだね
配列は有限しか扱えないから不要

イテレータは自然数イテレータだけでなく例えばフィボナッチイテレータなど無限を扱える
イテレータは数学とも相性がいい

82 :デフォルトの名無しさん:2024/03/23(土) 20:19:21.71 ID:g/HfMmmn.net
>>78 >>81
イタレータの意味を分かっているのか。反復子だぞ。反復子が写像のわけないだろ。
写像を実行するための操作手順でしかない。

反復子の遅延評価により無限の操作手順をコードとして書くことはできても、実際には
実行が途中で終わるので無限を扱えるわけではなく、有限を無限に見せている構文上の
まやかしに過ぎない。

83 :デフォルトの名無しさん:2024/03/23(土) 21:27:18.93 ID:u0/iUo5p.net
>>82
あんさんボケとるな
ここまで読んで反復子(iterator)が写像(map)と書いているのは君しかいない
他の人たちは以下を正しく理解して書込みしている

>>72
>> だからmapの入力も出力もイテレータが使われる

84 :デフォルトの名無しさん:2024/03/23(土) 22:23:29.86 ID:g/HfMmmn.net
>>83
>>74はごっちゃにしているようだが。

反復子を使っても遅延評価をしなければ、mapを多段に使った場合の効率は良くならない。
例えば、C++ STLのtransformがそう。

>>70のような配列のmap関数でも、引数fとして複数の関数の合成関数のポインタを渡せば、
効率は良くなる。あるいは、引数fとして関数ポインタの配列を受け入れるようなmap関数を
書いても良い。

85 :デフォルトの名無しさん:2024/03/23(土) 22:27:51.62 ID:g/HfMmmn.net
>>83
>>74はごっちゃにしているようだが。

反復子を使っても遅延評価をしなければ、mapを多段に使った場合の効率は良くならない。
例えば、C++ STLのtransformがそう。

>>70のような配列のmap関数でも、引数fとして複数の関数の合成関数のポインタを渡せば、
効率は良くなる。あるいは、引数fとして関数ポインタの配列を受け入れるようなmap関数を
書いても良い。

そもそもCでmap関数を書けるかという話だから、書けるという回答で何の問題ないだろ。

86 :デフォルトの名無しさん:2024/03/23(土) 22:32:25.46 ID:/PCiT6cf.net
>>84
根本的な勘違いをしているようなのでアドバイス
イテレータは抽象的な概念に過ぎないのでそこに遅延評価などという話は一切出てこない
イテレータの実装の一つに遅延評価の有無を持ち出すケースがあるようだがそんな特殊などうでもいい話をしても意味がない

87 :デフォルトの名無しさん:2024/03/23(土) 22:36:40.17 ID:g/HfMmmn.net
>>86
そんなことは分かっている。>>72に言ってくれ。

88 :デフォルトの名無しさん:2024/03/23(土) 22:43:57.14 ID:/PCiT6cf.net
>>72は正しいよ

89 :デフォルトの名無しさん:2024/03/23(土) 22:56:10.99 ID:sCrZk0I5.net
iteratorは可算無限を扱える
mapは入力も出力もiterator

例えば
2倍にするというmapに対して
入力を自然数のiteratorとすると
出力は偶数の自然数のiteratorとなる

これだけの話だろ
>>82の人だけ理解できてないようだが

90 :デフォルトの名無しさん:2024/03/24(日) 10:28:13.06 ID:8D2Drt3S.net
でもC言語は圏論じゃないよね

91 :デフォルトの名無しさん:2024/03/24(日) 10:35:26.13 ID:GMGvnUD/.net
20年前の議論草

92 :デフォルトの名無しさん:2024/03/24(日) 11:18:58.82 ID:dsXIuIWc.net
それは間違い
FORTRANが今もなお科学技術計算に使われてる

93 :デフォルトの名無しさん:2024/03/24(日) 11:32:06.58 ID:GMGvnUD/.net
言葉のお遊びwww

94 :デフォルトの名無しさん:2024/03/24(日) 11:34:31.12 ID:yjeBPx06.net
集合論はラッセルのパラドックスで矛盾した
だから集合と写像に基づくC言語やRubyは数学を扱うのに不適切
よってハスケルなどは圏論に基づくから関数型言語が正解

95 :デフォルトの名無しさん:2024/03/24(日) 11:46:51.50 ID:BUlt442E.net
プログラム言語は機械語→アセンブラ→高級言語 と進化してきたが、高級言語にも高級度の段階があって
gotoジャンプ→構造化ループ→map→ベクトル演算 という序列になっている。

y = x.map(i => 2 * i) のように冗長な記述をしなければならない言語よりは、ベクトル演算で y = 2 * x と
すっきり書けるFortranの方が進化している。

96 :デフォルトの名無しさん:2024/03/24(日) 14:10:14.72 ID:S5dROhf0.net
まったくトンチンカンな話してんな
プログラミング言語にmapがあったところでそれで数学ができるわけじゃないだろ
何を解きたいんだよ?
定理証明か?仕様記述か?
ド文系のふわっとした思考やめな

97 :デフォルトの名無しさん:2024/03/24(日) 14:30:14.37 ID:rmOZT0bw.net
>>95
それはarrayを入出力とするmapだね
それは遅延評価もできず可算無限列を扱えない古い劣化タイプ
一方でiteratorを入出力とするmapはarrayだけでなく可算無限列など任意のものを対象にできる

98 :デフォルトの名無しさん:2024/03/24(日) 14:58:03.83 ID:iK6Wk5rB.net
この完全なデタラメな話をここまで長々とする気力がどこから湧いてくるのかがわからない

99 :デフォルトの名無しさん:2024/03/24(日) 15:27:25.02 ID:pjttU2nz.net
所有権を複製したいんやろw

100 :デフォルトの名無しさん:2024/03/24(日) 15:28:49.95 ID:4Iqs5Xee.net
>>97
昔は配列に対するmapしか無かったから、遅延評価できず、有限列しか扱えず、中間生成配列のムダなど、悲惨だったな
今はイテレータに対してmapその他を適用するプログラミング言語が増えたので、扱える対象が広がるとともに、効率も良くなったな

116 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver.24052200