Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Rindow Math Matrix Laravel Package

rindow/rindow-math-matrix

View on GitHub
Deep Wiki
Context7
2.1.2

Release Notes: Version 2.1.2

Bug Fixes:

  • Replaced instances of iamin and omatcopy, which are not available on macOS, with alternative functions.
  • Addressed an issue where astype tests were failing on macOS arm64.
  • Fixed a bug where the svd function would not work in specific cases.
2.1.1

Fix Warrings

  • We made changes so that warning errors from the rindow-math-matrix command don't appear during installation.
2.1.0

Release Notes: Version 2.1.0

New PHP Support

  • Added support for PHP 8.4.
  • Compatible with PHP 8.1, 8.2, 8.3, and 8.4.

New Functions

  • masking: Masks a numerical array with a boolean array.
  • cumsumb: An extended version of the cumsum function.
  • bandpart (integer support): Added integer support to the bandpart function.
  • gatherb: An extended version of the gather function.
  • einsum: A general version of einsum. It has high flexibility in the formulas it can process but is slow.
  • einsum4p1: A limited version of the einsum function. It can only compute 4+1 dimensional arrays but is fast.

Preview Functions

These may change or be removed in future releases.

  • topk: The top_k function.
  • gathernd: The gathernd function.

Backward Compatibility

  • Compatible with version 2.0.

Supported Platforms

  • Depends on the supported platforms of the extension module. In basic mode with PHP only, it is platform-independent.
  • Due to issues with the rindow-math-buffer-ffi module on macOS, only the basic mode with PHP is currently supported on macOS. It is possible to develop and replace with a buffer-compatible module that works on macOS.
1.1.1

Compatible with new generation PHP extensions

  • Supported PHP Extension created for Rindow Math Matrix version 2.
  • New extensions now use name-based DLL calls on Windows. It can handle changes in OpenBLAS and DLL versions.

Interface remains V1.1

  • Rindow Neuralnetworks v1 works because the interface does not change.

Fully compatible for THE LEGACY with PHP7.x and PHP8.0

  • Windows and Linux binaries of rindow_openblas, rindow_opencl, and rindow_clblast can be downloaded for PHP7.2, 7.3, 7.4, and 8.0.
  • Works on PHP 7.x and PHP8.0.
2.0.4

Added boot log function

Added -v option to vendor/bin/rindow-math-matrix command. Executing the command with the -v option will display the error log when loading the driver. This will help you resolve the issue if you cannot find the reason why the service level becomes Basic.

2.0.3

Complete review of type definitions

  • Type definitions were applied to variables and arguments that did not have type definitions, a legacy of php7.

Add BLAS function

  • Added rotm, rotmg

Bug when error occurs

  • Fixed minor bugs that occur when errors occur
2.0.2

Fix Selector Test miss case

2.0.1

Added command to check status

You can check the service level and driver loading status with the following command.

$ vendor/bin/rindow-math-matrix
Service Level   : Accelerated
Buffer Factory  : Rindow\Math\Buffer\FFI\BufferFactory
BLAS Driver     : Rindow\OpenBLAS\FFI\Blas
LAPACK Driver   : Rindow\OpenBLAS\FFI\Lapack
Math Driver     : Rindow\Matlib\FFI\Matlib
OpenCL Factory  : Rindow\OpenCL\FFI\OpenCLFactory
CLBlast Factory : Rindow\CLBlast\FFI\CLBlastFactory

2.0.0

