oj! Algorithms v43.0.0 Release Notes

Release Date: 2017-04-22 // about 7 years ago
  • ๐Ÿ”„ Changed

    • ๐Ÿ‘€ It is now possible to turn off warnings related to missing hardware profiles. Set a system property 'shut.up.ojAlgo' to anything, not null, and you won't see those warnings. (It would be must better if you contributed your hardware profile to ojAlgo.)

    org.ojalgo.access

    • Added new interfaces Access_D.Collectable to be used as super interfaces to the Stream_D interfaces, and used as input parameter type for matrix tasks and decompositions. The new interfaces interacts with the Mutate_D.Receiver interfaces and to some extent replaces the Supplier_D interfaces removed with v42.
    • ๐Ÿ“ฆ There's a new package private interface FactorySupplement used as a common superinterface to the Facory_D interfaces. It declares methods that give access to FunctionSet, AggregatorSet and Scalar.Factory instances - all 1D, 2D and AnyD factories now have this.
    • The Stream_D interfaces got some new utility variants of operateOnAll-methods.
    • ๐Ÿ†• New interfaces Mutate_D.Mixable that allow aggregating individual elements using the supplied binary "mixer" function.
    • ๐Ÿ†• New interface Mutate1D.Sortable

    org.ojalgo.array

    • โž• Addedd a Collector (Java 8 streams) that creates NumberList instances.
    • ๐Ÿ— Deprecated all previously existing factory methods in NumberList, LongToNumberMap and SparseArray. They are replaced with new alternatives (1 each). The new factories are configurable using builder pattern.
    • ๐Ÿ“ฆ SegmentedArray now package private. If you had explicit references to this class you have a compilation error. Switch to using some of the BasicArray pr DenseArray factories. If necessary things will be segmented for you.
    • ๐Ÿ“ฆ BufferArray is now abstract and has two package private subclasses DoubleBufferArray and FloatBufferArray. You instantiate them via factories in BufferArray.

    org.ojalgo.finance

    • Yahoo now requires to use https rather http when downloading historical financial data. Both YahooSymbol and GoogleSymbol now use https.

    org.ojalgo.function

    • Two new additions to FunctionSet - "logistic" and "logit".

    org.ojalgo.matrix

    • Replaced all usage of ElementsSupplier as input parameter type with Access2D.Collectable.
    • โœ‚ Removed all public/external usage of DecompositionStore and replaced it with PhysicalStore.
    • ๐Ÿšš Moved (deprecated) the various equals(...) and reconstruct(...) methods from MatrixUtils to the respective matrix decomposition interfaces.
    • ๐Ÿ—„ Deprecated Eigenvalue.getEigenvector(int) and replaced it with Eigenvalue.getEigenpair(int)
    • Various internal improvements to the Eigenvalue and Singular Value implementations.
    • ๐Ÿ—„ Deprecated the Schur decomposition. Eigenvalue decompositions are of course still supported. It's just Schur "on its own" that is deprecated.

    org.ojalgo.netio

    • 0๏ธโƒฃ The default scheme of ResourceLocator is changed from http to https.

    org.ojalgo.optimisation

    • Extremely large (absolute value) lower/upper limits on variables or expressions are now treated as "no limit" (null).
    • Extremely small (absolute value) lower/upper limits on variables or expressions are now treated as exactly 0.0.

    org.ojalgo.random

    • ๐Ÿ›  Fixed a minor bug in SampleSet - calculations would fail when repeatedly using SampleSet with empty sample sets

    org.ojalgo.series

    • ๐Ÿ”จ Various refactoring to the BasicSeries implementations. There is also a new nested interface BasicSeries.NaturallySequenced and some declarations have been moved there.
    • โž• Added the concept of an accumulator that may be used to accumulate the values of multiple put operations on the same key.
    • ๐Ÿ†• New class CoordinatedSet - a set of coordinated (same start, end & resolution) series.

    org.ojalgo.tensor

    • ๐Ÿ†• New package!
    • ๐Ÿ†• New interface Tensor with an implementation and a factory method. Not much you can do with this yet - functionality will be expanded slowly.

    org.ojalgo.type

    • ๐Ÿ”จ Refactoring and additions to CalendarDate, CalendarDateUnit and CalendarDateDuration. Among other things there is a now an interface CalendarDate.Resolution that both CalendarDateUnit and CalendarDateDuration implement.