Multi-Z Hypercomplex Library
Multicomplex and multidual numbers are two generalizations of complex numbers with multiple imaginary axes, useful for numerical computation of derivatives with machine precision. The similarities between multicomplex and multidual algebras allowed us to create a unified library (multiZ) to use either one for sensitivity analysis. This library can be used to compute arbitrary order derivates of functions of a single variable or multiple variables. For more information on the mutliZ library please refer to the following:
MultiZ: A Library for Computation of High-order Derivatives Using Multicomplex or Multidual Numbers
Order Truncated Imaginary Algebra (OTI) Library
Examples
The following section contains introductory source code examples implementing HYPAD techniques.
The following section contains example problems and solutions for using complex step differentiation as well as using dual, bidual, and multidual numbers for differentiation. These examples are presented as Jupyter notebooks. If you require additional information on how to use Jupyter notebooks, please refer to the following link:
https://docs.jupyter.org/en/latest/install/notebook-classic.html
Note that to run the dual, bidual, and multidual examples you will need to download the Multi-Z package seen above and add the folder containing multiZ to your PYTHONPATH.
instructions on how to add multiZ to the PYTHONPATH within the anaconda framework refer to the following pdf: