Calculate the inverse of a matrix in PHP

Today I have released NumPHP 1.0.0-dev7. It contains the possibility to calculate the inverse of an invertible matrix in PHP. With a small example I would like to show how to use this function.

Example

I assume that NumPHP is installed.

use NumPHP\Core\NumArray;
use NumPHP\LinAlg\LinAlg;

$matrix = new NumArray(
    [
        [-3,   4, 7/6],
        [ 2, 0.1,   0],
        [23,  -5,   8]
    ]
);

$inverse = LinAlg::inv($matrix);
I have build a Symfony Command for this example under NumPHP-examples. The command has the following output
Matrix:
NumArray([
  [-3, 4, 1.1666666666667],
  [2, 0.1, 0],
  [23, -5, 8]
])

Inverse:
NumArray([
  [-0.0099071207430341, 0.46852425180599, 0.0014447884416925],
  [0.19814241486068, 0.62951496388029, -0.028895768833849],
  [0.15232198142415, -0.95356037151703, 0.10278637770898]
])

Time for calculation: 0.0073750019073486 sec

Compare with Numpy

To test my solution I have created a short numpy script with the same problem

import time
import numpy

A = numpy.array([[-3., 4., 7./6.], [2., 0.1, 0.], [23., -5., 8.]])

time1 = time.time()
inv = numpy.linalg.inv(A)
timeDiff = time.time()-time1

print("Inverse")
print(inv)
print("Time for calculation in sec:")
print "%.16f" % timeDiff
with the following output
Inverse
[[-0.00990712  0.46852425  0.00144479]
 [ 0.19814241  0.62951496 -0.02889577]
 [ 0.15232198 -0.95356037  0.10278638]]
Time for calculation in sec:
0.0000939369201660
My inverted matrix is correct but numpy is 79 times faster:(