The Joint Accelerator Conferences Website (JACoW) is an international collaboration that publishes the proceedings of accelerator conferences held around the world.
@InProceedings{zhang:napac2019-wepls14,
author = {H. Zhang and Y. Zhang},
title = {{A C++ TPSA/DA Library With Python Wrapper}},
booktitle = {Proc. NAPAC'19},
pages = {796--798},
paper = {WEPLS14},
language = {english},
keywords = {multipole, simulation, operation, framework, collective-effects},
venue = {Lansing, MI, USA},
series = {North American Particle Accelerator Conference},
number = {4},
publisher = {JACoW Publishing, Geneva, Switzerland},
month = {10},
year = {2019},
issn = {2673-7000},
isbn = {978-3-95450-223-3},
doi = {10.18429/JACoW-NAPAC2019-WEPLS14},
url = {http://jacow.org/napac2019/papers/wepls14.pdf},
note = {https://doi.org/10.18429/JACoW-NAPAC2019-WEPLS14},
abstract = {Truncated power series algebra (TPSA) or differential algebra (DA) is often used by accelerator physicists to generate a transfer map of a dynamic system. The map then can be used in dynamic analysis of the system or in particle tracking study. TPSA/DA can also be used in some fast algorithms, eg. the fast multipole method, for collective effect simulation. This paper reports a new TPSA/DA library written in C++. This library is developed based on Dr. Lingyun Yang’s TPSA code, which has been used in MAD-X and PTC. Compared with the original code, the updated version has the following changes: (1) The memory management has been revised to improve the efficiency; (2) A new data type of DA vector is defined and supported by most frequently used operators; (3) Support of inverse trigonometric functions and hyperbolic functions for the DA vector has been added; (4) function composition is revised for better efficiency; (5) a python wrapper is provided. The code is hosted at github and available to the public.},
}