-
Notifications
You must be signed in to change notification settings - Fork 242
Release Notes
Mark Rogoyski edited this page Oct 3, 2020
·
83 revisions
- Multivariate Regular Grid Interpolation
- Jensen-Shannon Distance
- Canberra Distance
- Search Sorted
- Search ArgMax
- Search NanArgMax
- Search ArgMin
- Serach NanArgMin
- Search NonZero
- Divergence factored out of Distance into new Divergence class
- Legacy Distance divergences marked as deprecated (To be removed in v2.0.0)
- LinearAlgebra\Vector
- Angle between two vectors
- L¹ distance of two vectors
- L² distance of two vectors
- Minkowski distance of two vectors
- Statistics\Distance
- Minkowski distance
- Euclidean distance (L² distance)
- Manhattan distance (Taxicab geometry, L¹ distance, etc.)
- Cosine distance
- Cosine similarity
- Ranking
- Ordinal ranking
- Standard competition ranking
- Modified competition ranking
- Fractional ranking
- (Issue 380) Fixed Spearman's Rho calculation when there are rank ties
- Arithmetic modulo
- Improved matrix multiplication performance using cache-oblivious algorithm optimization
Initial version 1.0.0 release!
- Internal improvements
- Multivariate Hypergeometric distribution
- Sample Data
- MtCars
- Iris
- ToothGrowth
- PlantGrowth
- UsArrests
- Add population and sample kurtosis
- Changed default kurtosis algorithm to the more common population kurtosis
- kurtosis now takes an optional parameter to set the kurtosis type algorithm
- Changed default skewness algorithm to the more common sample skewness
- skewness now takes an optional parameter to set the skewness type algorithm
- Improvements to skewness algorithms
- Number\Rational basic getters
- getWholePart
- getNumerator
- getDenominator
- Set Theory n-ary Cartesian product
- Data direction control for Matrix meanDeviation and covarianceMatrix
- Algebra factors performance improvement
- Number Theory
- isDeficientNumber
- isAbundantNumber
- aliquotSum
- radical
- totient
- cototient
- reducedTotient
- mobius
- isSquarefree
- isRefactorableNumber
- isSphenicNumber
- numberOfDivisors
- sumOfDivisors
- Optimization of prime factorization algorithm
- Arbitrary length integers
- Factorial optimization
- Matrix isNilpotent
- Matrix isRectangularDiagonal
- Matrix mapRows
- MathPHP logo
- MatrixFactory random matrix custom lower and upper bounds for random number
- PSR-12 style compliance
- Bugfix: powerIteration random failure - Issue 346
- Matrix QR decomposition using Householder reflections
- Matrix Householder transformation
- MatrixFactory random matrix
- MatrixFactory givens rotation matrix
- Matrix isIdempotent
- Matrix Eigenvalue power iteration
- Matrix Eigenvalue jacobi method
- Arithmetic root (nᵗʰ root)
- Vector arithmetic multiply and divide
- Vector Iterator interface
- Internal improvements to Matrix
- Matrix decompositions returned as objects
- Matrix Cholesky decomposition provides L transpose
- Grubb's test for statistical outliers
- Matrix rowSums
- Matrix columnSums
- Matrix rowMeans
- Matrix columnMeans
- Matrix isNormal
- MatrixFactory diagonal matrix creation method
- MatrixFactory vandermonde matrix creation method
- Set custom Matrix tolerances
- Various internal improvements
- Remove Matrix sampleMeans (use rowMeans or columnMeans instead)
- MatrixFactory create method only works with 2d arrays. 1d arrays no longer work. (use diagonal and vandermonde factory methods instead)
- Statistics methods throw exceptions instead of returning null on bad input
- Change return type of LagrangePolynomial to Polynomial
- Matrix isOrthogonal
- Matrix isEqual
- Harmonic sequence
- Hyperharmonic sequence
- Map\Single reciprocal
- Support methods for almost equal
- Matrix getDiagonalElements works for non-square matrices
- Use more efficient algorithm in Matrix isSymmetric
- Use more efficient algorithm in Matrix isSkewSymmetric
- Statistics methods throw exceptions instead of returning null on bad input
- Matrix augmentAbove
- Matrix augmentLeft
- Object matrix multiplication
- Matrix submatrix
- Mahalanobis distance
- Bernoulli distribution mean, median, mode and variance
- Binomial distribution mean and variance
- Geometric distribution mean, median, mode and variance
- Hypergeometric distribution mode and variance
- NegativeBinomial (Pascal) distribution CDF, mean, mode and variance
- Poisson distribution mean, median, mode and variance
- Discrete Uniform distribution variance
- Binomial distribution PMF uses more numerically stable multiplication method
- Fix potential divide by zero in TheilSen regression
- Multinomial distribution moved from Discrete to Multivariate namespace
- Beta distribution median, mode, variance
- Cauchy distribution variance
- ChiSquared distribution mode, variance
- Exponential distribution median, mode, variance
- F distribution mode, variance
- Gamma distribution median, mode, variance
- Laplace distribution mode, variance
- Logistic distribution mode, vaiance
- LogLogistic distribution median, mode, variance
- LogNormal distribution mode, variance
- Normal distribution mode, variance
- StandardNormal distribution mode, variance
- StudentT distribution mode, variance
- Uniform distribution median, mode, variance
- Weibull distribution median, mode
- Normal distribution rand algorithm changed to Box–Muller transform
- NumberTheory isPerfectNumber
- Sequence perfectNumber
- Improve README documentation for continuous distributions
- Updates to build tools
- General improvements
- Add Beta distribution inverse quantile function
- Improvements to Weibull distribution
- Improvements to Cauchy distribution
- Improvements to Laplace distribution
- Improvements to Logistic distribution
- Improvements to LogNormal distribution
- Improvements to Normal distribution
- Improvements to Pareto distribution
- Improvements to Algebra cubic/quartic complex root handling
- [Issue 271] Improvements to documentation
- [Issue 269] Add closed-form inverse function for Exponential distribution
- Arithmetic copySign
- Matrix negate
- Matrix isSkewSymmetric
- Weighted mean
- Weighted sample variance
- Weighted covariance
- Weighted correlation coefficient
- Minor code improvements
- Arithmetic almostEqual
- Statistics\Average::mode improved to work with non-integer values
- Various minor code improvements
- Simpler interface for Significance
tTest
for one and two samples
- T test for two samples uses more robust Welch test
- Improvements to Normal and Standard Normal continuous distributions
- General improvements to continuous distributions
- Upgrade unit testing framework to PHPUnit 6
- Update unit tests for PHPUnit 6 compatibility
- Add PHP 7.2 to continuous integration tests
- Percentile reimplemented to use linear interpolation between closest ranks method - Second variant, C = 1
- General code improvements
- Better error and exception handling
- Change probability distributions to be objects instead of static methods
- Change probability distributions to be objects instead of static methods
- Rational number
- Gamma distribution mean
- Add .gitignore file
- Matrix isTridiagonal
- Matrix isUpperHessenberg
- Matrix isLowerHessenberg
- Matrix getSuperdiagonalElements
- Matrix getSubdiagonalElements
- Multivariate normal distribution
- Kernel density estimation
- Matrix Crout decomposition
- Categorical discrete distribution
- Hypergeometric distribution
- Discrete uniform distribution
- Dirichlet multivariate distribution
- Gamma distribution
- Initial eigenvalue matrix method
- Initial eigenvector matrix method
- Confidence ellipse
- Internal Bitwise addition
- Matrix rank
- ObjectArithmetic interface
- Polynomial implements ObjectArithmetic
- ObjectSquareMatrix
- Polynomial negate
- Refactor Matrix REF algorithm
- Refactor Matrix RREF algorithm
- Support functions for better handling of infinitesimal floating-point zero-like quantities
- Fix bug in Polynomial degree calculation
- Refactored Polynomial::add() to be simpler and faster
- Matrix adjugate
- Polynomial subtract
- Internal refactoring/improvements
- Tests namespace for unit tests
- Standardize method naming convention
- Update PHPUnit exception assertion
- Replace class strings in tests with class constants
- Matrix
- Cholesky decomposition
- isRref
- Exchange matrix
- isInvolutory
- isSignature
- Hilbert matrix
- isUpperBidiagonal
- isLowerBidiagonal
- isBidiagonal
- Quartic function roots
- Trigonometry unit circle
- Integer
- isOdd
- isEven
- Initial Complex number class
- Complex number support to quadratic and cubic equations
- Initial Eigenvalue strategy class (2x2 and 3x3 matrices using root equations)
- Matrix
- isLowerTriangular
- isUpperTriangular
- isTriangular
- isDiagonal
- Beta function convenience method
- Add BadDataException to LeastSquares regression method trait if degrees of freedom is 0
- Complex Root of Quadratic Function
- Matrix
- isSingular
- isNonsingular
- isInvertible
- leadingPrincipalMinor
- isPositiveDefinite
- isPositiveSemidefinite
- isNegativeDefinite
- isNegativeSemidefinite
- Number Theory
- Integer coprime
- Arithmetic
- digitSum
- digitalRoot
- Basic sequences
- digitSum
- digitalRoot
- Arithmetic cube root
- Algebra cubic equation
- Matrix Kronecker sum
- Vector Kronecker product
- Number theory prime factorization
- Improved quadratic equation edge case handling
- Number Theory - Integers
- Perfect powers
- Advanced Sequences
- Perfect powers
- Not perfect powers
- Primes up to n
- Algebra
- Quadratic equation
- Circular statistics (directional statistics)
- Circular mean
- Resultant length
- Mean resultant length
- Circular variance
- Circular standard deviation
- Describe
- Finance profitability index
- Update Finance payback to be both simple and discounted payback
- Finance interest payment
- Finance principle payment on an annuity
- Finance payback
- Make files for unit tests, linting, and code coverage
- Finance net present value
- Finance rate function
- Finance internal rate of return
- Finance modified internal rate of return
- Finance payment periods of an annuity
- Update Newton's Method to handle non-convergence and infinite slopes.
- Matrix sample mean
- Matrix mean deviation form
- Covariance matrix
- Matrix representation as array of column vectors
- Finance future value
- Finance present value
- Joint entropy
- Rényi entropy
- Perplexity
- Matrix scalar division
- Finance: Annual Equivalent Rate (AER)
- Fix vector pnorm to take absolute value of each element
- Refactor distances and divergences from InformationTheory\Entropy to Statistics\Distance
- Two-sample z significance test
- Information Theory
- Shannon entropy (bits, nats, hartleys)
- Cross entropy
- Bhattacharyya distance
- Kullback-Leibler divergence
- Hellinger distance
- Jensen-Shannon divergence
- Linear Algebra
- vectorMultiply method on Matrix to return Vector when multiply with a Vector
- Lazy caterer's sequence
- Magic squares sequence
- Look-and-say sequence
- Custom exception classes
- Refactor exceptions to use custom exception classes
- Softmax function
- Effect size η² (Eta-squared)
- Effect size η²p (Partial eta-squared)
- Effect size ω² (omega-squared)
- Effect size Cohen's ƒ²
- Effect size Cohen's q
- Effect size Cohen's d
- Effect size Hedges' g
- Effect size Glass' Δ (glass' delta)
- Replace mt_rand with random_int
- Change root namespace from Math to MathPHP
- (Run composer update to update autoloader)
- Clamped Cubic Spline Interpolation
- Custom variable in Polynomial class
- Natural cubic spline interpolation
- Vector direct product
- Set Theory
- Matrix kronecker product
- Matrix augment below
- Some null return values changed to NAN when computation is invalid
- Matrix solve linear system of equations
- Noncentral T distribution
- Piecewise function class
- Initial Finance class (pmt function)
- Vector scalar multiplication
- Vector normalization
- Vector scalar division
- Vector perpendicular operator
- Vector projections
- Vector perp and perp dot product
- Add getters to Polynomial for degree and coefficients
- Improvements to gamma function
- Fix matrix determinant calculation
- Polynomial class
- Vector cross product
- Numerical Differentiation (\Math\NumericalAnalysis\NumericalDifferentiation)
- Three Point Formula (\Math\NumericalAnalysis\NumericalDifferentiation\ThreePointFormula)
- Five Point Formula (\Math\NumericalAnalysis\NumericalDifferentiation\FivePointFormula)
- SecondDerivativeMidpointFormula (\Math\NumericalAnalysis\NumericalDifferentiation\SecondDerivativeMidpointFormula)
- Two-way ANOVA (\Math\Statistics\ANOVA)
- Nevilles Method (\Math\NumericalAnalysis\Interpolation)
- Newton Polynomial (\Math\NumericalAnalysis\Interpolation)
- Lagrange polynomials (\Math\NumericalAnalysis\Interpolation)
- Function arithmetic (\Math\Functions\Arithmetic)
- One-way ANOVA (
Math\Statistics\ANOVA
) - χ² Table (
Math\Probability\Distribution\Table
) - Five number summary (
Math\Statistics\Descriptive
) - Simple sum of squares (
Math\Statistics\RandomVariable
)
- Refactor probability distribution tables (
Math\Probability\Distribution\Table
) - Minor refactors
- Move probability distribution tables to new namespace
- From
Math\Probability
toMath\Probability\Distribution\Table
- From
- Algebra
- Functions
- Map
- Special Functions
- Linear Algebra
- Matrix
- Vector
- Numerical Analysis
- Numerical Integration
- Root Finding
- Probability
- Combinatorics
- Distributions
- Continuous
- Discrete
- Standard Normal Table (Z Table)
- t Distribution Table
- Sequences
- Basic
- Advanced
- Statistics
- Averages
- Correlation
- Descriptive
- Distributions
- Experiments
- Random Variables
- Regressions
- Significance Testing