Change Log

From Efficient Java Matrix Library
Jump to navigation Jump to search

Version 0.28

Date: 2015/07/09

  • Equations
    • Fixed bug where bounds for a submatrix-scalar assignment was being checked using col,row instead of row,col
    • Thanks lenhhoxung for reporting this bug
  • FixedOps
    • Added vector equivalents for all element-wise matrix operations
    • Added multAdd operators

Version 0.27

Date: 2015/04/01

  • Added SimpleMatrix.randomNormal() for drawing numbers from a normal distribution with zero mean
  • Added EjmlUnitTests.assertEquals() and similar for SimpleMatrix
  • Removed DenseMatrix64F.setReshape()
    • Matrix.set(matrix) will now reshape the matrix that's being assigned
  • Triangle quality now just uses diagonal elements to scale results
  • Support for complex matrices
    • Thanks IHMC (http://ihmc.us) for funding parts of this addition
    • Basic operations (e.g. multiplication, addition, ... etc)
    • LU Decomposition + Linear Solver
    • QR Decomposition + Linear Solver
    • Cholesky Decomposition + Linear Solver
    • Square Matrices: inverse, solve, determinant
    • Overdetermined: solve
  • ComplexMath64F
    • Added sqrt(Complex64F)
  • Tweaked matrix inheritance to better support the addition of complex matrices
  • Added RandomMatrices setGaussian() and createGaussian()
  • Changed how SimpleMatrix computes its threshold for singular values
    • Farley Lai noticed this issue
  • Added SingularOps.singularThreshold()
  • Added no argument rank and nullity for SVD using default threshold.
  • SimpleMatrix.loadCSV() now supports derived types
  • Added primitive 32bit data structures to make adding 32bit support in the future smoother
  • Equation
    • 1x1 matrix can be assigned to a double scalar
    • When referencing a single element in a matrix it will be extracted as a scalar and not a 1x1 matrix.
    • Added sqrt() to parser
    • lookupDouble() will now work on 1x1 matrices
  • CommonOps
    • Added dot(a,b) for dot product between two vectors
    • Added extractRow and extractColumn
  • FixedOps
    • Added extractRow and extractColumn. Thanks nknize for inspiring this modification with a pull request
    • Added subtract and subtractEquals. Thanks nknize for the pull request
  • Added determinant to Cholesky decomposition interface
  • Added getDecomposition() to LinearSolver to provide access to internal classes, which can be useful in some specialized cases. Alternatives were very ugly.