Tuesday, October 14, 2008

A tool for calculating branching numbers

之前在 RWTH-Aachen 時,我的研究室 Linux-PC 裡有一支小程式,可以計算一個 branching vector 對應的 branching number。回到台灣以後,那邊的帳號已經失效了,所以勢必得自己搞出一個計算 branching number 的程式。

其實去年年底之前,我就已經在某個程式裡寫出一個簡單計算 branching number 的 function 了。今天下午稍微改寫一下,就輕鬆得到看起來跟 Peter 那邊一模一樣的程式。程式碼可於這裡下載。其實算法很簡單,只不過是利用十分逼近法去求反轉特徵多項式的根值罷了。

在 Linux OS 底下,可以使用 gcc br.c -lm -o br 得到執行檔 br,然後將它移動至 /bin 底下,這樣子所有的使用者都可以在任何地方輸入 "br ",就可以得到 對應的 branching number 了。單純的 gcc 指令會出狀況,好像是因為 math.h 裡面沒有 pow() 這個函式的緣故。改用 gcc -lm 或是直接用 g++ 硬做都可以成功編譯。

至於使用方式呢?只要在 command line 輸入 br 和 branching vector 再按下 return 就可以了。比如說,輸入 "br 1 1 1 1",當然就是得到 4 啦,而輸入 "br 1 2" 就可以得到跟黃金比例的比值 1.61803401...。至於精準度,我只有設小數點後八位,應該是夠用了。

No comments: