Re: [請益] 物理計算機概論 推薦用書

看板Physics作者 (Beautiful People)時間14年前 (2011/11/05 20:35), 編輯推噓3(4124)
留言29則, 7人參與, 最新討論串2/2 (看更多)
※ 引述《hpp999 (世界唯一的你。)》之銘言: : 理論物理系的學生,對電腦寫程式很陌生, : 但因為寫程式對理論物理和其他理工科系都很重要, : 所以想要自修計概! : 想請問 有什麼推薦書籍嘛?! 請問你是課外學習還是碩博班作研究準備要上戰場了? 這會關係到你目前的學習安排,不過只要有用心,學習成果會是一樣的 再來是你的需求,跟數學一樣,簡單來說以能解決物理問題為主 1.小程式:mathematica/matlab/maple 2.計算量巨大的程式:fortran/c/c++ 這類的程式常常放在linux上跑,所以你也要會用linux 後者較不親近我們這種程式外行人,同樣算一個問題,可能matlab一百行就寫好了 但是fortran可能要寫五百行,但是基礎程式語言的優點是你可以做各種複雜、量大 的計算,如FFT、Monte Carlo,或者是大維度的矩陣對角化如1000x1O00的, 這是mathematica等做不到的事,或者說,靠mathematica跑完你都要畢業了。 以mathematica等作為工具的話,沒什麼好學的,找本書放旁邊,邊寫邊查就好了 剩下的google一下查指令就好了。 你提了"計概",所以我推測你會想走純"計算物理"的領域 這一條路會脫離傳統"理論物理"的認知,因為你會花很多時間在 寫你的程式,也就是Coding。 討論物理,學演算法,把它化成if、do等難以想像的程式語法來計算, 然後還要會在linux下操作編譯,寫個兩三個月眼睛快脫窗了, 寫好還要測試能不能運算,跑程式時電腦有問題還要進機房看... 因此跟一般手算為重的理論物理不一樣,你能讀書學數學手算的時間會少很多 大部分的時間都在研究寫程式或者跑程式然後收集data。 所以學界常常是合作的組合, 理論的老師+寫程式的學生 or 寫程式的Group+提供idea的老師等等 而專長寫程式的人,都對打字寫程式有一定的耐心,或者是人稱的computer nerd 這些人對於特殊函數、RG等數學技巧就不會多著墨了。 不過就我畢業前物理界的趨勢來看,理論物理的研究生程式寫的好是很吃香的。 (注意,是寫的好,或者說程式功力強能解決很多問題的) 回到正題 我當時是學Fortran用的書是彭國倫,會在linux上編譯,什麼計概那些都不用學 只要你自認可以把各種數學用程式寫出來,而且會跑,就很強了。 曾經看過一本書還不錯 http://0rz.tw/z7Je2 不然去修有實作的計算物理課也行 Fortran對物理系會比較方便,比較直覺、相關的小程式都很好找 不過以業界來說,學C或者是C++這類有物件導向概念的語言會比較好 不過若是你有天不想做物理了,想靠這樣程度去跟資工數學系搶工作是很困難的, 還是要Java資結等等電腦理論課程重新打好基礎。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.227.192.166 ※ 編輯: motoman 來自: 125.227.192.166 (11/05 20:43)

11/05 22:23, , 1F
matlab不是只能寫小程式........
11/05 22:23, 1F
謝謝指正!我懂您的意思,因為matlab還是有辦法寫迴圈做大計算量的事 或許我的分類要改成:偏Coding以及偏套裝軟體的分法? ※ 編輯: motoman 來自: 125.227.192.166 (11/05 23:15)

11/05 23:36, , 2F
matlab的專長不是迴圈,mathematica和maple也都有迴圈
11/05 23:36, 2F

11/05 23:40, , 3F
要說親近,不管哪種工具在寫的時候還是得看著manual啊
11/05 23:40, 3F

