当前位置: X-MOL 学术ACM Trans. Math. Softw. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Algorithm 1008
ACM Transactions on Mathematical Software ( IF 2.7 ) Pub Date : 2020-05-22 , DOI: 10.1145/3378542
Jose Maria Varas Casado 1 , Rob Hewson 1
Affiliation  

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.

中文翻译:

算法 1008

开发了一个用于复数的 Matlab 类,特别注意对小虚数分量的稳健和准确处理。这主要是为了允许使用该类来获取n阶导数信息使用多复步法,除其他应用外,还用于基于梯度的优化和最优控制问题。描述了复数的代数,以及它的精确计算实现,考虑了小项近似和主值的识别。研究了该方法在Matlab中的实现,并构造了类定义。这个新的类定义使 Matlab 能够处理n-order 复数并执行算术函数。结果发现,使用这种方法,步长可以任意减小到机器精度。介绍了使用该方法获得最多七阶导数的方法,以及时序数据,以证明类实现的效率。
更新日期:2020-05-22
down
wechat
bug