2011-11-27 95 views
8

有沒有一種好的(小而輕)替代python的numpy,做線性代數? 我只需要矩陣(乘法,加法),逆,轉置等。替代線性代數的scipy和numpy?

爲什麼?

我厭倦了試圖安裝numpy的/ SciPy的 - 它是這樣的皮塔得到 它的工作 - 它似乎永遠不會正確地安裝(特別,因爲我有 兩臺機器,一個Linux和一個窗口。 ):不管我做什麼:編譯 它或從預先構建的二進制文件安裝。製作 「正常」的安裝程序有多難?

+1

也許有人可以幫助你解決安裝問題。你有沒有嘗試超級包裝([這裏](http://sourceforge.net/projects/numpy/files/NumPy/1.6.1/)和[這裏](http://sourceforge.net/projects/scipy/files/) SciPy的/ 0.10.0 /))?如果是這樣,出了什麼問題? –

+0

我確實嘗試過 - 沒有任何問題。它安裝得很好 - 但我不能從python「import numpy」 - 因爲它找不到它! – drozzy

+0

你需要執行大量的計算,還是隻需要一堆示例矩陣?我剛剛在純Python中編寫了一些矩陣操作代碼。這是毫無用處的表現,但除此之外,我可以在某處公開它。 – jsbueno

回答

1

我聽到你的聲音,我也一直在那裏。 Numpy/scipy是非常棒的圖書館,可惜安裝問題在使用過程中經常遇到。

此外,據我瞭解,沒有很多好(更容易使用)選項。我所知道的唯一可能更簡單的解決方案是"Yet Another Matrix Module"(請參閱在python.org上列出的NumericAndScientific/Libraries)。我不知道這個庫的狀態(穩定性,速度等)。可能的情況是,從長遠來看,您的需求將超過任何簡單的庫,並且您最終會安裝numpy。

使用任何其他庫的另一個明顯缺點是,您的代碼可能會與numpy不兼容,這恰好是python中線性代數的實際庫。還要注意,numpy已經被大量優化 - 速度是你不能保證與其他庫一起獲得的東西。

我真的只是在解決安裝/設置問題上付出更多的努力。替代品可能要糟得多。

+3

耶,我放棄了在窗戶上。不得不啓動Ubuntu .. – drozzy

+0

在那裏也是如此。 Python + Windows吸引到了太多的地方。 – jsalonen

+0

一直使用python + windows - 從來沒有問題。關於這個numpy/scipy組合的東西真的搞砸了。 – drozzy

0

我有時會遇到這個問題..不知道這是否正常,但我經常使用我自己的帳戶安裝它,然後嘗試在IDE(komodo在我的情況下)運行它,它不起作用。像你的問題一樣,它說它找不到它。我解決這個問題的方法是使用sudo -i進入根目錄,然後從那裏安裝。

如果這不起作用,你可以更新你的答案,以提供更多關於你使用的系統類型(linux,mac,windows),python/numpy版本以及你如何訪問它的信息更容易幫助。

2

鑑於你的問題,我決定只分解出從我用它的矩陣碼,並把它放在一個可公開訪問的地方 -

所以,這是基本的一個純Python的ad-hoc實施可以執行加法,乘法,矩陣行列式和矩陣求逆的矩陣類 - 應該有一些用處 - 因爲它是純粹的python,並且根本不擔心性能,所以它不適用於任何實際計算 - 但它是好的足以以交互方式與矩陣一起玩,或者矩陣代數遠不是代碼的關鍵部分。

庫是在這裏, https://bitbucket.org/jsbueno/toymatrix/

而且你可以從這裏直接下載: https://bitbucket.org/jsbueno/toymatrix/downloads/toymatrix_0.1.tar.gz

+0

謝謝,然而numpy真的很方便。 – drozzy

1

有你曾經嘗試過水蟒? https://www.anaconda.com/download 這應該允許它輕鬆安裝這些軟件包。

conda install -c conda-forge scipy

conda install -c conda-forge numpy

除了提供您一個簡單的方法來安裝它們在Linux/MAC/Linux的你會得到virtualenviroments管理太

0

我很驚訝,沒有人提到SymPy,這是完全用Python編寫,不需要像Numpy那樣編譯。

還有tinynumpy,這是一個純粹的python替代Numpy與有限的功能。