Publication: Algorithm 1008: Multicomplex Number Class for Matlab, with a Focus on the Accurate Calculation of Small Imaginary Terms for Multicomplex Step Sensitivity Calculations
Introduction
Applications
Tools
Research Groups
Workshops
Publications
   List Publications
   Advanced Search
   Info
   Add Publications
My Account
About
Impress

Algorithm 1008: Multicomplex Number Class for Matlab, with a Focus on the Accurate Calculation of Small Imaginary Terms for Multicomplex Step Sensitivity Calculations

- Article in a journal -
 

Author(s)
Jose Maria Varas Casado , Rob Hewson

Published in
ACM Trans. Math. Softw.

Year
2020

Publisher
Association for Computing Machinery

Abstract
A Matlab class for multicomplex numbers was developed with particular attention paid to the robust and accurate handling of small imaginary components. This is primarily to allow the class to be used to obtain n-order derivative information using the multicomplex step method for, among other applications, gradient-based optimization and optimum control problems. The algebra of multicomplex numbers is described, as is its accurate computational implementation, considering small term approximations and the identification of principal values. The implementation of the method in Matlab is studied, and a class definition is constructed. This new class definition enables Matlab to handle n-order multicomplex numbers and perform arithmetic functions. It was found that with this method, the step size could be arbitrarily decreased toward machine precision. Use of the method to obtain up to the seventh derivative of functions is presented, as is timing data to demonstrate the efficiency of the class implementation.

AD Theory and Techniques
Multicomplex Step Differentiation

BibTeX
@ARTICLE{
         Casado2020AMN,
       author = "Casado, Jose Maria Varas and Hewson, Rob",
       title = "Algorithm 1008: Multicomplex Number Class for Matlab, with a Focus on the Accurate
         Calculation of Small Imaginary Terms for Multicomplex Step Sensitivity Calculations",
       year = "2020",
       issue_date = "June 2020",
       publisher = "Association for Computing Machinery",
       address = "New York, NY, USA",
       volume = "46",
       number = "2",
       issn = "0098-3500",
       url = "https://doi.org/10.1145/3378542",
       doi = "10.1145/3378542",
       abstract = "A Matlab class for multicomplex numbers was developed with particular attention
         paid to the robust and accurate handling of small imaginary components. This is primarily to allow
         the class to be used to obtain n-order derivative information using the multicomplex step method
         for, among other applications, gradient-based optimization and optimum control problems. The algebra
         of multicomplex numbers is described, as is its accurate computational implementation, considering
         small term approximations and the identification of principal values. The implementation of the
         method in Matlab is studied, and a class definition is constructed. This new class definition
         enables Matlab to handle n-order multicomplex numbers and perform arithmetic functions. It was found
         that with this method, the step size could be arbitrarily decreased toward machine precision. Use of
         the method to obtain up to the seventh derivative of functions is presented, as is timing data to
         demonstrate the efficiency of the class implementation.",
       journal = "ACM Trans. Math. Softw.",
       month = "may",
       articleno = "18",
       numpages = "26",
       keywords = "MATLAB class, mulitcomplex step, Multicomplex numbers",
       ad_theotech = "Multicomplex Step Differentiation"
}


back
  

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