oj! Algorithms v50.0.0 Release Notes
Release Date: 2022-01-02 // over 2 years ago-
โ Added
org.ojalgo.matrix
- ๐ New interface
Provider2D
with a set of nested functional interfaces defining matrix properties and operations.
org.ojalgo.optimisation
- ๐ Possibility to read the QPS file format (QP related extensions to the MPS file format). More precisely added the ability to parse QUADOBJ and QMATRIX sections in "MPS" files.
- โ A bunch of convex test cases from https://www.cuter.rl.ac.uk/Problems/marmes.shtml
org.ojalgo.random
- ๐ New
FrequencyMap
class as well as a factory method inSampleSet
that counts occurrences of different values.
org.ojalgo.structure
- โ Added a
nonzeros()
method toAccess2D
that returns aElementView2D<N, ?>
.
๐ Changed
org.ojalgo.function
- The
MIN
andMAX
BinaryFunction
constants ofComplexMath
andQuaternionMath
are changed to align with the scalar's compareTo methods (that are also changed).
org.ojalgo.matrix
MatrixStore
now implementsStructure2D.Logical
directly. No need to calllogical()
to get aLogicalBuilder
.BasicMatrix
now implementsStructure2D.Logical
as well asOperate2D
directly. No need to calllogical()
to get aLogicalBuilder
.- ๐จ A lot of refactoring among the package private code.
org.ojalgo.optimisation
- Minor change regarding
LinearSolver
pivot point selection.
org.ojalgo.scalar
ComplexNumber
andQuaternion
had theircompareTo
methods changed to first just compare then real part and only if they're equal compare the imaginary parts.
๐ Deprecated
org.ojalgo.matrix
- ๐ The
logical()
method inMatrixStore
is deprecated. No need for it asMatrixStore
:s are now "logical". - ๐ The
logical()
method inBasicMatrix
is deprecated. No need for it asBasicMatrix
:s are now "logical".
๐ Fixed
org.ojalgo.matrix
- ๐ Fixed rare multiplication problem when all involved matrices were
RawStore
instances and the left multiplcation matrix was a vector, but a column vector when a row vector was expected; in that case the multiplication code would fail.
โ Removed
org.ojalgo.matrix
- ๐ The
MatrixStore.Factory
interface has been removed. Corresponding functionality have instead been added toPhysicalStore.Factory
. This also mean that the various static factory instances inMatrixStore
have been removed. Instead use the instances available in each of thePhysicalStore
instances. - ๐ The
MatrixStore.LogicalBuilder
class has been removed. InsteadMatrixStore
now implementsStructure2D.Logical
directly. No need to calllogical()
to get aLogicalBuilder
. - ๐ The
BasicMatrix.LogicalBuilder
class has been removed...
org.ojalgo.structure
- ๐ The
Factory*D
interfaces had theirmakeZero
methods removed. These had been deprecated for while, and are now removed. - ๐ The
Structure*D.Logical
interfaces had theirget
methods removed. Most implementors still have aget
method. This is just to make it more flexible regarding what type is returned.
- ๐ New interface