11/05 23:40, , 4F
而且現在c++都有gsl了,也不會比fortran不方便
11/05 23:40, 4F

11/05 23:41, , 5F
不管是理論物理還是計算物理,懂多點工具總是好的
11/05 23:41, 5F
恩,你說的比較正確,因為我沒有認真學過ma開頭的這些軟體XD C++已經有一狗票library也沒錯。 我比較想表達的是同樣沒有程式設計背景的人, 在用mathematica直接打矩陣相乘、寫複數, 和寫if else那些語句來做同樣的事,難度還是有差的 (雖說矩陣相乘直接用library就好) fortran在寫數學式也比較簡單 ※ 編輯: motoman 來自: 125.227.192.166 (11/05 23:54)

11/05 23:54, , 6F
可惜不是每個人都有那個本事多刀流啊 科科
11/05 23:54, 6F
※ 編輯: motoman 來自: 125.227.192.166 (11/05 23:55)

11/06 00:46, , 7F
sage/octave/python/c
11/06 00:46, 7F

11/06 01:26, , 8F
真的很謝謝你的資訊~ 話說王致悅是我天文學導論老師呢~XD
11/06 01:26, 8F

11/06 02:30, , 9F
推好文 另外補充:http://tinyurl.com/3suavpw
11/06 02:30, 9F

11/06 12:00, , 10F
你有印象的是mathematica,那和matlab差很多
11/06 12:00, 10F

11/06 12:03, , 11F
mathematica在數值計算上的缺陷跟他的演算邏輯有關
11/06 12:03, 11F

11/06 12:04, , 12F
跟程式的文法沒有什麼關聯
11/06 12:04, 12F

11/06 12:04, , 13F
只要有文法書在手,大部分的平台都沒有難度差異
11/06 12:04, 13F

11/06 12:05, , 14F
要寫if else等等的控制結構,套裝軟體一樣可以辦到
11/06 12:05, 14F

11/06 12:08, , 15F
就算用fortran,真正要自己從頭寫數值方法的情況也很少
11/06 12:08, 15F

11/06 12:09, , 16F
絕大多數情況都是叫函式庫來處理,這點和matlab其實一樣
11/06 12:09, 16F

11/06 17:16, , 17F
我確定某人根本沒有真的用過Mathematica,頂多是把他裝
11/06 17:16, 17F

11/06 17:17, , 18F
起來表示他有裝過而已。打矩陣相乘有困難?寫複數有困
11/06 17:17, 18F

11/06 17:17, , 19F
難?大概是現在變難了吧,本人用2.2.3的時候倒是不知道
11/06 17:17, 19F

11/06 17:18, , 20F
難在哪裡。而且他畫圖直接出成postscript,多個plot合併
11/06 17:18, 20F

11/06 17:19, , 21F
比excel簡單多了,你就不要用fortran畫畫,哈哈哈哈
11/06 17:19, 21F

11/06 17:31, , 22F
想我還很嚴肅考慮過用fortran出.tex再compile成圖片
11/06 17:31, 22F

11/06 17:32, , 23F
不噓一下實在是歸LP火啊
11/06 17:32, 23F

11/07 02:00, , 24F
2.2.3是哪個年代的東西啊...我現在用的是8.0.1耶
11/07 02:00, 24F

11/07 02:01, , 25F
作畫常常是用fortran算完後輸出.dat再灌到mathematica
11/07 02:01, 25F

11/07 02:01, , 26F
沒辦法,gnuplot還是不如mathematica這種賣錢的東西漂亮
11/07 02:01, 26F

12/10 23:44, , 27F
推一下這篇
12/10 23:44, 27F

08/13 16:29, , 28F
難?大概是現在變難了吧 https://noxiv.com
08/13 16:29, 28F

09/17 14:27, , 29F
不噓一下實在是歸LP火 https://daxiv.com
09/17 14:27, 29F
文章代碼(AID): #1EjIs6iN (Physics)
文章代碼(AID): #1EjIs6iN (Physics)