Efficient differential algebra computations
暂无分享,去创建一个
Numerical Differential Algebra (DA) is a powerful tool for studying non-linear motion in accelerators, beam and optics devices. Implementation of DA is the easiest in an object oriented programming language, especially C++. In addition to standard object oriented features, C++ allows for operator overloading and static polymorphism via templates. In this paper we discuss (1) use of templates for polymorphic use of the code, so it can treat both dynamical variables and DA maps, (2) methods of optimisation for speed needed for efficient use DA in accelerator physics and other applications.
[1] M. Berz. Differential Algebraic Description of Beam Dynamics to Very High Orders , 1988 .
[2] Geoffrey Furnish. Container-free numerical algorithms in C++ , 1998 .
[3] EFFICIENT C++ LIBRARY FOR DIFFERENTIAL ALGEBRA , 1998 .
[4] Michael L. Nelson,et al. C++ Programmer's Guide to the Standard Template Library , 1995 .
[5] Michael E. Wolf,et al. The cache performance and optimizations of blocked algorithms , 1991, ASPLOS IV.