Alternative zu scipy und numpy für lineare Algebra?

8

Gibt es eine gute (kleine und leichte) Alternative zu numpy für python, um lineare Algebra zu machen? Ich brauche nur Matrizen (Multiplikation, Addition), Inversen, Transponieren und so.

Warum?

  

Ich bin es leid zu versuchen, numpy / scipy zu installieren - es ist so ein Pita zu bekommen   es funktioniert - es scheint nie richtig zu installieren (insb. seit ich habe   zwei Maschinen, ein Linux und ein Windows): Egal was ich mache: kompilieren   es oder installieren von vorgefertigten Binärdateien. Wie schwer ist es, a zu machen   "normales" Installationsprogramm, das einfach funktioniert?

    
drozzy 27.11.2011, 21:21
quelle

6 Antworten

1

Ich höre dich, ich war auch dort. Numpy / scipy sind wirklich wundervolle Bibliotheken, und es ist schade, dass Installationsprobleme ihre Verwendung etwas behindern.

Soweit ich weiß, gibt es auch nicht viele gute (leichter zu bedienende) Optionen. Die einzige möglicherweise einfachere Lösung für Sie, die ich kenne, ist das "Noch ein weiteres Matrix-Modul" (Siehe NumericAndScientific/Bibliotheken auf python.org). Mir ist der Status dieser Bibliothek nicht bekannt (Stabilität, Geschwindigkeit usw.). Die Möglichkeit ist, dass auf lange Sicht Ihre Bedürfnisse aus einer einfachen Bibliothek heraus wachsen und Sie am Ende trotzdem numpy installieren werden.

Ein weiterer Nachteil bei der Verwendung anderer Bibliotheken ist, dass Ihr Code möglicherweise nicht mit numpy kompatibel ist. Dies ist die De-facto-Bibliothek für lineare Algebra in Python. Beachten Sie auch, dass numpy stark optimiert wurde - Geschwindigkeit ist etwas, was Sie nicht mit anderen Bibliotheken erreichen können.

Ich würde mich wirklich mehr darum bemühen, die Probleme bei der Installation / Einrichtung zu lösen. Die Alternativen sind möglicherweise viel schlimmer.

    
jsalonen 27.11.2011, 21:50
quelle
2

Angesichts Ihrer Frage habe ich beschlossen, den Matrixcode, aus dem ich ihn benutzt habe, einfach herauszufiltern und an einen öffentlich zugänglichen Ort zu stellen -

Also, das ist im Grunde eine reine Python-Ad-hoc-Implementierung einer Matrix-Klasse, die Addition, Multiplikation, Matrixdeterminante und Matrixinversion durchführen kann - sollte von Nutzen sein -

Da es sich um reinen Python handelt, und überhaupt nicht mit Performance behaftet ist, ist es für echte Berechnungen ungeeignet - aber es ist gut genug, um mit Matrizen auf interaktive Weise herumzuspielen, oder wo die Matrixalgebra bei weitem nicht der kritische Teil ist des Codes.

Das Repository ist hier, Ссылка

Und Sie können es direkt von hier herunterladen: Ссылка

    
jsbueno 27.11.2011 22:14
quelle
1

Haben Sie jemals Anakonda ausprobiert? Ссылка Dies sollte es ermöglichen, diese Pakete leicht zu installieren.

conda install -c conda-forge scipy

conda install -c conda-forge numpy

Abgesehen davon, dass Sie eine einfache Möglichkeit haben, sie unter Linux / Mac / Linux zu installieren, erhalten Sie auch die Verwaltung virtueller Umgebungen

    
Cesc 11.11.2017 20:10
quelle
0

Ich habe manchmal dieses Problem .. nicht sicher, ob das funktioniert, aber ich installiere es oft mit meinem eigenen Konto dann versuche es in einer IDE (komodo in meinem Fall) und es funktioniert nicht. Wie dein Problem sagt es, es kann es nicht finden. Die Art, wie ich das löse, ist die Verwendung von sudo -i , um in das root zu gelangen und es von dort aus zu installieren.

Wenn das nicht funktioniert, können Sie Ihre Antwort aktualisieren, um ein bisschen mehr Informationen über die Art des Systems (linux, mac, windows), die Version von python / numpy und wie Sie darauf zugreifen, damit es einfacher wird zu helfen.

    
Lostsoul 27.11.2011 21:44
quelle
0

Für Leute, die immer noch das Problem haben: Versuchen Sie Python Portable: Ссылка

    
newhelpfriend 11.02.2014 15:07
quelle
0

Ich bin überrascht, dass niemand SymPy erwähnt hat, der vollständig in Python geschrieben ist und keine Kompilierung wie Numpy erfordert.

Es gibt auch tinynumpy , was eine reine Python-Alternative zu Numpy mit eingeschränkten Funktionen ist.

    
eadmaster 20.01.2018 19:01
quelle

Tags und Links