Lots and lots of small changes. Printing has been revisited and the format of numbers has improved. Biggest changes are related to sparse matrices. Fixed a significant bug related to a size check on sparse matrices. Also flushed out functions are support is much more complete now.
----- Version 0.35
2018/08/24
- UtilEjml
* solver = safe(solver) ensures solvers of any type don't modify their inputs
* printFancy() best formatter of floating point numbers to string
- Matrix.print()
* New default format and added the ability change the format
* Printing using printFancy()
* If format is specified as "matlab" it will print out in a format which can be pasted into Matlab
* Fixed formatting of complex matrices
- Reshape output instead of exception
* Changed dense matrix multiply to have this behavior
- ConvertDArrays
* Methods for converting 2D arrays to and from EJML data types
- MatrixVectorMult_DSCC
* Added mult(Matrix,Vector,Vector)
* Added multAdd(Matrix,Vector,Vector)
* Added mult(Vector,Matrix,Vector)
* Added innerProduct(Vector,Matrix,Vector)
- CommonOps_DSCC
* Added multAdd(sparse,dense,dense)
* Added multTransA(sparse,dense,dense) multAddTransA(sparse,dense,dense)
* Added multTransB(sparse,dense,dense) multAddTransB(sparse,dense,dense)
* Added multTransAB(sparse,dense,dense) multAddTransAB(sparse,dense,dense)
* Added extractDiag(sparse,dense)
* Added innerProductLower(sparse,sparse) B = A'*A. Only lower triangle is saved in B
* Added symmLowerToFull(sparse,sparse) for converting a lower triangular matrix into a symmetric matrix
* Added column operations
* Added multRows() divideRows() multCols() divideCols() multRowsCols() divideRowsCols()
- Added LinearSolverSparseSafe
- LinearSolverSparse
* Changed lockStructure() to setStructureLocked( boolean )
- MatrixSparseTriplet
* No longer uses individual classes for each element and instead uses an array
* Java bloats classes and this should result in a large reduction in memory usage
- Sparse Solver
* Added functions for solving sparse matrices
* Improved efficiency of Triangle solve
* Triangle sparse solve supports lower and upper tall matrices. Plus the transpose.
- SparseMatrix
* added reshape(rows,cols) so that you don't need to specify nz_length when it doesn't matter.
- Improved exception messages for a few functions
- Changing it so that the output of various functions is reshaped so that it fits the input to make
development less tedious
- SimpleMatrix
* Fixed serialization
- Thanks fa-dev1 for reporting the issue
* Added elementMinAbs() because elementMaxAbs() was already included
- Examples
* Improved Levenberg-Marquardt
- Made it more like a "real" implementation and cleaned up the code
--
"Now, now my good man, this is no time for making enemies." — Voltaire (1694-1778), on his deathbed in response to a priest asking that he renounce Satan.