Difference between revisions of "Change Log"

From Efficient Java Matrix Library
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
== Version 0.28 ==
+
== Version 0.31 ==
  
Date: 2015/07/09
+
2017/05/18
  
 +
* Changed minimum Java version from 6 to 7
 +
* Added SimpleEVD.getEigenvalues()
 +
* Added SimpleSVD.getSingularValues()
 +
* Fixed issue with generics and SimpleEVD and SimpleSVD
 +
* Auto generated float 32-bit support of all 64-bit code
 +
* SimpleMatrix
 +
** Added support for float 32-bit matrices
 +
** Replaced extractDiag() with diag() and changed behavior.
 +
* Fixed Sized Matrix
 +
** Added MatrixFeatures
 +
** Added NormOps
 +
** FixedOps
 +
*** Discovered a bug in a unit test
 +
*** Fixed bugs in elementAbsMax() elementAbsMin() trace()
 +
*** Improved the speed of element-wise max and min operations
 +
* New naming for matrices (see readme)
 +
* New naming for operation classes (see readme)
 +
* Operations API
 +
** added minCol(), maxCol(), minRow(), maxRow()
 +
* Sparse matrix support for real values
 +
** Compressed Sparse Column (CSC) a.k.a. Compressed Column
 +
** Triplet
 +
** Basic operation up to triangular solve
 +
* A script has been provided that will perform most of the refactorings:
 +
** convert_to_ejml31.py
 +
* Fixed a minor printing glitch for dense matrices.  There was an extra space
 
* Equations
 
* Equations
** Fixed bug where bounds for a submatrix-scalar assignment was being checked using col,row instead of row,col
+
** Assignment to a submatrix now works with variables
** Thanks lenhhoxung for reporting this bug
+
*** A((2+i):10,1:20) = 5  <--* this works now
* FixedOps
+
** Added sum(), sum(A,0), sum(A,1)
** Added vector equivalents for all element-wise matrix operations
+
**       min(A,0), max(A,0), min(A,1), max(A,1),
** Added multAdd operators
+
* Modules now have "ejml-" as a suffice to avoid collisions with other libraries
 
+
* equations module has been moved into ejml-simple for dependency reasons
== 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.
 

Latest revision as of 22:08, 17 May 2017

Version 0.31

2017/05/18

  • Changed minimum Java version from 6 to 7
  • Added SimpleEVD.getEigenvalues()
  • Added SimpleSVD.getSingularValues()
  • Fixed issue with generics and SimpleEVD and SimpleSVD
  • Auto generated float 32-bit support of all 64-bit code
  • SimpleMatrix
    • Added support for float 32-bit matrices
    • Replaced extractDiag() with diag() and changed behavior.
  • Fixed Sized Matrix
    • Added MatrixFeatures
    • Added NormOps
    • FixedOps
      • Discovered a bug in a unit test
      • Fixed bugs in elementAbsMax() elementAbsMin() trace()
      • Improved the speed of element-wise max and min operations
  • New naming for matrices (see readme)
  • New naming for operation classes (see readme)
  • Operations API
    • added minCol(), maxCol(), minRow(), maxRow()
  • Sparse matrix support for real values
    • Compressed Sparse Column (CSC) a.k.a. Compressed Column
    • Triplet
    • Basic operation up to triangular solve
  • A script has been provided that will perform most of the refactorings:
    • convert_to_ejml31.py
  • Fixed a minor printing glitch for dense matrices. There was an extra space
  • Equations
    • Assignment to a submatrix now works with variables
      • A((2+i):10,1:20) = 5 <--* this works now
    • Added sum(), sum(A,0), sum(A,1)
    • min(A,0), max(A,0), min(A,1), max(A,1),
  • Modules now have "ejml-" as a suffice to avoid collisions with other libraries
  • equations module has been moved into ejml-simple for dependency reasons