Я ищу способ сделать операции Matrix на PHP простым и эффективным способом.Как сделать операторы PHP Matrix легким/эффективным способом
Я хочу быть в состоянии сделать основные матричные операции, как инвертирование, Multiply, определителя, сложение, вычитание, решения линейных уравнений Ax = B, транспонирование и т.д.
Я смотрю на маленьких матриц размера (Матрица, которую я хочу инвертировать, не превышает 100x100, а векторы, которые я хочу размножать/транспонировать, могут достигать 1000x1).
Я нашел пакет PEAR Math_Matrix, но он кажется пренебрегаемым (я разрабатываю с E_STRICT, и он выдает много устаревших предупреждений). Другие ссылки, которые я нашел, в основном разбиты и не обновлены.
Я нашел пакет PHP пакета Lapack, но у него нет других операций, таких как умножение или вычитание или транспонирование.
Я знаю, что другой вариант - использовать интеграцию с другим программным обеспечением, таким как Octave или Sage, однако мы не совсем уверены, что хотим это сделать (финансовая команда презирает синтаксис Python и ИТ-команду, которая беспокоится о накладных расходах Octave).
Есть ли какая-либо отдельная библиотека, которую кто-либо использует для операций такого типа, которые имеют все основные операции и обновляются?
PHP-порт JAMA является еще я знаю, что, безусловно, имеет некоторые из этих операций, но, вероятно, в равной степени от. Майкл Bommarito сделал [дополнение для полифитов] (http://php.livejournal.com/270125.html) для него, что также может быть полезно. Однако любая из этих более старых библиотек должна дать вам смелость математики –
С точки зрения Octave/Sage, я думаю, было бы очень полезно узнать, какие матрицы вы ищете. Я предполагаю, что они имеют числа с плавающей запятой и что они не будут типами, которые плохо обусловлены для инверсии численно.Использование numpy (с или без Sage) может быть опцией - но опять же, обновление вопроса с помощью конкретного примера (возможно, ссылки на него) было бы действительно полезно. Естественно, R - еще один вариант. – kcrisman
У меня еще нет матрицы для показа. Мы просто поднимаем требования/решения для предстоящего проекта =/Но да, они являются номерами с плавающей точкой. – Jimmy