In this release, we are no longer relying on traits from the alga crate for our generic code.
Instead, we use traits from the new simba crate which are both
simpler, and allow for significant optimizations like AoSoA SIMD.
It is now possible to use SIMD types like simba::f32x4 as scalar types for nalgebra's matrices and
geometric types.
Modified
Use of traits like alga::general::{RealField, ComplexField} have now been replaced by
simba::scalar::{RealField, ComplexField}.
The implementation of traits from the alga crate (and well as the dependency to alga_) are now
omitted unless the alga cargo feature is activated.
Removed
The Neg unary operator is no longer implemented for UnitComplex and UnitQuaternion. This caused
hard-to-track errors when we mistakenly write, e.g., -q * v instead of -(q * v).
The na::convert_unchecked is no longer marked as unsafe.
[0.20.0]
Added
cholesky.rank_one_update(...) which performs a rank-one update on the cholesky decomposition of a matrix.
From<&Matrix> is now implemented for matrix slices.
.try_set_magnitude(...) which sets the magnitude of a vector, while keeping its direction.
Implementations of From and Into for the conversion between matrix slices and standard (&[N]&mut [N]) slices.
Modified
We started some major changes in order to allow non-Copy types to be used as scalar types inside of matrices/vectors.
[0.19.0]
Added
.remove_rows_at and remove_columns_at which removes a set of rows or columns (specified by indices) from a matrix.
Several formatting traits have been implemented for all matrices/vectors: LowerExp, UpperExp, Octal, LowerHex,
UpperHex, Binary, Pointer.
UnitQuaternion::quaternions_mean(...) which computes the mean rotation of a set of unit quaternions. This implements
the algorithm from _Oshman, Yaakov, and Avishy Carmi, "Attitude estimation from vector observations using a genetic-algorithm-embedded quaternion particle filter."
Modified
It is now possible to get the min/max element of unsigned integer matrices.
Added to nalgebra-glm
Some infinite and reversed perspectives: ::infinite_perspective_rh_no, ::infinite_perspective_rh_zo,
::reversed_perspective_rh_zo, and ::reversed_infinite_perspective_rh_zo.
[0.18.0]
This release adds full complex number support to nalgebra. This includes all common vector/matrix operations as well
as matrix decomposition. This excludes geometric type (like Isometry, Rotation, Translation, etc.) from the
geometry module.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Updates the requirements on nalgebra to permit the latest version.
Changelog
Sourced from nalgebra's changelog.
Commits
30186d9
Release nalgebra v0.21.0b81aed7
Merge pull request #713 from rustsim/soa_simd384aee8
CI: don't run nalgebra-lapack test for now.89a6251
CI: install dependencies for the tests too.240aaea
Merge pull request #711 from cschenio/cschenio/docf782060
Fix trailing commas in tests.ed85d54
CI: use openblas instead of netlib.4233ba1
CI: add some missing dependencies for lapack0c0915d
CI: install cmake for lapack compilation.7bbca5c
CI: fix feature selection for nalgebra-lapack.Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)