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).
* 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.