[問題] Mathematica計算效率 函數式語言

作者: Absolitude (別再睡了起床了愛麗)   2016-11-30 15:00:01
最早是因為我需要用的一個小軟體是用Mathematica寫的所以使用Mathematica作計算,
但是之前的工作基本上大部分都可以用現成的範例檔做簡單的修改完成,我也就一直沒
有花時間去了解Mathematica本身,最近遇到一些問題所以去找資料來看,找到一本
Mathematica cookbook ( http://shop.oreilly.com/product/9780596521004.do )才知
道原來Mathematica是用一種叫函數式的語法寫的,我幾乎完全沒有程式理論的基礎,第
一次知道原來程式語言還有不同類型,雖然這本書裡有範例說明在Mathematica裡使用函
數式的風格來寫可以提升效率減少計算時間,不過在網路上找資料有提到函數式語法本身
運算就會比一般的算法還要慢,想請問如果是想做大量數值運算我應該繼續使用
Mathematica還是說用其他的語言會比較好? 有板友研究過這個問題嗎?
感恩~
作者: LPH66 (-6.2598534e+18f)   2016-11-30 18:39:00
函數式語法本身跟計算快慢並沒有直接關連, 要看實作MMA 我不太清楚實作如何, 但應該沒有很糟才是使用函數式風格寫程式加速的一個簡單實例可看本板#1KbStm3l那裡也有提到如果真的數值計算太多的話還有 Compile 這大絕它會把函數式的 MMA 程式編譯成類似程序式的機械碼程式那種不可變的值是純函數語言如 Haskell 等才會這樣MMA 有變數, 也有一些類似程序式的迴圈結構 (For, Do 等)所以 MMA 其實不怎麼純函數, 但相對也沒那些負擔
作者: Absolitude (別再睡了起床了愛麗)   2016-12-01 05:13:00
原來如此! 那就沒問題了! 謝謝!

Links booklink

Contact Us: admin [ a t ] ucptt.com