rindow/rindow-math-matrix

The fundamental package for scientific matrix operation

2.0.4 2024-04-29 06:29 UTC

README

Status: Build Status Downloads Latest Stable Version License

Rindow Math Matrix is the fundamental package for scientific matrix operation

  • A powerful N-dimensional array object
  • Sophisticated (broadcasting) functions
  • BLAS functions
  • Functions useful for machine learning
  • Tools for integrating C/C++ through the FFI (OpenBLAS,Rindow-Matlib,CLBlast etc.)
  • GPU support on your laptop without n-vidia (OpenCL with Intel,AMD etc.)
  • Useful linear algebra and random number capabilities

Please see the documents on Rindow mathematics project web pages.

Requirements

  • PHP 8.1 or PHP8.2 or PHP8.3
  • PHP7.2, PHP7.3, PHP7.4 and PHP 8.0 are not supported in this release. Please use Release 1.1, which supports them.

Strong recommend

You can perform very fast N-dimensional array operations in conjunction

Please see the rindow-math-matrix-matlibffi to setup plug-in and pre-build binaries.

How to Setup

Set it up using composer.

$ composer require rindow/rindow-math-matrix

You can use it as is, but you will need to speed it up to process at a practical speed.

And then, Set up pre-build binaries for the required high-speed calculation libraries. Click here for details.

$ composer require rindow/rindow-math-matrix-matlibffi

Sample programs

<?php
// sample.php
include __DIR__.'/vendor/autoload.php';
use Rindow\Math\Matrix\MatrixOperator;

$mo = new MatrixOperator();
$a = $mo->array([[1,2],[3,4]]);
$b = $mo->array([[2,3],[4,5]]);
$c = $mo->cross($a,$b);
echo $mo->toString($c,indent:true)."\n";
$ php sample.php
[
 [10,13],
 [22,29]
]