Breeze 1.0

70 views
Skip to first unread message

David Hall

unread,
Aug 11, 2019, 11:25:48 PM8/11/19
to scala-...@googlegroups.com
Hi everyone,

At long last, I'm pleased to announce Breeze 1.0, available for Scala 2.11, 2.12, and 2.13. The package should be hitting maven central soon.

Main changes since last release (0.9).

* Removed deprecated elementwise operators
* Functions like sin for which f(0) == 0 can now exploit sparsity in SparseVectors etc.
* added population variance and stddev
* Vector[Float] can now be used in optimization routines
* fix equality and equals for SparseVector/SparseArray (dlwh, superbobry)
* much faster CSC matrix multiply
* much faster DM transpose copy
* support for CSC \ CSC solve
* considerably faster sparse/hashvector binary operations
* a few new distributions (schmidmt)
* DescriptiveStats.percentileInPlace (jeff klukas)
* several root finding methods (Antoine Bertout)
* various improvements to DV[Float] support
* SliceVector operators fleshed out
 a more usable return type for LU decomposition (@ZacBlanco)
* a bug in matrix multiplies where the RHS arg is a Transpose[DenseVector]
* a new indirectSort algorithm that sorts parallel key and value arrays. Mostly an internal API. (Sergei Lebedev) 
* A fix to the DM/DM multiply for non-floating point types.
* fixed RingBuffer, modernized its API
* fixed a potential off-by-one in rangeD and rangeF caused by floating point nonsense
* bug fixes to CSC \ DV solve
* bug fix to transposed dm solve
* fixed serious dumb bug in dot product (BoleynSu)
* overflow check in SVD (WeichenXu123)
* Fixed a dumb bug in SparseArray.filter
* FirstOrderMinimizer can now return convergence reason (mrkm4ntr)
* OWLQN now accepts a convergence check (superbobry)
* HashVector is now serializable (superbobry)
* broadcasting now works somewhat more consistently in several places
* BitVector.copy is now a deep copy
* removed randomness from argtopk, now uses median of 3
* Improved inplace operations for HashVector/SparseVector in-place operations (Sergei Lebedev)
* don't insert default value into open address hash arrays (lezebulon)
* improved quickselect (jesse frankley)
* fixed SparseVector.horzcat (invkrh)
* fixed mpow when m has complex eigenvalues (Bjorn Mattson)
* fixed QR decomposition dimension inconsistency (alois-bissuel)

* Fixed SBT incremental compilation of @expand macros.
* the source is now Scalafmt'd (Sergei Lebedev)
* update to SBT 1.0 (Martin Mauch)
* bumped 2.12 and sbt version (helena)
* improved build stability


Thanks everyone! It's been a long road. I didn't get everything that I wanted done, but it is long past time.

-- David

Reply all
Reply to author
Forward
0 new messages