Publication: MultiZ: A Library for Computation of High-Order Derivatives Using Multicomplex or Multidual Numbers
Introduction
Applications
Tools
Research Groups
Workshops
Publications
   List Publications
   Advanced Search
   Info
   Add Publications
My Account
About

MultiZ: A Library for Computation of High-Order Derivatives Using Multicomplex or Multidual Numbers

- Article in a journal -
 

Author(s)
Andres M. Aguirre-Mesa , Manuel J. Garcia , Harry Millwater

Published in
ACM Trans. Math. Softw.

Year
2020

Publisher
Association for Computing Machinery

Abstract
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 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. The storage of matrix representations of multicomplex and multidual numbers is avoided using a combination of one-dimensional resizable arrays and an indexation method based on binary bitwise operations. To provide high computational efficiency and low memory usage, the multiplication of hypercomplex numbers up to sixth order is carried out using a hard-coded algorithm. For higher hypercomplex orders, the library uses by default a multiplication method based on binary bitwise operations. The computation of algebraic and transcendental functions is achieved using a Taylor series approximation. Fortran and Python versions were developed, and extensions to other languages are self-evident.

AD Theory and Techniques
Complex Step Differentiation, Higher Order

BibTeX
@ARTICLE{
         Aguirre-Mesa2020MAL,
       author = "Aguirre-Mesa, Andres M. and Garcia, Manuel J. and Millwater, Harry",
       title = "{MultiZ}: A Library for Computation of High-Order Derivatives Using Multicomplex or
         Multidual Numbers",
       year = "2020",
       publisher = "Association for Computing Machinery",
       address = "New York, NY, USA",
       volume = "46",
       number = "3",
       issn = "0098-3500",
       url = "https://doi.org/10.1145/3378538",
       doi = "10.1145/3378538",
       abstract = "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 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. The storage of matrix
         representations of multicomplex and multidual numbers is avoided using a combination of
         one-dimensional resizable arrays and an indexation method based on binary bitwise operations. To
         provide high computational efficiency and low memory usage, the multiplication of hypercomplex
         numbers up to sixth order is carried out using a hard-coded algorithm. For higher hypercomplex
         orders, the library uses by default a multiplication method based on binary bitwise operations. The
         computation of algebraic and transcendental functions is achieved using a Taylor series
         approximation. Fortran and Python versions were developed, and extensions to other languages are
         self-evident.",
       journal = "ACM Trans. Math. Softw.",
       month = "jul",
       articleno = "23",
       numpages = "30",
       keywords = "high order derivatives, multicomplex, Commutative hypercomplex, hyperdual,
         multidual",
       ad_theotech = "Complex Step Differentiation, Higher Order"
}


back
  

Contact:
autodiff.org
Username:
Password:
(lost password)