oj! Algorithms v51.4.1 Release Notes
Release Date: 2022-08-26 // 9 months ago-
๐ Fixed
org.ojalgo.optimisation
- ๐ Fixed a problem with the
IntegerSolver
where you could get anArrayIndexOutOfBoundsException
when concurrently solving multiple problem instances sharing the sameIntegerStrategy
.
org.ojalgo.random
- ๐ Fixed a regression with
RandomNumber
where it was no longer possible to set a seed for the underlyingjava.util.Random
instance.
- ๐ Fixed a problem with the
Previous changes from v51.4.0
-
Last version to target Java 8!
โ Added
org.ojalgo.data
- ๐ New class
org.ojalgo.data.domain.finance.series.FinanceDataReader
that implements bothFinanceData
andDataFetcher
. Instead of fetching data from some (web) service it reads and and parses files. Already had some parsers, and since it implements bothFinanceData
andDataFetcher
, it can be used with much of the existing code. In particularDataSource
has been updated to include this reader option. - ๐ New alternatives to calculate correlations and covariance matrices in
DataProcessors
.
org.ojalgo.function
AggregatorFunction
gained a new methodfilter(PredicateFunction)
that allows to define a filter for which values will be considered in the aggregation.
org.ojalgo.netio
- ๐ New methods in
BasicLogger
to handle logging of exceptions with stacktrace. - ๐ With a
TextLineWriter
it is now possible to instantiate a CSV line/row builder to help create "text lines" that are delimited data.
org.ojalgo.random
- ๐ New package
org.ojalgo.random.scedasticity
containingARCH
andGARCH
models as well as stochatstic processes based on those.
org.ojalgo.series
- ๐ New class
SimpleSeries
that is the simplest possibleBasicSeries
implementation. - โ Added capabilities to do things like
quotients
,log
anddifferences
on aCoordinatedSet
(ofPrimitiveSeries
) as well as possibility to get a correlations or cocariance matrix directly.
๐ Changed
org.ojalgo.data
- ๐จ Refactoring of the
org.ojalgo.data.domain.finance.series
package. This package very much depends onorg.ojalgo.series
which is extensively refactored. FinanceData
is now generic and thegetHistoricalPrices()
method is now declared to contain a specified subclass ofDatePrice
.- ๐
DatePrice
now implementsEntryPair.KeyedPrimitive
rather than the deprecatedKeyValue
interface. The publickey
field has been renameddate
(the date is the key). AllDatePrice
subclasses are now immutable. - The
getPriceSeries()
method ofFinanceData
changed the return type fromBasicSeries<LocalDate, Double>
toBasicSeries<LocalDate, PrimitiveNumber>
and theBasicSeries
implementation used is also changed.
org.ojalgo.random
- ๐ The
Process1D
class is now final. It used to have some subclasses that had been depreceted for a while, they're now removed.
org.ojalgo.series
- ๐จ Extensive refactoring of all
BasicSeries
subinterfaces and implementations, including some breaking name changes. TheBasicSeries.NaturallySequenced
interface still exists, but is not really used for anything. All the useful stuff is inBasicSeries
. All methods that usedlong
keys to interact with entries are removed.
org.ojalgo.type
- The interface
CalendarDate.Resolution
now also extendsStructure1D.IndexMapper
and defines a method toadjustInto
forCalendarDate
.
๐ Fixed
org.ojalgo.matrix
- ๐ Fixed problems related to extracting eigenpairs and calculating generalised
Eigenvalue
decompositions for complex matrices (ComplexNumber
elements).
- ๐ New class