All Versions
25
Latest Version
Avg Release Cycle
60 days
Latest Release
44 days ago

Changelog History
Page 1

  • v0.19.0

    October 28, 2019

    ➕ Added

    • .remove_rows_at and remove_columns_at which removes a set of rows or columns (specified by indices) from a matrix.
  • v0.18.2

    September 01, 2019
  • v0.18.1

    August 27, 2019
  • v0.18.0

    March 31, 2019

    🚀 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.
  • v0.17.3

    March 18, 2019
  • v0.17.2

    February 18, 2019
  • v0.17.1

    February 17, 2019
  • v0.17

    February 03, 2019
  • v0.16.14

    September 08, 2019
  • v0.16.13

    December 29, 2018