So machen Sie PHP Matrix Operations auf einfache und effiziente Weise

9

Ich suche nach einer Möglichkeit, Matrixoperationen in PHP einfach und effizient durchzuführen.

Ich möchte in der Lage sein, die grundlegenden Matrixoperationen wie Invertieren, Multiplizieren, Determinieren, Addieren, Subtrahieren, Lösen linearer Gleichungen Ax = B, Transponieren usw. durchzuführen.

Ich betrachte kleine Matrizen (Die Matrix, die ich invertieren möchte, ist höchstens 100x100, und die Vektoren, die ich multiplizieren / transponieren möchte, können 1000x1 sein).

Ich habe ein PEAR-Paket Math_Matrix gefunden, aber es scheint vernachlässigt (ich entwickle mit E_STRICT und es gibt viele veraltete Warnungen). Die anderen Links, die ich gefunden habe, scheinen größtenteils kaputt und nicht aktualisiert zu sein.

Ich habe das Lapack-PHP-Paket gefunden, aber es hat keine anderen Operationen wie Multiplikation oder Subtraktion oder Transponieren.

Ich weiß, dass eine andere Option die Integration mit anderer Software wie Octave oder Sage ist, aber wir sind nicht ganz sicher, ob wir das noch tun wollen (das Finanzteam verachtet die Python-Syntax und das IT-Team macht sich Sorgen um den Octave-Overhead) .

Gibt es eine eigenständige Bibliothek, die jemand für diese Art von Matrixoperationen verwendet, die alle grundlegenden Operationen enthält und aktualisiert wird?

    
Jimmy 21.08.2013, 16:23
quelle

2 Antworten

2

Sehen Sie sich Ссылка

an

Einige der Funktionen, die den Overhead reduzieren und das IT-Team überzeugen können:

  • Der Daemon ist über das Netzwerk zugänglich. Das bedeutet, dass Sie alle Octave-Prozesse auf einem separaten Server verschieben können, falls Sie sich dazu entscheiden sollten

  • Octave-Prozesse sind persistent, was bedeutet, dass alle Daten, die in der Vergangenheit geladen oder berechnet wurden, weiterhin für neu verbundene Clients verfügbar sind

  • Startzeiten für neue Octave-Prozesse haben keine Auswirkungen auf Clients.

  • Bietet Konvertierungen zwischen Octave-Matrizen und PHP-Arrays.

Charity Leschinski 31.08.2013 19:01
quelle
0

Ich beantworte meine eigene Frage etwa ein Jahr später.

Wir haben uns für eine andere Option entschieden, wir haben unsere eigene kleine Bibliothek in C ++ programmiert, und wir haben sie kompiliert und sie php als Erweiterung hinzugefügt. Dies erzeugte die beste Leistung und der Code blieb schön.

%Vor%

Leute, die solche Dinge tun wollen, sollten hier nachschauen: Ссылка

    
Jimmy 25.06.2015 13:59
quelle

Tags und Links