如何以简单/高效的方式进行PHP矩阵运算


How to do PHP Matrix Operations in an easy/efficient way

我正在寻找一种在PHP中以简单/高效的方式进行矩阵运算的方法。

我想能够做基本的矩阵运算,如反转,乘法,行列式,加法,减法,求解线性方程组Ax=B,转置等。

我在看小尺寸的矩阵(我想逆的矩阵最多是100x100,我想乘/转置的向量可能是1000x1)。

我发现了一个PEAR包Math_Matrix,但它似乎被忽视了(我使用E_STRICT开发,它抛出了许多不推荐使用的警告)。我发现的其他链接似乎大多已断开且未更新。

我找到了Lapack PHP包,但它没有其他操作,比如乘法、减法或转置。

我知道另一种选择是与Octave或Sage等其他软件集成,但我们还不太确定是否要这样做(财务团队鄙视Python语法,IT团队担心Octave开销)。

有没有一个独立的库,任何人都可以用来进行这种矩阵运算,它包含了所有的基本运算并进行了更新?

看看http://projects.moongate.ro/octave-daemon/

一些可以减少开销并说服IT团队的功能:

  • 守护进程可以通过网络访问,这意味着如果您决定需要,您可以在单独的服务器上移动所有Octave进程

  • Octave进程是持久的,这意味着:过去加载或计算的任何数据仍然可以用于新连接的客户端

  • 新Octave进程的启动时间不会影响客户端。

  • 提供Octave矩阵和PHP数组之间的转换。

大约一年后,我将回答自己的问题。

我们选择了另一个选项,我们用C++编写了自己的小库,并对其进行了编译,并将其作为扩展添加到php中。这产生了最好的性能,代码也一直很漂亮。

$inverted = my_matrix_invert($matrixArray);

想要做这类事情的人应该看看这里:http://www.php-cpp.com