Changelog History
Page 1

v0.4.2 Changes
February 17, 2017๐ฅ Breaking Changes
 ๐ None, but
Matrix::lup_decomp
has been deprecated and will be removed soon.
๐ Features
 โ Added dedicated
PermutationMatrix
. This type provides more efficent operations with permutation matrices.  โ Added CSV read/write functionality to
Matrix
. Underio
feature flag.  Added column iterators, accessed via
BaseMatrix::col_iter
andBaseMatrixMut::col_iter_mut
functions.  โ Added new
PartialPivLU
struct which contains the result of an LUP decomposition. ๐ This struct will replace theMatrix::lup_decomp
function in a future release.
๐ Bug Fixes
 ๐ Fixed an overflow bug with
SliceIter
.
Minor Changes
 ๐ Fixed (very) minor performance issue in
min
/max
functions.
 ๐ None, but

v0.4.1 Changes
December 29, 2016๐ฅ Breaking Changes
 None
๐ Features
 โ Added new
vector!
macro forVector
construction.  โ Added new
min
andmax
functions to theBaseMatrix
trait.  Implemented conversion traits to convert
Row
/Column
types toVector
.
๐ Bug Fixes
 None
Minor Changes
 ๐ Performance improvement to
BaseMatrix::sum_rows
function. also gives passive improvement tomean
andvariance
.  Improving layout of the
vector
module.  Made
matrix!
macro use square brackets consistently.

v0.4.0 Changes
December 27, 2016๐ This release includes mostly quality of life changes for users of rulinalg. We do some work to conform more to community standards with naming, for example
iter_rows
becomingrow_iter
. Additionally severalMatrix
functions now consumeself
๐ฏ where before they took a reference and immediately clonedself
.Another noticable change is the addition of new
Row
andColumn
types. These types are returned by functions which access single rows or columns in a matrix. With these new types we aim to make it easy for users to do matrix operations on single ๐ rows and columns while maintaining performance where necessary.๐ This release also welcomes an overhaul of the
Metric
trait. This trait didn't really make sense and only allowed computation of the euclidean norm. We have created newNorm
andMetric
traits for bothVector
and matrix types (we would like a single pair of traits but this is not possible without specialization). These new traits allow users to write code which is generic over norms and specify their own norms. We also provideMetric
implementations for allNorm
implementors by computing the norm of the difference between the objects.๐ The full release notes are below.
๐ New Contributors
๐ฅ Breaking Changes
 The
reslice
function forMatrixSlice
andMatrixSliceMut
has been depreciated.  Rename iterator functions to
*_iter(_mut)
. Affected functions are:iter_diag
,iter_diag_mut
,iter_rows
,iter_rows_mut
.  The
BaseMatrix
diag
function now returns an iterator.  โ Removed the
Metric
trait and all implementations.  Some functions now consume
self
instead of cloning internally:eigenvalues
,eigendecomp
,lup_decomp
,solve
,inverse
anddet
.  The
get_row
no longer returns a&[T]
. Instead it returns the newRow
type.  Row iterator no longer has a
&[T]
item. Instead if uses the newRow
type.  ๐ Moved the
BaseMatrix
andBaseMatrixMut
traits to a newmatrix/base
module.
๐ Features
 Implemented
FromIterator
forVector
.  Implemented
from_fn
forVector
.  Implemented
get_unchecked
forVector
.  Implemented
try_into
function using num'sNumCast
forMatrix
.  โ Added new traits to replace
Metric
;MatrixNorm
andVectorNorm
. These come withMatrixMetric
andVectorMetric
traits too.  โ Added new
Euclidean
andLp
norms.  The
get_row
functions now return the newRow
type.  โ Added a new
get_col
function which returns the newColumn
type.  The
row_iter
function uses the newRow
type as the iteratorItem
.
๐ Bug Fixes
 ๐ Fixed a bug in the ULP comparator where only exact matches were allowed.
Minor Changes
 The
swap_rows
andswap_cols
functions are now noops if given two identical indices.  Splitting out the
slice
module for developer QOL.
 The

v0.3.7 Changes
November 17, 2016๐ New Contributors
๐ฅ Breaking Changes
 None
๐ Features
 Added new
assert_matrix_eq!
andassert_vector_eq!
macros for easier equality checks. Provides multiple equality comparisons:ulp
,abs
,float
,exact
.
๐ Bug Fixes
 ๐ Further improvements (performance and stability) to the LU decomposition algorithm.
Minor Changes
 โ Removed import warning on
lu
module.

v0.3.6 Changes
November 05, 2016๐ฅ Breaking Changes
 None
๐ Features
 None
๐ Bug Fixes
 ๐ Improved numerical stability of the LUP decomposition.
Minor Changes
 None

v0.3.5 Changes
October 30, 2016๐ New Contributors
๐ฅ Breaking Changes
 None
๐ Features
 Added new
iter_diag
anditer_diag_mut
functions toBaseMatrix
andBaseMatrixMut
respectively.
๐ Bug Fixes
 The
matrix!
macro now works on empty matrices.
Minor Changes
 ๐จ Some refactoring of
decomposition
module.  More lenient error handling on triangular solvers.
They no longer
assert!
that a matrix is triangular.  โ
All tests are now using
matrix!
macro and other tidier constructors.

v0.3.4 Changes
October 02, 2016๐ New Contributors
๐ฅ Breaking Changes
 โ Removed the
MachineEpsilon
trait. The same functionality now exists in num.
๐ Features
 Implemented
From
/Into
for traits forVec
andVector
.
๐ Bug Fixes
det()
now returns0
instead of panicking ifMatrix
is singular.
Minor Changes
 None
 โ Removed the

v0.3.3 Changes
September 24, 2016๐ New Contributors
๐ฅ Breaking Changes
 None
๐ Features
 SVD now returns singular values in descending order.
 Implemented a new
matrix!
macro for creating (small) matrices.  โ Added a
from_fn
constructor forMatrix
.  Implementing
IndexMut
forVector
.  โ Added
iter
anditer_mut
forVector
.  Implemented
IntoIter
forVector
.
๐ Bug Fixes
 ๐ Fixed bug with SVD convergence (would loop endlessly).
 Singular values from SVD are now nonnegative.
Minor Changes
 None

v0.3.2 Changes
September 10, 2016๐ New Contributors
๐ฅ Breaking Changes
Matrix::variance
now returns aResult
.
๐ Features
 Added
swap_rows
andswap_cols
function toBaseMatrixMut
.
Minor Changes
 Implemented
Display
forVector
.

v0.3.1 Changes
September 04, 2016๐ New Contributors
๐ฅ Breaking Changes
 None
๐ Features
 None
Minor Changes
 Improved documentation for
sum_rows
andsum_cols
functions.  Generalized signature of
select_rows
andselect_cols
. These functions now take anExactSizeIterator
instead of a slice.