Difference between revisions of "Change Log"

From Efficient Java Matrix Library
Jump to navigation Jump to search
(Created page with "== Version 0.27 == Data: 2015/04/01 * Added SimpleMatrix.randomNormal() for drawing numbers from a normal distribution with zero mean * Added EjmlUnitTests.assertEquals() an...")
 
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Version 0.27 ==
+
== Version 0.31 ==
  
Data: 2015/04/01
+
2017/05/18
  
* Added SimpleMatrix.randomNormal() for drawing numbers from a normal distribution with zero mean
+
* Changed minimum Java version from 6 to 7
* Added EjmlUnitTests.assertEquals() and similar for SimpleMatrix
+
* Added SimpleEVD.getEigenvalues()
* Removed DenseMatrix64F.setReshape()
+
* Added SimpleSVD.getSingularValues()
** Matrix.set(matrix) will now reshape the matrix that's being assigned
+
* Fixed issue with generics and SimpleEVD and SimpleSVD
* Triangle quality now just uses diagonal elements to scale results
+
* Auto generated float 32-bit support of all 64-bit code
* Support for complex matrices
+
* SimpleMatrix
** Thanks IHMC (http://ihmc.us) for funding parts of this addition
+
** Added support for float 32-bit matrices
** Basic operations (e.g. multiplication, addition, ... etc)
+
** Replaced extractDiag() with diag() and changed behavior.
** LU Decomposition + Linear Solver
+
* Fixed Sized Matrix
** QR Decomposition + Linear Solver
+
** Added MatrixFeatures
** Cholesky Decomposition + Linear Solver
+
** Added NormOps
** Square Matrices: inverse, solve, determinant
+
** FixedOps
** Overdetermined: solve
+
*** Discovered a bug in a unit test
* ComplexMath64F
+
*** Fixed bugs in elementAbsMax() elementAbsMin() trace()
** Added sqrt(Complex64F)
+
*** Improved the speed of element-wise max and min operations
* Tweaked matrix inheritance to better support the addition of complex matrices
+
* New naming for matrices (see readme)
* Added RandomMatrices setGaussian() and createGaussian()
+
* New naming for operation classes (see readme)
* Changed how SimpleMatrix computes its threshold for singular values
+
* Operations API
** Farley Lai noticed this issue
+
** added minCol(), maxCol(), minRow(), maxRow()
* Added SingularOps.singularThreshold()
+
* Sparse matrix support for real values
* Added no argument rank and nullity for SVD using default threshold.
+
** Compressed Sparse Column (CSC) a.k.a. Compressed Column
* SimpleMatrix.loadCSV() now supports derived types
+
** Triplet
* Added primitive 32bit data structures to make adding 32bit support in the future smoother
+
** Basic operation up to triangular solve
* Equation
+
* A script has been provided that will perform most of the refactorings:
** 1x1 matrix can be assigned to a double scalar
+
** convert_to_ejml31.py
** When referencing a single element in a matrix it will be extracted as a scalar and not a 1x1 matrix.
+
* Fixed a minor printing glitch for dense matrices. There was an extra space
** Added sqrt() to parser
+
* Equations
** lookupDouble() will now work on 1x1 matrices
+
** Assignment to a submatrix now works with variables
* CommonOps
+
*** A((2+i):10,1:20) = 5  <--* this works now
** Added dot(a,b) for dot product between two vectors
+
** Added sum(), sum(A,0), sum(A,1)
** Added extractRow and extractColumn
+
**       min(A,0), max(A,0), min(A,1), max(A,1),
* FixedOps
+
* Modules now have "ejml-" as a suffice to avoid collisions with other libraries
** Added extractRow and extractColumn.  Thanks nknize for inspiring this modification with a pull request
+
* equations module has been moved into ejml-simple for dependency reasons
** 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 21: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