【科学一般】Nature誌が選ぶ「科学を変革したコンピューター技術10選」 FORTRANや高速フーリエ変換など [すらいむ★]
■ このスレッドは過去ログ倉庫に格納されています
Nature誌が選ぶ「科学を変革したコンピューター技術10選」
天文学から動物学に至るまで、現代の偉大な科学的発見にはコンピューターが必要不可欠なです。科学誌「Nature」が「科学を変革したコンピューター技術10選」を発表しています。
Ten computer codes that transformed science
https://www.nature.com/articles/d41586-021-00075-2
◆1:プログラミング言語のパイオニア「FORTRAN」
最初期のコンピューターは決してユーザーフレンドリーなものではなく、パンチカードを使用して手作業でコードを入力していました。
コードの記述には複雑なプログラミング言語の知識が必要でしたが、1950年代にIBMによって開発されたFORTRANの登場により、プログラミング言語で記述されたプログラムをコンピューターが実際に処理できる言語に容易に変換することが可能になりました。
◆2:高速フーリエ変換
1805年、カール・フリードリヒ・ガウスによって考案された高速フーリエ変換と呼ばれるアルゴリズムは、時間と共に変化する複雑な信号を高速で処理することを可能にします。
このアルゴリズムは、複雑な電磁波の性質を理解するために周波数を関数に置き換えて可視化する必要がある電波天文学をはじめとする科学分野で、デジタル信号処理や画像分析などに広く使用されています。
(以下略、続きはソースでご確認下さい)
Gigazine 2021年01月24日 23時30分
https://gigazine.net/news/20210124-nature-computer-code/
その他の技術
◆3:生物学的データベース
◆4:大気循環モデル
◆5:BLAS
◆6:NIH Image
◆7:BLAST
◆8:arXiv
◆9:IPython Notebook
◆10:AlexNet 「君にお金を出す価値があるわけ?」「天狗になってられるのも今のうち」研修期間が無給なことに反論した面談の内容が「数え役満じゃん」
http://edsyig.pansyshop.net/PEN/822418247.html 6番目に後のImageJが入ってる
アメリカが大半で後はカナダと、FFTはガウスか
ガウスは相殺とかまとめるとか得意だなあ
ところで逆FFTの一般化の証明は2年前に完成したそうな 5ちゃんでスレが伸びることは全く期待できないネタだなw。 >>5
初期のにちゃんではこういうネタが盛り上がったもんだよ
今はそういう人材減った
フーリエ変換で部分積分をヒィヒィ言いながら解いた人材と数値計算のFFTを動かした
(出来ればプログラムを自分で組んだ)人って被ってるのが殆んどいないなあ 我が家のワープロがパソコンになったよ
Windows95の誕生によって! FFTってやったなぁ〜
計算量が多くて一晩掛かるのにつまらんバグでしょっちゅう止まって泣いた 昔、リアルタイムで動かすために、四苦八苦してFFTをアセンブラーで書いてたわ。w FFTって、コンピュータ以前に生まれた計算法だろ? Apple II
Lisa
Macintosh
iPod
iPhone
iPad
ではいかんの? >>12
ガウスが最初に編み出したもんな
でも一般的には1965年ぐらいだったから NIH imageなら出た当時に使ってたな。単にMRIとかの画像を表示させるフリーソフトなんだけどな 最初期から存在し今も現役
一昔前はいずれ消えるかのように言われてたんだけど今の状況を見るに
ずっと残りそうだよなフォートランは。 科学を変革したってこの中でFFTくらいじゃね?
FORTRANがそんなに優れてるとは思えんし。
てかFFTに比べると他がゴミ屑。
pythonは使ってて楽だな〜とは思うけど変革はしてない。 >>1
何で人工ニューラルネットワークが入ってないの? >>19
フォートランは最初の言語、って意味で入ってるだけでしょう。
プログラミング言語全体、と考えると何よりも影響度は大きい。
>>18
最近、新しくフォートラン勉強しようって人は何を見て勉強するのだろう?
もう解説書とか売ってないよね? すまん、自己レスだが>>21
ネット見るとフォートランの解説なんて沢山あるから、それ見て勉強するのかな。
逆にじゃあ、他の言語の解説書は何であんなに沢山、本屋に売ってるんだって話だが。
しかし、最近のフォートランって、昔と全然違うんだな・・・ 「科学を変革」とは少し違うが、個人的にはWindows、表計算ソフト、FPGAかな。
業務効率が大幅に改善された。 確かに早かったのだろうが目が腐りそうなコードは当時のプログラマの脳を着実に侵食していったに違いない フラクタルやカオスはコンピューターが出てきたお陰で日の目を見たって方かな?
FortranはLinuxにgfortran入れて手軽に遊べるようになったんで身近になった 3位以降が全部クソなんだけど^^;
重要な技術やら理論は幾らでもあるのにね >Ten computer codes that transformed science
これ「コンピュータ技術」って訳してええんか^^;
よくて「科学を変革したソフトウェア」じゃないのか???
ハード的なのがない?(よう知らんけど)からおかしいと思ったんだが ガウスの積分法(求積法)
ガウスの消去法
ガウスの周期関数の三角関数による補間法の能率的な計算法(FFT)
ガウスの対数表
ガウスの超幾何微分方程式と超幾何級数
ガウスの最小自乗法
ガウスの誤差分布論
ガウスの曲面論(2次元曲面のリーマン幾何学)
ガウスの双曲幾何
ガウスの相加相乗平均による楕円積分の計算
ガウス光学
ガウス電磁気学 RSAは入れたいな
公開鍵暗号は暗号技術の革命だと思う >>21
スパコンでは、Fortranは並列計算記述が容易な最先端言語でもあるよ Wilkinson の後退丸め誤差解析。
実数の浮動小数点数表現。
二進法による数の表現と計算。
ストラッセンの高速行列積計算法。
メモリの間接参照を用いたポインターの表現。
構造化プログラミング。
仮想記憶機構。
TSS。
高性能な磁気記録デバイスの開発。
IC・LSIによるマイクロプロセッサの開発。
インターネットのプロトコルの開発とネットワークの普及。
マークアップ言語(HTML、WEB)。
コンピュータ写植システムTeXの開発。
スケーラブルフォント。
分散計算のアルゴリズム。
記憶やデーターのエラー検出・エラー訂正の技術。
ハッシュ関数。
CMOS回路技術の発明。
計算可能性理論や計算量の理論。
ヤコビの対角化法、ハウスホルダの鏡映変換を用いた行列の各種算法。
非線形方程式の反復解法、ニュートン法。
。。。 >◆9:IPython Notebook
えらい親しみやすいのが出てきたな >21
>フォートランは最初の言語、って意味で入ってるだけでしょう。
機械学習では草創期のものではなく2015年のAlexNetが挙げられているから、
FORTRANも代表だからではなさそう >>1
LinuxやWindowsが入ってないのは謎 科学をだからね
社会や歴史とでも言うならともかく特段に科学というわけでもなく専門性がなさすぎるんだろうよ MACSYMA なり Mathematica なりの数式処理入れろや FORTRAN、LISP、COBOL、ALGOL、これらの功績は大きかったろう。 ハード面だとコンピュータを用いた信号処理(DSP)とかかな?
デジタル信号処理で必要なのはFFTだけじゃないよね・・・もっと包括的な分野だし。
あとはスパコンの要素技術で代表的なパイプラインとか?
今はワンチップマイコンでも積んでるけど。
いずれのインパクトも>>1よりケタ違いに大きいが、
ソフトウェアももっと重要な技術が幾らでもありそうな気が・・・ FORTRANが入っててなんでCが入ってないの?
かなり謎が多いランキング
適当過ぎ 種類によるがフォートランのほうが科学技術計算などには速くて使い勝手が良いんだよ
元々そういう言語だしな
Cは所詮汎用的な言語であり、最適を求めるならフォートランの代替にはならん >>5
今はライブラリ持ってきて終わりだもんなぁ。
自分で書くと、車輪の再発名と言われてしまう。仕事ではしょうがないかもしれないけど
昔は自分でやらせてくれたんだよなぁ。
学生とかはどうなんだろ?Pythonとか見てると、やっぱり持ってきておしまいかな。 >>5
伸びるだろうニュース+でスレ立て依頼したけど立たなかったよ
PCニュース板でスレ立てしたけどもスレ立て自体できなかったし
ビジネスニュースでも依頼したけどまだ立てないなぁ 最近は依頼してもあの辺の板はあまり建てんよ
特にビジ板は依頼するだけ無駄と言っても良いほど >>1
確かにFFTは無くてはならない技術だよなあ 有限要素法が入ってないとか、どんな度素人が考えたんだ? >>49
ライブラリ書くくらいなら理論を覚えろって言われそう science だからな。
engineering なら有限要素法も10傑かもしれないが。 FFTが1位だろ。
FORTRANとかただのプログラミング言語じゃん。 では趣向を変えて
○○○誌が選ぶ「工学を変革したコンピューター技術10選」
をどうぞ。
FFTは、SCIENCEでは様々な発見につながって確かにメジャーかも。
ENGINEERINGでは、さほどにメジャーだろうか。
FFTから何かの発明につながっているケースがいくつもあると思えない。
発明の数は小さくとも、個々の発明の利用価値は極めて大かもしれん。 FFTとFORTRANは文句ない
NIH Imageって、そこまで影響与えたっけ?と思ったが、Wikipediaの解説を見てなるほどと。
ほかは知らんなw 画像処理技術のお陰で(画像に映っている)細胞のカウントを自動化出来るようになったからなあ
生理学に貢献しまくり
脳の血管の画像も繋いで患部の立体視に貢献したり 線形計画法(LP)。
公開鍵暗号。
特異値分解。
モンテカルロ積分法。
情報圧縮の各種技法。音声や動画などの圧縮。 問題に合わせた適切なソートのアルゴリズムとその研究は、多くの分野において重要。 ハッシュによるデータアクセスの技法も重要。
また一方方向性関数としてのハッシュ関数も、いろいろ役に立つ。 >>56
TCP/IP既に20-30年経過してるけどまだまだ
現役だな。
代替えがない。 中国は独自netを模索してるみたいだけれどコストがかかるんだって そういう直接科学と関係ないのはいくら社会に貢献していても入らない
そういう社会に貢献した、的な視点で選んだらここで上げてるようなのはまず入らないから
一般OSとかネット技術とかよく使われる言語とかCPUやメモリの高速化技術とかそういうのばっかになる
科学者でもっとも貢献した人は、と言ったら純粋な数学者が殆ど入らないようなもん >>47
Natureの委員会とお前じゃあねえww AIとか何か新しいもののように語るアホがいるけど、ただの統計だから。 FFT懐かしい。昔、I/Oにプログラムが出ていて、波形を分析するために、
打ち込んで、そのルーチンを使ってアナライザ作った覚えがある。 個人的には、K&Rだな。
UnixとC言語はコンピュータのオープン化を急速に進化させた。
科学技術の進歩という面でもこの二つは外せない。 マイニングを早く電気代安く実行できる方法は
どうなの?
富岳を使える研究員になり、CPUタイムを盗んで
マイニングソフトを走らせるとか.. 高速フーリエ変換が10選ってコンピュータってあまり開発されてないきがする >>21
インテルの公式コンパイラーは C/C++ と FORTRAN。 大学のHITACにCG7でプリント出力かけたら設定間違って
段ボール一箱分出力されて怒られた思い出が・・・ 大型汎用機やスーパーコンピュータなんかだと連続紙が染色工場の布みたいな勢いで
出て来るレーザープリンターを使えることがあるから、設定間違えたら箱単位だな 科学を変革した、だからエクセルはあんまり関係ないだろ
表計算ソフトは他にもあるし パイプライン計算方式(先行制御、スコアボード、投機的実行、。。)
並列計算方式(ベオルフクラスター、。。。)
並列プログラミング言語
オブジェクト指向言語
関係データベース、オブジェクト指向データベース
関数型プログラミング
数式処理技術
。。。 ビットマップディスプレー装置(CRT,液晶、。。。) "Ten computer codes"を「コンピュータ技術10選」と訳した阿呆と
>1 すら読まないバカどものコラボレーション
まぁこの板のスレ進行ではよくあるパターンではある Postscript、PDF、スケーラブルフォント、PascalでかかれたTeX製版システム
などはどうよ? >>90
オイラーのコンピューター関連への貢献っていったら
微分方程式の一次近似のオイラー法か
二次はホイン法、以下クッタ法、ルンゲ=クッタ法 マウスはすごい発明だと思う。
ゼロックス社で発明された技術だけど
ゼロックス社ではマウスの技術を活用する方法を思いつかなくて
スティーブ・ジョブがこの技術の存在に気づき
アップル社のコンピューターで使うようになった。 >>92
ジョブズとゲイツというパクリ魔によってマウスというデバイスが普及しただけ
マウスボタンの数をどうすべきかもパロアルトでやってた
ボタンを一つにしてオペレーションを複雑にしたバカなジョブズ
二つボタンで合理性を求めたゲイツ
何その嘘? マウスの起源ってゼロックスだったか?
Altoはゼロックスだが... >>85
natureの元記事が出鱈目すぎるだけだが、お前が読んでないのはわかった
Language pioneer: the Fortran compiler (1957)
はコードだってこじつけてある(大事なのはコード自体じゃないのにな)が、他のほとんどはコードじゃねーwww
そもそももっと重要な技術は他にいろいろあるし、ど素人が書いた記事だよ 同軸ケーブルの発明は二次大戦中だったと思うな。高圧に対する絶縁性の高い
ポリエチレンの発明により可能になったんだっけ?
原爆の爆縮レンズでパルス波を正確に同期させて分配して
信管を同時に起爆させることで、爆縮波を一点に向けて集中する収束波を
作るために、必要だった。レーダーの信号を伝搬するのにも多分使われたし、
初期のイーサネットのケーブルでもあったし、アナログカラーテレビの
信号をアンテナからテレビに繋ぐのにも使われた技術だと思う。
素晴らしいコードである。 >>96
同軸ケーブルの発明は1880年ヘヴィサイド >>21
未だに数値演算ライブラリってほぼフォートランが現役でしょ >>92
そうなの?
第2次大戦中に米空母が日本の零戦を撃ち落とすとき
マウスを使ってたよ。 頑張ってC++で数値計算ライブラリ作ってる人たちもいるけどなかなか進まない
Rustで作ってるのもいる
一方で実行速度が遅いけどPythonではあっという間に出来ているねw >>103
そもそも発見者のフーリエが
拡散方程式を解く過程でフーリエ変換を
考え付いたのが凄い
更にそれを使って色んな微分方程式の解法を編み出したり
物理現象を波長成分で分解したりしたのも凄い
その過程で、計算の高速化を狙ってFFTが生まれた
逆FFTの一般化の証明ができたのは一昨年だという
この分野、まだまだこれからも伸び続ける
(ただし一部の学者は「フーリエ級数やフーリエ変換に拘り過ぎて
多分数世紀くらい遅れた分野があるぞ」なんて言っている) FFTの最初の発明者は、数学者・天文学者・物理学者のガウスである。
天体の周期的運動に対する内挿法として三角級数を使う方法はそれ以前からも
在ったようだが。 クーリーとチューキーが1960年代に発表されたのと同じ
FFTの計算技法はガウスの全集に(ラテン語で)載っている。
多くの調和解析の計算をせねばならない地球物理学者、海洋学者、天文学者
などにはその技法は受け継がれていたらしい。電子計算機が登場したことにより、
IBM社は防空レーダー装置の開発に関連してFFTを「発見」したことになっている。
当時に特許を取ろうと考えたが断念したということで、公開したらしい。
しかしそれ以前の応用数学者たちが同様の性質を使って計算の手間を減らす
工夫は行っていた。問題は、人力だとサンプル数がそれほど多い計算は普通は
やらないし、やっていられないことにある。データーが滑らかな場合には、
それほど多くの項数を使う必要がない(どうせ観測誤差がたっぷりある)
ことが普通だから、通常は12点、24点、48点、60点などであって
百を超える項数のフーリエ展開を求める需要があまりなかったこともある。 ここでクイズだ。万有引力の相互作用定数の有効精度はあまりたいして精密に
求められていない。それなのに、なぜ天体観測はものによっては10桁程度の
精度で時間などが決まったり、予測ができるのでしょう? ルンゲ・クッタ法とか。
シンプソンの数値積分法とか。
ガウス・ジョルダンの掃き出し法だとか。
共役勾配法だとか。
ジャコビの対角化法とか。
ストラッセンの行列積の方法だとか。
ヒッチコック法による方程式の根を求める方法だとか。
偏微分方程式のステンシル計算による緩和による解法だとか。
いろいろあるだろ。 科学を変革したコードとなると、
コンピュータのプログラムで不可避集合を求め、
証明を書き連ねたという四色問題を推したいけどな
結果的に「エレファント」な証明になってしまい、
証明方法も特化しすぎてて他に応用も効かず、
数学者たちも興味関心を示さないみたいだけど、
四色問題以外にもコンピュータでないと解けない、
または発見できない定理や証明が今後出るだろう、
という点では先駆的だと思う ケプラー予想の解決に、電算機が使われたのはそれほど昔のことではない。
また、ルービックキューブを並べ直すのに一番手数が掛かる場合は
何手が必要かというのも電子計算機が使われた。
RSA暗号の要である大きな合成数の素因数分解(いまの場合2つの素数の積)
を解くための二次篩法、数体篩法、なども重要じゃないのかね。
多分、オセロの完全手順はもう解決されたか位のところにあるだろう。 連立線型不等式問題を解くための単体法やその後の計算法の研究と発展も
電子計算機利用の上での大きな柱だろう。
多次元のニュートン法やその関連する計算法も重要性は高い。
非線形の目的関数を拘束条件なし・ありでもって最小化する技法も沢山
開発された。 何だこのド素人の書いた記事は
今どき高校生でももっとマシな記事書けるぞ >>14
シンプレックス法のプログラムをとりあえずVBAで2日くらいかけて作ったもんだったなあ
とりあえず決まった配列で動くことを確認してからm行n列対応に直していった 計算機の利用に関してはOS(Operating System)の
進化発展も重要なものだと思われるが。
モニタシステム−>バッチシステム−>TSSシステム−>リアルタイムOS
などと。なんといっても、現実に多く使われているソフトウェアの中でも
複雑度が高くてバグも多いし。一説によるとWindows2000が3千万行、
Windows10では多分1億行(デバイスドライバーのコードを含むと
思われる)あるとか言われている。他社の開発意欲を削ぐためのブラフが
入っているかもしれないけれども、百万行を越えるようなソフトは
1人の人間の眼では全体を隅々まで把握することは困難だろう。
もっとシンプルにOSを作れないものだろうか?
CPUの性能がこれだけ上がったのだから、OSもC言語などよりも
もっとずっと高級な言語で書いて、ほとんどの部分を特権モードで動く
インタプリタ言語のようなものでCPUやハードに独立にできないもの
だろうかな。(もちろんリアルタイムの応答性能は落ちるだろうが、
多くの用途にはそれでも十分じゃないかと思うが) 1から既に説明が出鱈目
このおっさんはFORTRANの時代はパンチカードが主流で
FORTRAN専用のパンチカードがあったことさえも知らんのだろう
パンチカード減らす為にIはデフォルトで整数型だった事も >>118
で、リーダーにかける前に落として順番バラバラ涙目とかな 台風で雨が降り込んで、カードが濡れてパンチしてあったのも
まだ未使用のものもみんなふにゃふにゃのしわしわになってしまって、
使い物にはもうならずに、とても悲しかった思い出だとか。 >>119
カードパンチャー(穿孔機)の順番待ちに割り込んだ奴が席を外した隙を狙って、
奴のカードをトランプよろしくシャッフルした上にごみ箱にあったパンチミスの
カードを何枚か混ぜ込んで置いてやった。 高速フーリエ変換は、リアルタイムに近い処理でどれくらいできるものなんだろう
Apple watchのような生体情報記録から計算ってのは、今のテーマであるはず。
データをクラウドに投げて、計算して戻すってのが普通なんかな 棄ててあるカードをゴミから拾って、
10 CONTINUE
とか
END
とか
DO 200 I = 1, N
とかを集めて揃えて置くと、再利用できたりしたもんさ。
パンチカード1枚が3円ぐらいしたからね。 お前らも歌ってたろ?
ヤーッホー
フォートランランラン♪
ヤッホー
フォートランランラン♪ お前らさ、
フーリエ変換やFFTを知ったかしてるけど
実は積分すら本当は理解してないんだぞ。
お前らが高校で教わった積分は
不定積分から定積分への邪道だが、本当はこれが正しい。
[正しい積分の定義と導出]
定積分とは区間a→bにおけるΣfΔxの極限値Σfdxであり、それを∫fdx(a→b)で表すと
∫fdx(a→b)=Σfdx=ΣdF/dx・dx=ΣdF
=F(x1)-F(a) + F(x2)-F(x1) + ・・・ +F(xn)-F(xn-1) + F(b)-F(xn) n→∞ = F(b)-F(a)である。
ここでf=dF/dxであり、このFを求めることをF=∫fdxと表して不定積分という。
Q.関数の面積ってどうして F(b)-F(a)になるの?
A.それは関数の面積はΣfdxだから、微分してfになる関数をFとして計算すると
Σfdx=ΣdF/dx・dx=ΣdF
=F(x1)-F(a) + F(x2)-F(x1) + ・・・ +F(xn)-F(xn-1) + F(b)-F(xn) n→∞ = F(b)-F(a)
となるからだよ。ΣdFは両端しか残らないってのがポイントだね。
Q.なーるほど!
途中の項はすべて打ち消しあってF(b)-F(a)しか残らないってことか、凄いね!
あれ?、なんでこういう教え方を学校でしていないの?
A.うーん、一言で言えば大人の事情。
微分積分は物理学で教えるべきなんだけど、そうすると数学屋さんが
中身スカスカになってしまうから。ベクトルや解析学も本来は物理学だしね。
Q.そーなんだ。数学屋さんって邪魔者なんだね。
どうもありがとう。微分積分いい気分! >>124
サンプリング サンプリング ヤッホー ヤッホー >>ID:bYZ+ISWD
アホの qqq かよ。 マウスの起源とMacOSの起源がごっちゃになってないか? >>128
どっちかと言うと、マウスの起源とLisaの起源がごっちゃになってるのかと マウスに先立って、ライトペンというものがあってね、
蓄光型のブラウン管ディスプレーの表面にそのペンを押し当てると、
ペンが蛍光面の発光を検知するタイミングと、蛍光面を輝点が
走査しているタイミングの関係から、蛍光面上での座標が確定できるので
それを使って位置をペン先(光を受ける素子がある)で指示して入力する
というやり方をとっていた。 コンピュータ言語の仕様が変わりすぎて、規格にすらなっていないそれは
不具合や脆弱性訂正といいならがそれ以上に追加機能を実装して機能変更もやっている。
そんな状態はソフトウエアの進化を阻害している、規格を作り機能追加などするなら
別物として出すべきで機能追加など100害でしかない。 こんなにネットの発達したのにハンガリーのような国では生きてくために外国語を覚えなくってはならないんだって
つまりヨーロッパでは神童が生まれる余地が有るんだって >>122
画像、音声解析一般、例えばカメラの顔認識の
計算にもバリバリ使われてるから
当然リアルタイムに処理可能だよ >>11
いま見てる動画のデジタル音声部で必ず使われてる基本技術の一つ
ご利益をうけてない人はいない >>135
ハンガリーどころかオランダでもデンマークでもスウェーデンでもロシアでもインドでもアフリカでも台湾でも >>136
プログラマーじゃない研究が本業の研究のためにR使いになるには必須な道具らしい 5年前くらいには
Jupyter Notebook
に名前変えたよな >>140
へーーー、まあ見える化には便利ではあるが
なんか1ツールというか、それが入るのなら
Mozaicとかインターネッツとかの方が遥かに重要な気がする 多層プリント基板による配線技術。
LSIによる半導体メモリー素子技術。
LSIによるマイクロプロセッサ技術。
。。。 >>21
並行/並列計算の最先端は今でも常にFortranだぞ
特に並行プログラミングは2008で言語仕様に入って、今まで頑なに使わなかった[]をスレッドの添字に宛てた
jsや多分それに倣ったPython等のasyncキーワード流より便利 極端なハードウェアの進化で十分な選択圧が掛からず埋もれてしまった技術も多い
今の技術でlispマシン作ったらどれくらいの性能出るんだろ
全てのワードが型/参照カウント付き共用体かつ(明示的なポインタの概念を避け)リンクを辿ることで、ハードウェアでGCと型チェックをやってしまうってやつ
ベクトルや画像演算とかには向かなさそうだけど汎用CPUならいけるんじゃないか >>143
たぶん貸しコンピュータの利用方法の主流になりつつあるからじゃないか
別に昔から遠方よりログインしてってのはあったけど、大手IT(MS Azureとか)が金に物言わせて好きな時間に使えて使った分課金と融通が効く
ディスク容量増えたのでpcにライブラリ(ifort/mklだけで5GB)入れられるし、予約時間にデバッグ無しぶっつけ本番なんてことも心配しなくてい
あとjupyter用カーネルという事実上標準が出来たのが大きい、有名な言語なら何でも揃ってる
Fortranもjupyter越しでやる人は多い そして何よりブラウザなら面倒なxの設定とか要らんので手軽だ >>92
思いつかなかったというかゼロックスも大手だったLISPマシンの売りがマウス操作では…
Macより30年くらい前?それでも最初かどうかは知らん S式の特性を活かしマウスで操ったり補完したり
あれ、今の環境より贅沢なんじゃ… >>145
>>143で技術者だけど初めて知ったわw >>153
地代の流れか…
結構、重宝してたんだが… C++に押されてしまい、欧米でもFortranは最近は次第に採用されなくなりつつある。
1つには教育の問題がある。
それに、Fortranも規格の方は少しずつアップデートされているけれども、
世の中に多く出回っている処理系やソースコードの多くは、Fortran90/95
レベルで止めている場合がある。
かつてHigh-Performance-Fortran(HPF)などという言語の規格も
作られたが、そういうのに乗っかったシステムは廃れて事実上みな没落したから、
大きな変更にはリスクがある。Fortranもモジュール化機能はあるけれども、
もともとの言語とのコンパチビリティなどがあって不徹底な面があったり、
依存関係の記述が面倒だったりするし、最新のものはオブジェクト指向が
できるそうだが、とにかく例となる解説や教科書はどうなんだろうとか
処理系もどうなっているんだろうと思う。
言語の中で並列化をきちんと記述できるようにするという方向性は、
OpenMPとかMPIのようなとってつけた言語の外側での拡張が普及
したために、それとの整合性の面から言語内部で実装することは
とてもやりにくくなっただろう。
あとFortranのポインタは安全ではあるかもしれないが、
Cを知っている人から見ると面倒だし、使い方がわかりにくい。 科学を変革したフォートラン活用といえばこれ思い出す。
https://www.ibm.com/blogs/systems/jp-ja/dream_fortran/
NASAの技術を実際に数段推し進めたし、作業だった計算手の
視点が軌道検討や設計などの実業務に入るきっかけになった。
さらには有色人種のパートの待遇改善のきっかけにもなった
ターニングポイントにメインフレームの更新があったとか。 >>155
モダンFortranのoop機能はsteele大先生の傑作だと思うよ
CLOS風Javaというか
まあcommon lispやってないと面食らうから受け入れられるかは確かに怪しい 古いプリミティブ大量に残してるからリファレンス読んでも何が大事かサッパリ分からんのがとっつきにくいよなあ
HPFortranやCoarrayFortanの大部分が規格に取り込まれたのは嬉しい
ディレクティブ山盛りのf95コードとか読む気がしない クラウド計算ではc/c++のシェアも最近増えてきてた
FortranとC系(殆どの言語、Pascal系以外)で呼び出し規約も型も違うので、既存C系ライブラリのラップが結構面倒
(世間で単に"long"とか"double"とか言われてるのはCの型)
Fortranでも相互運用の為にC系の型は使えるけど、Fortran内での型変換でパフォーマンスが… いまのところC系に4倍精度以上の規格は無くて、4倍複素数(248bit)は独自実装も無いようだから、少なくともこの先十年はFortranは必需品でしょう
gccは実4倍が試験的に使えるけど、printfくらいサポートしてください >>159
>FortranとC系(殆どの言語、Pascal系以外)で呼び出し規約も型も違うので、既存C系ライブラリのラップが結構面倒
まともなこと言ってるのかとおもったら、
>(世間で単に"long"とか"double"とか言われてるのはCの型)
そこ?ずぶのど素人かよwww >>161
配列の並びや構造体のアライメントについて?
配列は大体C系の言語から歩み寄ってくれる、Pythonなんかはフラグで指定できるので便利
構造体はたぶんやり取りする需要がないんじゃないかな 呼び出し規約の意味が全く分かってない奴が、何をいってもなあ
独自拡張くらい、今時は学部卒論レベルでやれることだし 当然各プリミティブ型の違いも知っておかないと困るよ
全ビット1=TとC系言語と逆だったり
グラフ表現にブール行列使ってハマった事がある
(処理系依存、ただしifort等大体そう)
ライブラリレベルの話になるけど、単純に変換できないフォーマットの配列(3重対角行列などなど)や疎配列は添字がんばるしかないな
numpyは自身がラッパなので自分用の変換ルーチン持ってて参考になる FORTRAN懐かしー
30年以上前にば勉強した思い出 >>164
>当然各プリミティブ型の違いも知っておかないと困るよ
>全ビット1=TとC系言語と逆だったり
すげーな、こいつの出鱈目ぶり
>>166
>>163
>呼び出し規約の意味が全く分かってない奴が、何をいってもなあ >モダンFortranのoop機能はsteele大先生の傑作だと思うよ
ちゃんとした処理系と、ちゃんとしたマニュアル本、解説本が
あるかなぁ? >>167
真偽逆だったごめん、1埋めでFね
呼び出し規約は違うでしょ?Cで普通使うより多くレジスタ(数が少ないx86でも*X…)使うし、呼び出し側がスタックを片付けない事が多い
GPU流行ってからはCUDAFortran/C++の橋渡しが地獄 >>168
プロプライエタリでニッチだから全然ないよね…
インテルのリファレンスが比較的まとまってると思う >>88
言語としてはpostscriptと並んで一番好きだわ
でも本質的にスレッデッド/副作用オンリーで計算を進めるがゆえに、部分最適化に全く向かない、息を吹き返す要因が無くて悲しい
ブートストラップの容易さも、大抵Cが用意されてる昨今じゃ、組み込みでも利点にならない
コード上隣接したワードが論理的にも連続しているので、参照の局所性は理論上最高
レジスタの容量が有り余る時代が来ればワンチャン? >>169
>真偽逆だったごめん、1埋めでFね
ねーよ
お前、ちょっと調べたらわかることで、どうやったらそこまで出鱈目ばっかり書けるんだ?
>呼び出し規約は違うでしょ?Cで普通使うより多くレジスタ(数が少ないx86でも*X…)使うし、呼び出し側がスタックを片付けない事が多い
>>163
>呼び出し規約の意味が全く分かってない奴が、何をいってもなあ 韓国にあるLINEのサーバーに中国から技術者が接続、か
サーバーなんてリクエストと称するクライアントコンピュータからのデータを受けて
コンピュータの中身を入力データに合わせて適度に調製・加工しながら見せてるだけ、とも言える
そのためにパーミッションを様々に調節しているけどな
でもその技術が今やインターネットの中核として活躍してるんだよなあ
科学の変革に当たるかはともかく、社会を変えたのは事実だ
しかし、所詮は底の抜けたコンピュータなんだ、って言えばそれまでなんだよな ルンゲクッタ法の発明は、計算機以前だから外されるのか? pdfはクソデカblobだし、そこを多目に見ても前身であるpsに勝ってるとこなんてあるのか?
動画音声埋め込みとか謳ってるけど空気だし、それして一体何の利点があるのやら
psはプレーンテキストだけど{<...>}リテラルでラスタ画像埋め込めるわけだし、今一利点がわかってない(というか、無いよね?)
言語設計もForthをブラッシュアップした感じでとても書きやすい
描画クオリティもpsの方が上、普及してるpdfビューアならpdfの方言であるpsも大体対応してる、ポータビリティも問題無し
埋め込みフォントももちろん可能
pdf死すべし pdfのpotableのpだけどデバイス非依存性すらpsに劣るゴミ言語
仕様拡張して劣化したプログラミング言語とかpdf/psくらいだろ WEB(HTML)とそのブラウザは大発明だと思う。 Edgeは出来た時にボロクソに言われたなあ
IEより相対的にマシである以上のメリットが何もなく
FireFoxにもChromeにも全く歯が立たんと
でもその頃に自分は唯一Edgeでいい所を見つけていた
PDFを開くのが早いw このスレの平均年齢えげつないことになってませんかね・・・
>>183
IEの頃からじゃない?
後期は実質PDFビューワーだった >>180
psはチューリング完全なので、ネットワーク配信の安全性が保証されなかった、ってのが pdf 開発の理由。 >>48
これがわからん
単に大昔は大型機やスパコン用のコンパイラやライブラリが
使い勝手がよかっただけではないのかと >>187
根本的に違う
Cにはポインタがあるから、最適化に限界があるんだよ Fortranは、二つの配列があったら、その配列の要素には
重なりがないとする、という前提を置いてコンパイルされる。
また、それを実現していないソースを書くことは規格違犯であるとして、
そういうことをした場合の結果は保証されない。
CでもFortranとおなじ仮定をおいても良いということを
最近の言語規格では明示的に指定できるようになった。
restrict ポインターである。 >>186
pdfも色んなチューリング完全言語書き放題なわけだが
エディタでテキスト部分拾い読みしてみりゃ分かるけど、そりゃあjsまみれよ
pdfはフルスペックのpsでやり直せ >>187
for(do)文だけ見ても投機実行専用for文やら十はあるぞ…
変数宣言にもi/o指定をするとかパフォーマンスファーストのFortranと競うのはどう考えても無理
またCは構造化手段が関数呼び出ししか無いので、スタック積み下ろしのオーバーヘッドがある
Fortranは関数とサブルーチン(スタックを詰まない)の2種類に分けてる、そもそも言語仕様が高速化に向いてない
まあある程度はインライン化/最適化でよしなにしてくれるかもしれんが、コンパイラ技術もFortranの方が進んでるわけで
級数計算とかやってみれば分かるけど、同じgcc(-O3)でもFortranの方が十倍以上速い
一方で本質的に関数しか使えない計算、かつ引数がスカラーならば、値渡しのCの方に分があったりする、1.5倍くらいだけど 文化的な面では常に技術導入が早いってものもちろんあるな
流行りのCUDAとかもC/C++よりCUDAFortranの方がまともに実装されてるし、(論文の数では)より活発だし
ググるとC/C++インターフェイスのブログ記事ばっかりヒットするけど、ユーザー数の問題だろうな… >>190
ん? pdf がチューリング完全という証明なんかあるんか? >>193
チューリング完全しょ、ざっくり言えば条件分岐と反復の制御構造さえあれば
pdfのpsサブセットは制御構造も削られたけどjsはフルパワーなので
公式アクロバットならちゃんと対策してるかもしらんが、サードのpdfリーダーなんて外部js処理系に投げてるだけだろ >>194
チューリング完全の証明があるのかと訊いてる。
お前の憶測なんかどうでもいい。 そもそもチューリング完全だとか計算能力はセキュリティと全く関係がない話
ちゃんとI/O権限を箱庭に閉じ込めてさえいれば問題はないわけで
基盤言語の機能制限でその場凌ぎなんてしたpdfのお粗末さ
初期の(純粋な)pdfはたった数kBのpsで書いたコードをループ展開して生成してからあんなサイズになってしまった
最近はxmlやら外部スクリプト言語埋め込みやらでマシにはなったけど、クレオール言語を通り越してもうちゃんと理解できてる人いないんじゃねぇの… >>195
知るかよ
学部の教科書に証明法乗ってるから読んでろ エヴァリスト・ガロワの理論は、コンピューターにどのように役立ってるの? >>198
体=算数ができる体系
素数種類の値を取るスカラーからなるベクトルは体だとガロアが見つけた
つまり0/1(ビット)のベクトルは体
ちなみに普通に言う整数の2進数表現とは関係がないので注意
というかここが実用的には肝で、複雑怪奇な四則演算だから暗号に便利 >>199
証明があるかどうかを知らないとなぜアホなの?君も知らないから訪ねたんでしょ?
アホだね というかそれくらいも自明に思えないなら勉強しなさい >>201
>>194「チューリング完全しょ」がお前の憶測だから。それとセキュリティ云々じゃなくて完全停止問題だし。 >>203
だから俺はチューリング完全云々言ってる奴にそれは本質じゃないでしょ、ってケチ付けてるんじゃん…
ちゃんとレスくらい辿ってくれ >>200
うむ、俺が読んでも全く分からないが、返信ありがとう。時間があるから、調べてみるよ。 チューリングマシンは無限の長さのテープがあることが必要だが、
現実の計算機は無限の長さのテープや無限の容量の記憶を持たないので、
チューリングマシンには可能であっても現実の計算機にはできないことは
いくらでもある。
所詮、記憶容量が有限のマシンは、数学的には有限オートマトン
(有限状態遷移マシン)に過ぎないのだ。単に状態の数が(とても)多いだけだ。 >>208
計算不可能性は、チューリングマシンで証明できれば十分なんだから、的外れ 無限容量の記憶媒体を持たない現実の計算機はチューリングマシンと
等価にはならない。
それをチューリング完全などというのはおこがましいとは思わんかね? >>210
馬鹿、プログラミング言語の計算能力に関する概念だっつうの 歴史ある分ライブラリがめちゃくちゃ豊富だしな
まあ大体言語毎にラッパ提供されてるが インフラ的に捨てられないという意味ではcobolと似た面もあるな
cobolほどヘンテコでないとは思うが
主要ライブラリをラップしてない言語はスルーされてるし、pythonのようにFortranを自動ラップする言語は隆盛してる OSというものができる前は、プログラムローダーがあるだけで、
メモリーに外部の装置から読み込んだ機械語を配置して、
そうして制御をその機械語プログラムに渡して、プログラムが
終了すると再びプログラムローダーのプログラムに戻る。
そのプログラムローダーも短いけれどもやはり機械語プログラムで、
それをメモリに乗せるためには普通はコンソールパネルから、
人間がスイッチをパチパチやって手動で書き込んでいた。
ディスクオペレーティングシステムのようなOSができる以前は、
計算機は計算が始まれば速いけれども、動かすまでには必ず
人間が介在しなければならなかったので面倒だった。複数の
プログラムを同時に作動させたりとか、割り込みをかけて
動作をさせるとかは大変だった。マイコン・パソコンの初期は
それ以前の計算機のたどったのとほぼ同じ歴史を再び繰り返していた。 Jupyter は Excel に搭載して欲しい。
Calcに搭載したら Excel 使ってたエンジニアや研究者が移行するかもよ。 米最高裁がGoogle支持。11年続いたGoogle/OracleのJavaコピー裁判
https://pc.watch.impress.co.jp/docs/news/1316758.html
こんな裁判をした結果、Javaからはみんな距離を置くようになっただけだった。
それよりもずっと前のことだが、マイクロソフトも一時期Java製品を
MSから売っていた時期もあるが、やがてSunの影響力を拡大させないために、
それをやめたこともあった。 JavaとかOracleとかはロクな事にならん
MySQLまで飲み込んでまた揉めてる >>218
ExcelやCalcなら画面でそのままグラフとか出た方がいいじゃん。 >>70
AIと統計を同じモノにしちゃったのかww
おまいは何一つ理解してないだろ >>96
ヘビサイドは
マクスウェル方程式もコーディングしたし
偉いな >>222
機械学習や深層学習の式の中で
共分散行列が関与してる部分は一応は存在してるねえ
パーセプトロンとかロジスティック回帰もその類ではある
でも、脊椎動物や無脊椎動物を問わず動物の神経網の入出力を考えると
共分散行列とまでは言わぬまでも、やっぱり一番効きが強い要素の神経の繋がりを
強くしてるんだろうなあ、って部分はあるし
結局は生物が神経系を通じて高度な判断をするのと
人工知能がやってる事って、基本原理はおんなじなんだろうなあ、となる
だが、人工知能で使われるセンサー類が生物のセンサー類と比べて
視覚、聴覚、味、嗅覚、温感など個々のものはともかく
それらをどう束ねて適切な情報にするか?という部分で
まだまだ研究の余地はある
映像、聴覚、嗅覚、温感を
モンドリアン
https://ja.wikipedia.org/wiki/ピート・モンドリアン
の絵のようなコンポジション配列にまとめて、
それを畳み込んで判断させる、というのがどこまで可能かなあ? モンテカルロシミュレーションや遺伝的アルゴリズムは入ってないんだな。 モンテカルロ法という名前を付けたのは、原爆開発をしていた
物理学者だが、同じ原理の方法自体はそれ以前からあった。
たとえばビッフォンの針の実験。針を多数ランダムに投げて
平行線に交わる割合を求めれば円周率が近似できるといった類いの
統計的手法。統計のためのランダムサンプリングの方法は
電算機前からもあったはずだし。 ・表計算ソフト
・並列コンピュータ(スパコン、GPGPU)
・TeX
・WWW
・画像・動画圧縮アルゴリズム
なんかはどうよ。 ■ このスレッドは過去ログ倉庫に格納されています