Summary:

  • The default access method for external libraries has been changed from PHP Extension to FFI.
    • This eliminates the need for individual support for each PHP version, operating system, and external library version.
    • PHP Extension can still be used for environments where FFI is not available, but it will not be actively updated in the future.
    • Modules for loading external libraries are now in plugin format and can be replaced. Plugins can be used to switch between FFI and PHP Extension.
  • The data serialization method has been changed. The output format has also been changed.
    • In the old format, the PHP class name was directly embedded in the storage format, which made it difficult to flexibly extend the functionality.
    • In the new format, keywords are embedded.
  • Support for complex number functions in the BLAS library has been added.
    • A complex number data type has been supported. However, this is currently only for the BLAS library, not all functions.
  • The syntax for specifying array subscript ranges has changed.
    • In version 1, the method to specify elements 0 to 4 was [0,4], but in version 2 it is specified as [0,5]. This is to match the notation of other mathematical libraries.
    • You can specify the version 1 style with NDArrayPhp::$rangeStyle and NDArrayCL::$rangeStyle. You can explicitly declare that it is in the version 2 style using the R function. Specify as R(0,5).
      • RANGE_STYLE_DEFAULT: Default version 2 style
      • RANGE_STYLE_1: Version 1 style
      • RANGE_STYLE_FORCE2: Force R function style
  • Automatic data type detection has been abolished in the array() function. The default is fixed to float32. If you want to use a data type other than the default, please specify it explicitly.
  • With the introduction of complex numbers, the functions amax and amin now return the absolute value.
  • With the introduction of complex numbers, the conj option has been added and the order of arguments for some functions has changed. Please use named arguments.
  • New functions have been added.
    • omatcopy, pow (function changed), notEqual

Further details:

  • FFI: Foreign Function Interface. It allows PHP to call functions written in other languages, such as C.
  • Serialization: The process of converting data into a format that can be stored or transmitted.
  • Complex numbers: Numbers that have both a real and imaginary part.
  • Named arguments: Arguments that are passed to a function by name, rather than by position.

Compatibility:

  • Version 2.0 is not compatible with version 1.0 in many ways.
  • If you are using version 1.0, you will need to make changes to your code in order to use version 2.0.
1.2.7

Bugfix:

  • LinearAlgebra::gemm() - Fixed a bug that prevented using float64 data without specifying an output buffer
1.2.6

fix for OpenCL on PHP8.2

1.2.5

Support PHP8.2.

Functionality has not changed.

1.2.4

Fixed a typo in the OpenCL device search option in MatrixOperator::laAccelerated()

Usage is as follows:

  • The 'device' option contains two numbers separated by a comma. The first is the platform, the second is the device. For example,['device'=>'0,1'].
  • The 'deviceType' option contains one string of device type. Specify 'CPU' or 'GPU'. For example, ['deviceType'=>'GPU'].
  • Both of these options cannot be specified at the same time.
1.2.3

The OpenCL extensions that were previously available only on Windows have been changed so that they can be used on Linux as well.

Libclc, the linux standard open source OpenCL hardware support runtime, has many bugs and we have incorporated changes to work around them. However, since libclc does not work properly in our environment, we gave up detailed testing.

If you have testable hardware, please test using the proprietary driver.

1.2.2

I applied a workaround to avoid throwing an exception with gather() and reduceGather() and stopping the whole process. Display a warning instead of throwing an exception.

1.2.1

Fix MatrixBufferIterator php8.1 warning messages

1.2.0

Supports PHP 8.1 from this release. This release supports PHP 8.0 and PHP 8.1.

It does not work with PHP7.2, PHP7.3, PHP7.4.

1.1.0

Summary:

  • Enhancement of comparison function
  • You can now handle NaN and INF.
  • Added some other functions.
  • Not backward compatible due to changes in the interface of some functions.
  • Supports Rindow OpenBLAS 0.3.0

New functions

  • LinearAlgebra::toNDArray(), expandDims(), squeeze(), greatorEqual(), lessEqual(), sin(), cos(), tan(), not(), searchsorted(), cumsom(), nam2num(), isnan(), linspace()

Refined interface functions (Not compatible with the old)

  • LinearAlgebra::maximum(), minimum(), greator(), less(), reduceMean()
1.0.14

New feature:

MatrixOperator will check the PHP extension version if needed.

  • rindow_openblas
  • rindow_opencl
  • rindow_clblast
1.0.13

