Recommend this page to a friend! |
Download .zip |
Info | Example | View files (73) | Download .zip | Reputation | Support forum | Blog (1) | Links |
Last Updated | Ratings | Unique User Downloads | Download Rankings | |||||
2021-06-14 (2 months ago) | Not yet rated by the users | Total: 36 | All time: 10,219 This week: 208 |
Version | License | PHP version | Categories | |||
np 0.0.1 | Custom (specified... | 8 | Math, PHP 8, FFI |
Description | Author | |
This package can manipulate matrices with Lapack and OpenBlas libraries. Recommendations Recommendation for a PHP class to regrid 2d matrix Innovation Award |
----------- Lite, Fast & Memory Efficient Mathematical PHP library for scientific computing
Np(numphp) is a library that provides objects for computing large sets of numbers in PHP.
Install Np into your project with Composer:
$ composer require ghostjat/np
require __DIR__ . '/../vendor/autoload.php';
use Np\matrix;
$ta = matrix::randn(1000, 1000);
$tb = matrix::randn(1000, 1000); // to generate random 2d matrix
$ta->dot($tb); // do a dot operation on given matrix
$ta->getMemory(); // get memory use
$ta->time(); // get time
/
* 7.7mb
* Time-Consumed:- 0.18390893936157
*/
WARNING: This module is in its early stages and should be considered a Work in Progress.The interface is not final and may change in the future.
Make sure you have all the necessary tools installed such as FFI, libblas, liblapacke.
System Conf:- Intel(R) Core(TM) i3-2370M CPU @ 2.40GHz 64bit Memory:- 8GB php:- 8.0.5 64bit
Data Size :- [500x500] Revolutions:- 5 Iterations:- 5
| subject | mem_peak | best | mode | mean | worst | stdev | |----------|----------|--------|--------|--------|--------|-------| | sum | 3.606mb | 0.014s | 0.014s | 0.015s | 0.015s | 0.000s| | multiply | 8.589mb | 0.070s | 0.071s | 0.071s | 0.071s | 0.000s| | lu | 4.648mb | 0.064s | 0.065s | 0.065s | 0.068s | 0.001s| | eign | 2.801mb | 0.085s | 0.086s | 0.086s | 0.088s | 0.001s| | cholesky | 1.621mb | 0.001s | 0.001s | 0.001s | 0.001s | 0.000s| | svd | 3.706mb | 0.126s | 0.126s | 0.127s | 0.133s | 0.002s| | normL2 | 1.621mb | 0.003s | 0.003s | 0.003s | 0.003s | 0.000s| | Pinverse | 4.903mb | 0.156s | 0.156s | 0.158s | 0.163s | 0.003s| | inverse | 1.819mb | 0.016s | 0.016s | 0.016s | 0.017s | 0.000s| | normL1 | 1.621mb | 0.001s | 0.001s | 0.001s | 0.001s | 0.000s| | dotMatrix| 3.769mb | 0.006s | 0.006s | 0.006s | 0.006s | 0.000s| | det | 4.662mb | 0.066s | 0.066s | 0.067s | 0.067s | 0.000s| | rref | 1.529mb | 9.227s | 9.271s | 9.309s | 9.427s | 0.072s| | ref | 1.818mb | 0.007s | 0.008s | 0.008s | 0.008s | 0.000s| | clip | 8.516mb | 0.073s | 0.076s | 0.075s | 0.077s | 0.002s| | clipUpper| 8.516mb | 0.055s | 0.056s | 0.057s | 0.059s | 0.002s| | clipLower| 8.516mb | 0.055s | 0.058s | 0.057s | 0.059s | 0.002s| | joinBelow| 4.517mb | 0.027s | 0.027s | 0.027s | 0.028s | 0.000s| | transpose| 8.504mb | 0.057s | 0.057s | 0.058s | 0.059s | 0.001s| | joinLeft | 4.511mb | 0.025s | 0.025s | 0.026s | 0.027s | 0.001s| | poisson | 1.590mb | 0.029s | 0.029s | 0.029s | 0.030s | 0.000s| | gaussian | 20.203mb | 0.056s | 0.056s | 0.056s | 0.056s | 0.000s| | randn | 1.528mb | 0.017s | 0.017s | 0.017s | 0.017s | 0.000s| | uniform | 1.528mb | 0.021s | 0.021s | 0.021s | 0.022s | 0.000s| | multiply | 4.507mb | 0.042s | 0.042s | 0.043s | 0.045s | 0.001s|
Previous BenchMark
| benchmark | subject | set | revs | its | mem_peak | mode | rstdev | |---------------------------|-----------|-----|------|-----|----------|---------|----------| | eignBench | eign | 0 | 1 | 5 | 2.699mb | 0.309s | ±4.51% | | svdBench | svd | 0 | 1 | 5 | 3.604mb | 0.148s | ±3.60% | | poissonMatrixBench | poisson | 0 | 1 | 5 | 11.738mb | 0.105s | ±7.07% | | gaussianMatrixBench | gaussian | 0 | 1 | 5 | 11.738mb | 0.112s | ±17.12% | | randMatrixBench | randn | 0 | 1 | 5 | 1.429mb | 0.048s | ±2.37% | | uniformMatrixBench | uniform | 0 | 1 | 5 | 1.429mb | 0.063s | ±8.16% | | matrixTransposeBench | transpose | 0 | 1 | 5 | 8.431mb | 0.120s | ±1.32% | | rrefBench | rref | 0 | 1 | 5 | 1.501mb | 28.513s | ±1.90% | | refBench | ref | 0 | 1 | 5 | 1.731mb | 0.023s | ±7.24% | | sumMatrixBench | sum | 0 | 1 | 5 | 2.434mb | 0.051s | ±3.59% | | matrixPseudoInverseBench | inverse | 0 | 1 | 5 | 4.775mb | 0.222s | ±13.76% | | matrixInverseBench | inverse | 0 | 1 | 5 | 1.731mb | 0.032s | ±127.50% | | dotMatrixBench | dotMatrix | 0 | 1 | 5 | 3.656mb | 0.013s | ±27.94% | | matrixL1NormBench | normL1 | 0 | 1 | 10 | 1.525mb | 0.001s | ±0.80% | | matrixL2NormBench | normL2 | 0 | 1 | 10 | 1.525mb | 0.003s | ±1.63% |
The code is licensed MIT and the documentation is licensed CC BY-NC 4.0.
Shubham Chaudhary <ghost.jat@gmail.com>
Files |
File | Role | Description | ||
---|---|---|---|---|
benchmarks (2 directories) | ||||
examples (2 files) | ||||
src (5 files, 4 directories) | ||||
composer.json | Data | Auxiliary data | ||
LICENSE | Lic. | License text | ||
np.png | Icon | Icon image | ||
npbm.png | Screen | Auxiliary data | ||
php.ini | Data | Auxiliary data | ||
phpbench.json | Data | Auxiliary data | ||
phpdoc.xml | Data | Auxiliary data | ||
preload.php | Aux. | Auxiliary script | ||
README.md | Doc. | Documentation | ||
SECURITY.md | Data | Auxiliary data |
Files | / | benchmarks | / | matrix |
File | Role | Description | ||
---|---|---|---|---|
arithmetic (3 files) | ||||
decomposition (4 files) | ||||
functions (6 files) | ||||
lineAlgb (6 files) | ||||
random (4 files) | ||||
reduction (2 files) | ||||
signalProcessing (1 file) | ||||
special (3 files) | ||||
structural (3 files) | ||||
trigonometric (3 files) |
Files | / | benchmarks | / | matrix | / | arithmetic |
File | Role | Description |
---|---|---|
matrixScalarMultiplyBench.php | Class | Class source |
matrixVectorMultiplyBench.php | Class | Class source |
sumMatrixBench.php | Class | Class source |
Files | / | benchmarks | / | matrix | / | decomposition |
File | Role | Description |
---|---|---|
choleskyBench.php | Class | Class source |
eignBench.php | Class | Class source |
luBench.php | Class | Class source |
svdBench.php | Class | Class source |
Files | / | benchmarks | / | matrix | / | functions |
File | Role | Description |
---|---|---|
absMatrixBench.php | Class | Class source |
expMatrixBench.php | Class | Class source |
logMatrixBench.php | Class | Class source |
sqrtMatrixBench.php | Class | Class source |
squareMatrixBench.php | Class | Class source |
sumMatrixBench.php | Class | Class source |
Files | / | benchmarks | / | matrix | / | lineAlgb |
File | Role | Description |
---|---|---|
dotMatrixBench.php | Class | Class source |
matrixDeterminantBench.php | Class | Class source |
matrixInverseBench.php | Class | Class source |
matrixL1NormBench.php | Class | Class source |
matrixL2NormBench.php | Class | Class source |
matrixPseudoInverseBench.php | Class | Class source |
Files | / | benchmarks | / | matrix | / | random |
File | Role | Description |
---|---|---|
gaussianMatrixBench.php | Class | Class source |
poissonMatrixBench.php | Class | Class source |
randMatrixBench.php | Class | Class source |
uniformMatrixBench.php | Class | Class source |
Files | / | benchmarks | / | matrix | / | reduction |
File | Role | Description |
---|---|---|
refBench.php | Class | Class source |
rrefBench.php | Class | Class source |
Files | / | benchmarks | / | matrix | / | signalProcessing |
File | Role | Description |
---|---|---|
matrixConvolveBench.php | Class | Class source |
Files | / | benchmarks | / | matrix | / | special |
File | Role | Description |
---|---|---|
matrixClippingBench.php | Class | Class source |
matrixClippingLowerBench.php | Class | Class source |
matrixClippingUpperBench.php | Class | Class source |
Files | / | benchmarks | / | matrix | / | structural |
File | Role | Description |
---|---|---|
matrixJoinBelowBench.php | Class | Class source |
matrixJoinLeftBench.php | Class | Class source |
matrixTransposeBench.php | Class | Class source |
Files | / | benchmarks | / | matrix | / | trigonometric |
File | Role | Description |
---|---|---|
cosMatrixBench.php | Class | Class source |
sinMatrixBench.php | Class | Class source |
tanMatrixBench.php | Class | Class source |
Files | / | benchmarks | / | vector |
File | Role | Description | ||
---|---|---|---|---|
functions (2 files) | ||||
signalProcessing (1 file) | ||||
trigonometric (1 file) |
Files | / | benchmarks | / | vector | / | functions |
File | Role | Description |
---|---|---|
productVectorBench.php | Class | Class source |
sumVectorBench.php | Class | Class source |
Files | / | benchmarks | / | vector | / | signalProcessing |
File | Role | Description |
---|---|---|
vectorConvolveBench.php | Class | Class source |
Files | / | benchmarks | / | vector | / | trigonometric |
File | Role | Description |
---|---|---|
cosVectorBench.php | Class | Class source |
Files | / | examples |
File | Role | Description |
---|---|---|
matrix.php | Example | Example script |
vector.php | Example | Example script |
Files | / | src |
File | Role | Description | ||
---|---|---|---|---|
core (5 files) | ||||
decompositions (4 files) | ||||
exceptions (6 files) | ||||
reductions (2 files) | ||||
convolve.php | Class | Class source | ||
linAlg.php | Class | added | ||
matrix.php | Class | Class source | ||
ops.php | Class | added | ||
vector.php | Class | Class source |
Files | / | src | / | core |
File | Role | Description |
---|---|---|
blas.h | Data | Auxiliary data |
blas.php | Class | Class source |
lapack.h | Data | Auxiliary data |
lapack.php | Class | Class source |
nd.php | Class | Class source |
Files | / | src | / | decompositions |
File | Role | Description |
---|---|---|
cholesky.php | Class | Class source |
eigen.php | Class | Class source |
lu.php | Class | Class source |
svd.php | Class | Class source |
Files | / | src | / | exceptions |
File | Role | Description |
---|---|---|
dimensionalityMismatch.php | Class | Class source |
dtypeException.php | Class | Class source |
invalidArgumentException.php | Class | Class source |
message.php | Class | temp |
npException.php | Class | Class source |
runtimeException.php | Class | Class source |
Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
100% |
|
|
Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.