Releases: markrogoyski/math-php
Releases · markrogoyski/math-php
v2.1.0
New Features
- Quaternion
v2.0.0
New Features
- Matrix Improvements
walk
method to map a function to all values without mutation or returning a valueMatrixFactory
creates more matrix typesMatrixFactory::createNumeric
to createNumericMatrix
typesMatrixFactory::createFromRowVector
MatrixFactory::createFromColumnVector
- Internal
ObjectMatrix
improvements- Add
trace
- Add
scalarMultiply
- Add
- Add initial
ComplexMatrix
- Sample data People
Improvements
- Bug fixes
- Issue 414 fixed - PCA/Eigenvalue convergence
- Issue 413 fixed - matrix solve with singular matrix using RREF
Migration - Upgrading to v2.0 from v1.0
- PHP minimum version now 7.2 (was 7.0)
- Deprecated code removed (backwards-incompatible change)
MathPHP\Statistics\Distance::kullbackLeiblerDivergence
removed (UseMathPHP\Statistics\Divergence::kullbackLeibler
instead)MathPHP\Statistics\Distance::jensenShannonDivergence
removed (UseMathPHP\Statistics\Divergence::jensenShannon
instead)- Matrix Decompositions no longer implement
\ArrayAccess
interface to access decomposition matrixes. Use properties instead.MathPHP\LinearAlgebra\Decomposition\Cholesky
$cholesky['L']
,$cholesky['Lᵀ']
,$cholesky['LT']
removed, use$cholesky->L
,$cholesky->Lᵀ
,$cholesky->LT
instead.
MathPHP\LinearAlgebra\Decomposition\Crout
$crout['L']
,$crout['U']
removed, use$crout->L
,$crout->U
instead.
MathPHP\LinearAlgebra\Decomposition\LU
$LU['L']
,LU['U']
,LU['P']
removed, use$LU->L
,$LU->U
,$LU->P
instead.
MathPHP\LinearAlgebra\Decomposition\QR
$QR['Q']
,$QR['R']
removed, use$QR->Q
,$QR->R
instead.
- Methods renamed (backwards-incompatible change)
MathPHP\Statistics\Distance::bhattacharyyaDistance
renamed toMathPHP\Statistics\Distance::bhattacharyya
MathPHP\Statistics\Distance::hellingerDistance
renamed toMathPHP\Statistics\Distance::hellinger
- Moved Functionality (backwards-incompatible change)
MathPHP\Functions\Polynomial
moved toMathPHP\Expression\Polynomial
MathPHP\Functions\Piecewise
moved toMathPHP\Expression\Piecewise
- Matrix internal refactoring
- Note: These changes will not affect any client code as long as matrices were created using
MatrixFactory
. Matrix
is not a base abstract class for all matrix classes to extendMatrix
renamedNumericMatrix
Matrix
base methodcreateZeroValue
- Use case is various
ObjectMatrix
classes that implementObjectArithmetic
- Use case is various
RowVector
removed. UseMatrixFactory::createFromRowVector
insteadColumnVector
removed. UseMatrixFactory::createFromColumnVector
instead
- Note: These changes will not affect any client code as long as matrices were created using
v1.11.0
Improvements
- Bugfix (Issue 413): Matrix solve with singular matrix using RREF
- Bugfix (Issue 414): PCA/Eigenvalue convergence
v1.10.0
Improvements
- Bugfix (Issue 356): Fix Finance IRR NANs
v1.9.0
New Features
- Vector min and max
- Arithmetic isqrt (integer square root)
Improvements
- Remove Travis CI (Moved CI to Github Actions in v1.8.0 release)
- Rearrange non-code files
v1.8.0
Improvements
- Improve permutations algorithm to be more efficient and more numerically stable
- Qualify PHP function names with root namespace
- Move CI to Github Actions
v1.7.0
New Features
- Algebra linear equation of one variable
- Rational number inverse
- Rational number pow
Improvements
- Improve combinations algorithm to be more efficient and more numerically stable
- Internal Matrix class reorganization
v1.6.0
New Features
- Special function regularized lower incomplete gamma
- Cereal sample data set
Improvements
- Define boundary condition for lower incomplete gamma function
v1.5.0
v1.5.0
New Features
- Matrix LU solve
- Matrix QR solve
Improvements
- Bugfix (Issue 386) Matrix solve improvements
- Matrix solve has optional method parameter to force a solve method
- Bugfix ArbitraryInteger multiplication sign not taken into account
v1.4.0
New Features
- Multivariate Regular Grid Interpolation
- Jensen-Shannon Distance
- Canberra Distance
- Search Sorted
- Search ArgMax
- Search NanArgMax
- Search ArgMin
- Serach NanArgMin
- Search NonZero
Improvements
- Divergence factored out of Distance into new Divergence class
Backwards Incompatible Changes
- Legacy Distance divergences marked as deprecated (To be removed in v2.0.0)