Summary

  • Restructured select and scatter functions for greater flexibility
  • Speeding up the Repeat function
  • New 2D copy function
  • Supports Rindow OpenBLAS 0.2.4
  • OpenCL kernel equivalent to Rindow OpenBLAS 0.2.4

Discontinued function

  • LinearAlgebra::select()

New functions

  • LinearAlgebra::gather()
  • LinearAlgebra::imagecopy()

Refined interface functions (Not compatible with the old)

  • LinearAlgebra::scatter()
  • LinearAlgebra::scatterAdd()
  • LinearAlgebra::repeat()
1.0.12

Support Rindow OpenBLAS 0.2.3. Math slice functions supports axis 2.

  • LinearAlgebra::slice()
  • LinearAlgebra::stick()
  • LinearAlgebra::stack()
  • LinearAlgebra::concat()
  • LinearAlgebra::split()
  • LinearAlgebra::repeat()

Fix slice bug on OpenCL

  • OpenCLMath::slice()

Migrated some random number functions to OpenCL

  • OpenCLMath::randomUniform()
  • OpenCLMath::randomNormal()
1.0.11

Update for RindowOpenCL 0.1.2

  • NDArrayCL::offsetSet
1.0.10

The reduction functions support the N-dimension reduction with any axis

  • LinearAlgebra::reduceSum()
  • LinearAlgebraMath::reduceMax()
  • LinearAlgebraMath::reduceArgMax()

Strong Recommended

  • Rindow OpenBLAS 0.2.2 or later

OpenCL support

  • Rindow CLBlast 0.1.2 or later
  • Rindow OpenCL 0.1.1 or later
1.0.9

Add BLAS Level3 functions

Add functions in Rindow\Math\Martix\LinearAlgebra

  • symm
  • syrk
  • syr2k
  • trmm
  • trsm

Strong Recommend

  • Rindow OpenBLAS 0.2.0 or later

OpenCL Support

  • Rindow CLBlast 0.1.1 or later
  • Rindow OpenCL 0.1.0 or later
1.0.8

OpenCL / CLBlast support.

New Class

  • LinearAlgebra
  • NDArrayCL
  • OpenCLBuffer
  • OpenCLMath

Add dilation parameter in im2col

  • LinearAlgeba::im2col
  • LinearAlgeba::col2im

Fix memory leak

  • MatrixOperator

Requires

  • php7.2 , 7,3, 7.4
  • interop-phpobjects/polite-math 1.0.3

Strong recommend

  • rindow_openblas 0.1.6

supports

  • rindow_opencl 0.1.0
  • rindow_clblast 0.1.0
1.0.7

New functions in Linear Algebra

  • matmul
  • concat
  • split

New functions in NDArrayPhp

  • Countable Interface
  • InteratorAggregate Interface

Strong Recommend Rindow-OpenBLAS ver. 0.1.5 php extention

1.0.6

Added new features in LinearAlgebra for Recurrent Neural Networks;

  • slice , stick, stack, tanh , svd
  • repeat ( refine function )
  • reduceSumRepeated ( de-repeat : temporary name ) Other functions in LinearAlgebra
  • nrm2, numericGradient, isclose

Strong Recommend Rindow-OpenBLAS ver. 0.1.4 php extention

1.0.5

Add functions

LinearAlgebra::randomUniform LinearAlgebra::randomNormal LinearAlgebra::randomSequence

1.0.4

New Functions

LinearAlgebra::scatter LinearAlgebra::im2col LinearAlgebra::col2im

Refine functions

LinearAlgebra:: ReduceMax LinearAlgebra:: ReduceArgMax LinearAlgebra:: ReduceMean

1.0.3

New functions

  • LinearAlgebra::select

  • Enhanced select method to support axis0 and axis1

  • LinearAlgebra::astype

  • Supports high-speed version astype

  • Supports modification of LinearAlgebra

  • MatrixOperator, PhpMath

Other minor type definition changes

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
besmartand-pro/php-quality-config
sentix/ai-chatbot
terminal42/code-quality-tools
codifyo/ts-generator-bundle
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity