Skip to content

Releases: itt-ustutt/num-dual

v0.10.3

14 Nov 16:42
b35a81f
Compare
Choose a tag to compare

Added

  • Added nalgebra compatibility for Dual2 and Dual2Vec. #81
  • Added atan2 to the DualNum trait. #85

v0.10.2

06 Nov 14:57
60f99af
Compare
Choose a tag to compare

Changed

  • Exposed macros for the implementation of the DualNum trait publicly. #83

v0.10.1

05 Nov 08:09
f0973d9
Compare
Choose a tag to compare

Added

  • Expose the inner type of a generalized (hyper) dual number in the DualNum trait. #82

v0.10.0

22 Oct 19:33
c79b42d
Compare
Choose a tag to compare

Packaging

  • Updated nalgebra dependency to 0.33. #75
  • Updated simba dependency to 0.9. #75
  • Updated pyo3 and numpy dependencies to 0.22. #80
  • Updated ndarray dependency to 0.16. #80
  • Increased minimum supported Rust version to 1.81. #77

Removed

  • Due to limitations in the numpy dependency, Python wheels for 32-bit Windows are no longer supported. #80

v0.9.1

16 Apr 09:15
c97f084
Compare
Choose a tag to compare

Added

  • Added serde feature that enables serialization and deserialization of all scalar dual numbers. #74

v0.9.0

12 Apr 09:21
6340132
Compare
Choose a tag to compare

Packaging

  • Updated pyo3 and numpy dependencies to 0.21 and adapted to the new Bound API.

v0.8.1

20 Oct 15:08
63003f2
Compare
Choose a tag to compare

Packaging

  • Un-deprecated the linalg module.

v0.8.0

15 Oct 15:02
0ce985b
Compare
Choose a tag to compare

Packaging

  • Updated pyo3 and numpy dependencies to 0.20.

v0.7.1

31 May 11:10
836c1a2
Compare
Choose a tag to compare

Fixed

  • Added dedicated implementations for scalar dual numbers (Dual, Dual2, HyperDual) to avoid a performance regression introduced in 0.7.0. #68

v0.7.0

29 May 09:47
522d975
Compare
Choose a tag to compare

Added

  • Added new HyerHyperDual number for the calculation of third partial derivatives. #51
  • Added new functions first_derivative, gradient, jacobian, second_derivative, hessian, third_derivative, second_partial_derivative, partial_hessian, third_partial_derivative and third_partial_derivative_vec that provide a convenient interface for the calculation of derivatives. #52
  • Added new functions try_first_derivative, try_gradient, try_jacobian, try_second_derivative, try_hessian, try_third_derivative, try_second_partial_derivative, try_partial_hessian, try_third_partial_derivative and try_third_partial_derivative_vec that provide the same functionalities for fallible functions. #52
  • Implemented the RealField and ComplexField traits from nalgebra for DualVec. #59
  • Added the python_macro feature that provides the impl_dual_num macro. #63

Changed

  • Renamed derive* methods to derivative*. #52
  • Generalized the implementation of vector dual numbers to use both statically and dynamically sized arrays internally. #58
  • Removed Copy, Send and Sync as supertraits of DualNum. The individual dual number data types still implement the traits if they are statically allocated. #58
  • Renamed type aliases from, e.g., DualVec to DualSVec and DualDVec for statically and dynamically allocated dual numbers, respectively. #58

Removed

  • Removed the StaticMat struct in favor of the analogous implementations from nalgebra. #52
  • Removed the derive* methods for vector types due to the change to nalgebra. #52
  • Removed the derive* functions in Python in favor of the aforementioned new functions. #52
  • Removed the build_wheel workspace crate. The main crate is now also used to build the Python package. #63