数値計算って出来ないとマズい?
■ このスレッドは過去ログ倉庫に格納されています
理論物理学の研究したいと思ってるんだけど
C言語つまんなすぎてやる気出ない
マスメティカとか使えれば問題ない?
因に今学部2年です 理論物理の大部分はプログラミングだよ
つまらないと思ったらやめておけばいい
俺には無理だった 数値計算くらいやっておいたほうがいい。
数式では理解できないことがわかる。 >>3
マジかよ・・・・orz
ただ実験はなぁ
実験結果とかを見るのは好きだけど
自分で実験をしたいとは思わないんだよなぁ
>>4
そうなのか
やっぱ数値計算は必要なのか
マスメティカとかじゃ代役はきかない感じなの? >>3
4流物理学者の修行は大変だな。
我が**論研究所で人間コンピュータ
でこき使ってやるっぜ。 素粒子論をやるのなら数値計算ができるかどうかよりも学部のうちに
Lattice の教科書を読んでコアを理解しておくくらいでないとやって
いけないよ。おれの先輩は学部の卒論でもうLatticeの数値計算くらい
は軽くできてたし。 >>5
>マスメティカとかじゃ代役はきかない感じなの?
何を計算するかによる。Mathematicaでどうにかなるのもあるし、
無理なものもある。両方使えるようになるのが望ましい。
手持ちの武器は多いに越したことはない。 学部レベルの物理って「解析的に解ける問題」ばかり扱ってるから錯覚してしまうけど
ほぼ全ての問題ってのは解けないから数値計算の知識は必須だよ
物性論にしろ素粒子論にしろ、普通は研究では多体問題を扱うからね
まずはCよりもFortranをやってみたほうがいい
Cは、C++までやらないのならあまり意義がないと思う fortranやれというのはその通りと思うが
ラティスだのソロンなんてのはお勧めできない 別にFORTRANの必要はないだろ
C++でもFORTRANでも好きな方選べばよい
敢えてpure Cやる必要もないと思うが ぬはー
そうか、そんなにいろいろやんないといけないのね・・・・
大変そうだけど、後回しにするともっと大変そうだし今からちょっとずつやっていくか 本質を研究するならエクセルVBAで十分だと思うよ。
わしは今それをやってるんだ。とくにVBAは事務計算でも
有用だから、君達、会社にいずれ入るのならいいんじゃない。 >>13
Javaって、GCJとか使えば速度出るのか?
中間言語は遅いという印象はあるけど てか、全部自分で書くんだったらJavaだろうが何だっていいけど、現実的じゃねーだろ。先人の書いたコードを参考にして(パクって)、ライブラリは使わせてもらって、ってことになるんだから。
いずれにしてもだから、Fortranは勉強必須。その上で、なんかもう一つ二つは使えるようになんなきゃいけないってこった。アプリのマクロとかでもいいけど。
個人的にはPythonお勧め。超便利。 >>18
そういうやつはベクトル計算機+専用ライブラリかアセンブラを使えば
いきなりこれを使う馬鹿はいないと思うが ふぇー、まだFortranなのか、歴史だなー
知り合いのFortran使えない奴はF2CでCに変換してたが使い物になるんだろうか? >>20
ネイティブにコンパイルすればC++やFORTRAN同様速くなるのか?と問うているが、全然回答に見えないんだけど
アセンブリは開発効率悪すぎで、pure Cもそこまでではないがメモリ管理が面倒だから敢えて使わない
RAIIのあるC++はGCと遜色ないと思うから、あとは実行速度の問題だと思うけど、
そこがどうなのか俺はJAVAやらないから誰かに教えてほしい
C++は必要あればメモリ管理を自分でやることもできるのもメリットだけど
>>19
ガチの計算屋で、研究室代々秘伝の継ぎ足し継ぎ足し使われてきたソースみたいなのがあれば別だが、
俺は理論ベースで、全くFORTRANは使わないがちっとも困っていない
普通に自分の好きな言語で十分だろ
既存のライブラリなら、元はFORTRANで書かれてようがCから呼び出し可能だし
今はFORTRANは必要に迫られたときに勉強すべき言語に過ぎず、それよりは言語非依存のアルゴリズムからやればよい
さすがに軽量言語で全部計算をやるわけにはいかないにしても >>22
おや、どこにそんなことがかいてあるの?
後だしじゃんけん、パー ふぇー、なんか人によって何の言語をすれば良いかが割れてるなー
この中にいる人って皆、理論系の研究室に属してる院生なの?
それなら自分の好きな言語から始めても問題ないと思えるんだけど 文法とかは日本語話すより簡単だし、少しでもモチベーションのあるうちに気になったやつ全部、勉強するくらいでちょうどいい。 >>23
ネイティブコード吐ける「GCJ」とか「中間言語」とか書いてあるし、
数値やってる人なら当然そういう文脈が読み取れるものと疑わなかったんだけど、
知識足りなくて読み取れない人のことまで考えてなかった、ごめんね >>26
すごいね、めもめも
予算と権限があるからスパコンのCPUタイムも確保できるわけか
いやー、まいった うゎ、今までGCCを C Compiler と勘違いしてた! (口に出さなくて良かった)
GCJ も C に変換?と思って念のためググったら、驚愕の事実!アホなだけや〜ん >>26
[蛇足]
うまく書くとC++とたいして速度がかわらんらしいけど [馬耳]
GCJはJDKのじゃまだから速攻削除してる 数値「計算」と数値「実験」は違うと思うぞ。
数値「実験」だと、シミュレーションとかのことだろ?
必須ではない。 平均場の扱いが妥当かとかの確認は最低でも数値実験が必要じゃないかなあ。 >>18
アセンブラを知らないような奴が使うと効率の出るアルゴリズム選択が
できないので素人ほど言語が持つ悪い面を多用する為に非常に遅くなる。
抽象的にハードウエアを扱うような概念ほど無駄にリソースを使うわけ。
CPUに命令語に存在するクロックカウンタを日常的に使い複数の
アルゴリズムを試しどのように組めば早くなるかを知らないと
動けばいいという処理方法は恐ろしく無駄なCPU時間を消費してしまう。 そもそも学部の講義レベルの数値計算なんてやる気に関係なくできるくらいと理論物理なんてやるべきではない
卒研でやる程度なら大丈夫かもしれないけど理論で修士以上に行くのは絶対にお勧めしない
素直に実験にいった方が良い 数値計算楽しいよ。
数値流体とかやるとベクトル解析の理解が段違い。 >>39
なかなか厳しい意見ですね
それでも理論系に進むつもりですが
ご忠告ありがとう 数値計算出来た所で、それで?って思う
実験どころでなく就職した方がいいと思う
民間も公務員も厳しいと思うが 今はアイデアの正当性はまず数値解析で確認するのが普通。
で、正しそうだと思ったら理論を考えればいいが、これは才能がいる。
ブライアン・グリーンの超弦理論の本にも理論の確認に数値解析
を使う場面が出てくるよね。 そもそも数値計算もできないような奴に理論なんてできるわけがない 数値計算=データベースから値を当てはめて実測値を計る。
数学的理論=理論を数学的に理解する。
アイデア=仕事の仕組みなどを考える。
こう考えると、この中で一番才能を要求されるのはアイデアなんじゃないかな?
上二つは数学の勉強をすれば誰でも理解できる。
アイデアは数学の勉強をし、理解を深めたからって出てくるものじゃない。
アイデアを考えると言う事は、数学的にもある程度理解している人じゃないと無理だと思う。
そしてそのアイデアがほんとうに優れている見込みがあり、実現するというのならば、
数値計算に基づく実測データを元に構造を作り替えたり、仕上げたりしていくんじゃないの。
つまり、数値計算の以前の段階ですでに、企画なり狙いなり、数学的にもかなり根拠に基づかないとダメでしょ。
逆に数値計算しかできない人が沢山いても仕方ない。 アイデアだけだと論文は書けないので、それを実証する数値計算もやれという話だろう
あと、高度な数値実験は専門的な技能を必要とするので、
そういう技能を有する人であれば数値しかできなくても価値があるし、十分食っていける >>40
>数値流体とかやるとベクトル解析の理解が段違い。
ここ興味あります。たとえばどんなふうにですか? ■ このスレッドは過去ログ倉庫に格納されています