Skip to content

v0.7.0

Compare
Choose a tag to compare
@prehner prehner released this 29 May 09:47
· 21 commits to master since this release
522d975

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