Skip to content

Update nalgebra requirement from 0.17 to 0.18

Christopher Rabotin requested to merge dependabot/cargo/nalgebra-0.18 into master

Created by: dependabot[bot]

Updates the requirements on nalgebra to permit the latest version.

Changelog

Sourced from nalgebra's changelog.

[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.

Added

Quaternion and geometric operations

  • Add trigonometric functions for quaternions: .cos, .sin, .tan, .acos, .asin, .atan, .cosh, .sinh, .tanh, .acosh, .asinh, .atanh.
  • Add geometric algebra operations for quaternions: .inner, .outer, .project, .rejection
  • Add .left_div, .right_div for quaternions.
  • Add .renormalize to Unit<...> and Rotation3 to correct potential drift due to repeated operations. Those drifts could cause them not to be pure rotations anymore.

Convolution

  • .convolve_full(kernel) returns the convolution of self by kernel.
  • .convolve_valid(kernel) returns the convolution of self by kernel after removal of all the elements relying on zero-padding.
  • .convolve_same(kernel) returns the convolution of self by kernel with a result of the same size as self.

Complex number support

  • Add the ::from_matrix constructor too all rotation types to extract a rotation from a raw matrix.
  • Add the ::from_matrix_eps constructor too all rotation types to extract a rotation from a raw matrix. This takes more argument than ::from_matrix to control the convergence of the underlying optimization algorithm.
  • Add .camax() which returns the matrix component with the greatest L1-norm.
  • Add .camin() which returns the matrix component with the smallest L1-norm.
  • Add .ad_mul(b) for matrix-multiplication of self.adjoint() * b.
  • Add .ad_mul_to(b) which is the same as .ad_mul but with a provided matrix to be filled with the result of the multiplication.
  • Add BLAS operations involving complex conjugation (following similar names as the original BLAS spec):
    • .dotc(rhs) equal to self.adjoint() * rhs.
    • .gerc(alpha, x, y, beta) equivalent to self = alpha * x * y.adjoint() + beta * self
    • .hegerc which is like gerc but for Hermitian matrices.
    • .syger which is the new name of .ger_symm which is equivalent to self = alpha * x * y.transpose() + beta * self.
    • .sygemv which is the new name of .gemv_symm which is equivalent to self = alpha * a * x + beta * self with a symmetric.
    • .hegemv(alpha, a, x, beta) which is like .sygemv but with a Hermitian.
    • .gemv_ad(alpha, a, x, beta) which is equivalent to self = alpha * a.adjoint() * x + beta * self.
    • .gemm_ad(alpha, a, b, beta) which is equivalent to self = alpha * a.adjoint() * b + beta * self.
    • .icamax() which returns the index of the complex vector component with the greatest L1-norm.

Note that all the other BLAS operation will continue to work for all fields, including floats and complex numbers.

Renamed

  • RealSchur has been renamed Schur because it can now work with complex matrices.

[0.17.0]

Added

  • Add swizzling up to dimension 3 for vectors. For example, you can do v.zxy() as an equivalent to Vector3::new(v.z, v.x, v.y).
  • Add swizzling up to dimension 3 for points. For example, you can do p.zxy() as an equivalent to Point3::new(p.z, p.x, p.y).
  • Add .copy_from_slice to copy matrix components from a slice in column-major order.
  • Add .dot to quaternions.
... (truncated)
Commits
  • 96d864c Release v0.18.0
  • e536671 Minor rewording on the changelog.
  • d759912 Update changelog.
  • bb06701 Fix the return type of convolve_same to match the documentation.
  • ae4afa3 Merge branch 'master-public' into dev
  • b5b81a0 Bump version numbers.
  • 31bc336 Merge pull request #567 from rustsim/complex
  • 94a8bab Uncomment the fast renormalization of Rotation2.
  • 18b9f82 Fix warnings.
  • 86fa4be Remove the criterion dependency and add comment to re-add it to run benchmarks.
  • Additional commits viewable in compare view

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 ignore this [patch|minor|major] version will close this PR and stop Dependabot creating any more for this minor/major 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:

  • Update frequency (including time of day and day of week)
  • Automerge options (never/patch/minor, and dev/runtime dependencies)
  • 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)

Finally, you can contact us by mentioning @dependabot.

Merge request reports

Loading