Skip to content

Releases: markrogoyski/math-php

v2.4.0

28 Jul 02:35

Choose a tag to compare

New Features

  • Complex Exponential (exp)
  • Complex Exponentiation (pow)
  • Zipf's Law Discrete Distribution
  • Generalized harmonic non-integer sequence

Improvements

  • Fixed Complex polarForm to compute the right values
  • Fixed hyperharnomic non-integer sequence. Previously was computing the wrong thing
  • Fixed how ArbitraryInterger handles pow of negative exponents

Backwards Incompatible Changes

  • Complex polarForm now returns an array rather than a Complex number, as the Complex return was incorrect
  • Interface to hyperharmonic non-integer sequence changed due to previous implementation being incorrect

v2.3.0

14 Jul 05:59

Choose a tag to compare

New Features

  • Matrix SVD (Singular Value Decomposition)
  • Polynomial companion matrix

v2.2.0

11 Jul 16:23

Choose a tag to compare

New Features

  • PLS (Partial Least Squares Regression)

Improvements

  • Add custom __debugInfo to NumericMatrix

v2.1.0

07 Jul 05:41

Choose a tag to compare

New Features

  • Quaternion

v2.0.0

09 May 21:04

Choose a tag to compare

New Features

  • Matrix Improvements
    • walk method to map a function to all values without mutation or returning a value
    • MatrixFactory creates more matrix types
    • MatrixFactory::createNumeric to create NumericMatrix types
    • MatrixFactory::createFromRowVector
    • MatrixFactory::createFromColumnVector
    • Internal ObjectMatrix improvements
      • Add trace
      • Add scalarMultiply
    • 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 (Use MathPHP\Statistics\Divergence::kullbackLeibler instead)
    • MathPHP\Statistics\Distance::jensenShannonDivergence removed (Use MathPHP\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 to MathPHP\Statistics\Distance::bhattacharyya
    • MathPHP\Statistics\Distance::hellingerDistance renamed to MathPHP\Statistics\Distance::hellinger
  • Moved Functionality (backwards-incompatible change)
    • MathPHP\Functions\Polynomial moved to MathPHP\Expression\Polynomial
    • MathPHP\Functions\Piecewise moved to MathPHP\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 extend
    • Matrix renamed NumericMatrix
    • Matrix base method createZeroValue
      • Use case is various ObjectMatrix classes that implement ObjectArithmetic
    • RowVector removed. Use MatrixFactory::createFromRowVector instead
    • ColumnVector removed. Use MatrixFactory::createFromColumnVector instead

v1.11.0

09 May 19:49

Choose a tag to compare

Improvements

  • Bugfix (Issue 413): Matrix solve with singular matrix using RREF
  • Bugfix (Issue 414): PCA/Eigenvalue convergence

v1.10.0

19 Dec 20:19

Choose a tag to compare

Improvements

  • Bugfix (Issue 356): Fix Finance IRR NANs

v1.9.0

13 Dec 19:31

Choose a tag to compare

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

11 Dec 23:14

Choose a tag to compare

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

15 Nov 06:10

Choose a tag to compare

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