Efficient and User Friendly C++ Library for Differential Algebra
Department of Energy
Agency Tracking Number:
Solicitation Topic Code:
Small Business Information
4588 Pussy Willow Court, Boulder, CO, 80301
Socially and Economically Disadvantaged:
Dr. Svetlana G. Shasharin
Dr. John R. Cary
Abstract156 Efficient and User Friendly C++ Library for Differential Algebra--Tech-X Corporation, 4588 Pussy Willow Court, Boulder, CO 80301-5830; (303)-530-9562 Dr. Svetlana G. Shasharina, Principal Investigator Dr. John R. Cary, Business Official DOE Grant No. DE-FG03-97ER82499 Amount: $74,974 Differential algebra methods are useful in many areas of numerical analysis, including sensitivity analysis and calculations of dynamics for particle beams, accelerator systems and components, and celestial mechanics. Current software implementations of these objects are inefficient and/or hard to maintain because they are either written in old style, procedural languages such as Fortran, or because they do not take advantage of the latest C++ methods. This project will create a state-of-the-art software library for differential algebra calculations based on the latest advances, including expression templates, that provide a mechanism for optimizing the machine code at compile time. For ease of use, a graphical user interface will be built that will allow instantiation of dynamical systems, obtaining non-linear maps, and plotting and storing results of differential algebra analyses. The library will be as elegant, robust, and easy to change as is expected from object oriented design, while being as fast as a procedural library. In Phase I, the goals will be to (1) build the skeleton of the whole library, (2) create the main class for the differential algebra vector, (3) create a prototype of the graphical user interface, and (4) develop a suite of tests. The goal of Phase II will be to implement the larger library (including lie operators and normal form methods), complete the user interface, write extensive documentation, and provide examples of library use. Commercial Applications and Other Benefits as described by the awardee: The result will be an efficient and user-friendly C++ library for differential algebra. The code will be commercially marketed and will be attractive to scientists, engineers, and students in national laboratories, educational institutions, and industry who design and model accelerators, electron beams, and optics devices.
* information listed above is at the time of submission.