11

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

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

我正在查看小型矩阵(我想求逆的矩阵最多为 100x100,而我想相乘/转置的向量可能为 1000x1)。

我找到了一个 PEAR 包 Math_Matrix,但它似乎被忽略了(我使用 E_STRICT 进行开发,它会引发许多已弃用的警告)。我发现的其他链接似乎大多已损坏且未更新。

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

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

是否有任何人用于这种具有所有基本操作并且已更新的矩阵运算的独立库?

4

2 回答 2

3

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

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

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

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

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

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

于 2013-08-31T19:01:26.790 回答
1

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

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

$inverted = my_matrix_invert($matrixArray);

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

于 2015-06-25T13:59:02.090 回答