This thesis describes the characteristics of a novel computational technique called automatic differentiation, and gives an implementation of this technique in the Ada® programming language. Automatic differentiation is a technique with which one can directly calculate the value of any partial derivative of nearly any function that has been programmed into a computer (at any point of interest), without requiring the algebraic derivation of the desired partial derivative of the function of interest. It is closely related to the technique of power series manipulation, with which one can find, for example, the sum, product, square root, etc., of given power series. The result of this work is an Ada package called DIFFERENTIALS, which exports various types and functions that can be included in user programs. The first half of this thesis describes the technique of automatic differentiation, gives the fundamental specification for the DIFFERENTIALS package, and explains the details of the implementation. The second half of this thesis gives specific examples of the use of DIFFERENTIALS in the area of optical system analysis. Presented there are several user programs that use the DIFFERENTIALS package to calculate various partial derivatives of the ray tracing function, and illustrate the proper usage of this package.
Library of Congress Subject Headings
Computable functions--Data processing; Ada (Computer program language); Optics, Adaptive--Data processing
Computer Science (MS)
Department, Program, or Center
Computer Science (GCCIS)
Herloski, Robert P., "Automatic differentiation: Implementation in the Ada programming language" (1987). Thesis. Rochester Institute of Technology. Accessed from
RIT – Main Campus