[Python] 各種科學套件外加 VPython 重現 Mac

常用 Data Analysis 全裝好

之前介紹過在 Mac 上科學套件的大補帖, 不過馬上有高手說這其實不是很好的方式, 至少應該裝在 Python virtualenv 虛擬環境下。不過其實也沒這麼困難, 最近發現了一個很不錯的 Python distribution, 是 Continuum Analytics 這家公司出的

Anaconda

這個好處是各平台都有, 而且像是 IPython Notebook, matplotlib, numpy, pandas, PIL, SymPy, Scikit-Learn, NetworkX 等等全都裝好了! 而且 Windows/Mac/Linux 上全部都有!

繼續閱讀

[Python] IPython 的 Notebook 界面

其實我一直不怎麼喜歡用所謂的 Web 界面。因為指令列感覺就很單純、輕快, 更不要說 IPython 常常有種種原因 (其實最重大的原因就是懶得處理一些安裝問題), 有時沒有裝。所以一直無法體會很多人傳說中的 IPython 美好世界。

近日, 因使用

可愛的水蟒 (Anaconda)

這個集合了好幾個 Python 科學計算常用套件的 Python 大全, Matplotlib, Numpy, SciPy, Panda 等等全部裝好, 還附了 IPython。用一用發現, IPython 的 Notebbok 實在挺好用的! 我們來看一下有什麼令人開心的地方。

繼續閱讀

[Pythonista] iPad 上很酷的 Python 開發環境

pythonista

全功能的 Pythonista

Python 是一個簡單、全功能、強大的程式語言, 使用 Python 的人很自然會希望在任何地方都可以寫 Python 程式。一開始可能覺得, 「要是在 iOS 上有個寫 Python 的 App 就 好了, 我可以算一些簡單的東西。」現在這種 App 其實不少, 但你會發現在編輯器的使用也好, 功能上也好, 其實很難讓你有想在 iPad 或是 iPhone 上寫 Python 的衝動。因為我們也許會希望:

  1. 就是寫 Python 程式, 但要容易編輯、儲存、取用。
  2. 要可以呼叫其他 App, 完成一些自動化的工作, 比如說傳簡訊給三個同組的伙伴, 自動找十個網頁整理出結果放到 Evernote 裡等等。
  3. 可以簡單畫圖的工具, 也許可以來個函數圖形什麼的。
  4. 繼然都這樣了, 那是不是自由可以放插圖、照片, 還可以處理一下的更好。
  5. 所以說不定可以做個 iPad 遊戲了?
  6. 都到這種程度了, 是不是 iPad 的觸控啊、轉來轉去也要可以偵測使用?

好像越要越誇張, 但 iPad/iPhone 上真的有這樣的 Python 開發環境嗎? 結果真的有! 叫做 Pythonista

繼續閱讀

[Mac] 在 Mac 上裝 Python 重要科學計算套件

[建議不要用本篇方式做, 用 Anaconda 裝方便又容易維護]

在 Mac 上裝 Python 常用科學計算的套件, 不時會碰到一下這個裝不起來, 一下那個不行。好不容易裝好, 下次系統升級, 或是發現有非用不可的新版, 整個又要來一次。

最近發現有個叫 “Scipy Superpack" 的, 安裝了我們一般科學計算相關常用的套件:

  • Numpy
  • Scipy
  • Matplotlib
  • iPython
  • Pandas
  • Statsmodels
  • Scikit-Learn
  • PyMC

繼續閱讀

[Mac] 在 Mountain Lion 下裝 Python 2.7.3

[基本上本篇不太需要了, 使用 Anaconda 裝 Python 就好]

據說 Mac OS 10.8 Mountain Lion 的 Python 是 2.7.2。為什麼是據說? 那是因為網路上很多人這麼說, 但我從之前 10.7 升級上來,  Python 是 2.7.1。差這麼一點點其實本來也不太在意, 只是後來因為偷懶想裝科學計算類大補帖 SuperPack 時, 發現 2.7.1 裝會有問題, 於是只好乖乖用 Python 官網升級。

用官網的 Python 升級其實沒什麼好寫的, 雖然已經多進一步, 到了 2.7.3。一樣就是去

官網下載區

下載要的版本, 注意 Mac 有 64-bit 版和 32-bit 版, 安裝就是點兩下那種。然後官網善意的告訴你, 

關於 IDLE 和 tkinter 的重大事項

雖然也可能和你完全無關, 不過萬一要用到, 還是依說明下載合適的 Tcl/Tk。官網建議配 Mac OS 10.8, 要用 ActiveTcl 8.5.11, 還不是用寫這篇文章時最新的 ActiveTcl 8.5.12.1。所以我稍稍找了一下

ActiveTcl 8.5.11 下載區

然後下載安裝就是了。

[Sage] 判斷 U(n) 是不是一個循環群

我們準備用 Sage 來檢查 U(n) 是不是循環群。其實可以很快找出答案 (請試試), 不過因為那樣子很沒有 fu, 我們還是希望大家要試試下面的手動檢查法。

很快複習一下 U(n) 的定義。U(n) 是 group of roots mod n, 也就是

U(n) = \{ k \in \mathbb{N} | 1 \leq k < n, \gcd(k,n) = 1\}

我們以 U(50) 為例, 我們知道這元素都在 Z_{50} 中, 所以先設:

sage: G = Integers(50)

繼續閱讀