Results 1 - 10
of
84
ADOL-C: A Package for the Automatic Differentiation of Algorithms Written in C/C++
, 1995
"... The C++ package ADOL-C described here facilitates the evaluation of first and higher derivatives of vector functions that are defined by computer programs written in C or C++. The resulting derivative evaluation routines may be called from C/C++, Fortran, or any other language that can be linked ..."
Abstract
-
Cited by 137 (24 self)
- Add to MetaCart
The C++ package ADOL-C described here facilitates the evaluation of first and higher derivatives of vector functions that are defined by computer programs written in C or C++. The resulting derivative evaluation routines may be called from C/C++, Fortran, or any other language that can be linked with C. The numerical values of derivative vectors are obtained free of truncation errors at a small multiple of the run time and randomly accessed memory of the given function evaluation program. Derivative matrices are obtained by columns or rows. For solution curves defined by ordinary differential equations, special routines are provided that evaluate the Taylor coefficient vectors and their Jacobians with respect to the current state vector. The derivative calculations involve a possibly substantial (but always predictable) amount of data that are accessed strictly sequentially and are therefore automatically paged out to external files.
On Automatic Differentiation
- IN MATHEMATICAL PROGRAMMING: RECENT DEVELOPMENTS AND APPLICATIONS
, 1989
"... In comparison to symbolic differentiation and numerical differencing, the chain rule based technique of automatic differentiation is shown to evaluate partial derivatives accurately and cheaply. In particular it is demonstrated that the reverse mode of automatic differentiation yields any gradient v ..."
Abstract
-
Cited by 121 (14 self)
- Add to MetaCart
In comparison to symbolic differentiation and numerical differencing, the chain rule based technique of automatic differentiation is shown to evaluate partial derivatives accurately and cheaply. In particular it is demonstrated that the reverse mode of automatic differentiation yields any gradient vector at no more than five times the cost of evaluating the underlying scalar function. After developing the basic mathematics we describe several software implementations and briefly discuss the ramifications for optimization.
CLP(Intervals) Revisited
, 1994
"... The design and implementation of constraint logic programming (CLP) languages over intervals is revisited. Instead of decomposing complex constraints in terms of simple primitive constraints as in CLP(BNR), complex constraints are manipulated as a whole, enabling more sophisticated narrowing procedu ..."
Abstract
-
Cited by 104 (18 self)
- Add to MetaCart
The design and implementation of constraint logic programming (CLP) languages over intervals is revisited. Instead of decomposing complex constraints in terms of simple primitive constraints as in CLP(BNR), complex constraints are manipulated as a whole, enabling more sophisticated narrowing procedures to be applied in the solver. This idea is embodied in a new CLP language Newton whose operational semantics is based on the notion of box-consistency, an approximation of arc-consistency, and whose implementation uses Newton interval method. Experimental results indicate that Newton outperforms existing languages by an order of magnitude and is competitive with some state-of-the-art tools on some standard benchmarks. Limitations of our current implementation and directions for further work are also identified.
Solving Polynomial Systems Using a Branch and Prune Approach
- SIAM Journal on Numerical Analysis
, 1997
"... This paper presents Newton, a branch & prune algorithm to find all isolated solutions of a system of polynomial constraints. Newton can be characterized as a global search method which uses intervals for numerical correctness and for pruning the search space early. The pruning in Newton consists in ..."
Abstract
-
Cited by 90 (7 self)
- Add to MetaCart
This paper presents Newton, a branch & prune algorithm to find all isolated solutions of a system of polynomial constraints. Newton can be characterized as a global search method which uses intervals for numerical correctness and for pruning the search space early. The pruning in Newton consists in enforcing at each node of the search tree a unique local consistency condition, called box-consistency, which approximates the notion of arc-consistency well-known in artificial intelligence. Box-consistency is parametrized by an interval extension of the constraint and can be instantiated to produce the Hansen-Segupta's narrowing operator (used in interval methods) as well as new operators which are more effective when the computation is far from a solution. Newton has been evaluated on a variety of benchmarks from kinematics, chemistry, combustion, economics, and mechanics. On these benchmarks, it outperforms the interval methods we are aware of and compares well with state-of-the-art continuation methods. Limitations of Newton (e.g., a sensitivity to the size of the initial intervals on some problems) are also discussed. Of particular interest is the mathematical and programming simplicity of the method.
ADIC: An Extensible Automatic Differentiation Tool for ANSI-C
, 1997
"... . In scientific computing, we often require the derivatives @f=@x of a function f expressed as a program with respect to some input parameter(s) x, say. Automatic differentiation (AD) techniques augment the program with derivative computation by applying the chain rule of calculus to elementary oper ..."
Abstract
-
Cited by 69 (12 self)
- Add to MetaCart
. In scientific computing, we often require the derivatives @f=@x of a function f expressed as a program with respect to some input parameter(s) x, say. Automatic differentiation (AD) techniques augment the program with derivative computation by applying the chain rule of calculus to elementary operations in an automated fashion. This article introduces ADIC (Automatic Differentiation of C), a new AD tool for ANSI-C programs. ADIC is currently the only tool for ANSI-C that employs a source-to-source program transformation approach; that is, it takes a C code and produces a new C code that computes the original results as well as the derivatives. We first present ADIC "by example" to illustrate the functionality and ease of use of ADIC and then describe in detail the architecture of ADIC. ADIC incorporates a modular design that provides a foundation for both rapid prototyping of better AD algorithms and their sharing across AD tools for different languages. A component architecture call...
Validated Solutions Of Initial Value Problems For Ordinary Differential Equations
, 1996
"... . Compared to standard numerical methods for initial value problems (IVPs) for ordinary differential equations (ODEs), validated methods for IVPs for ODEs have two important advantages: if they return a solution to a problem, then (1) the problem is guaranteed to have a unique solution, and (2) an e ..."
Abstract
-
Cited by 54 (11 self)
- Add to MetaCart
. Compared to standard numerical methods for initial value problems (IVPs) for ordinary differential equations (ODEs), validated methods for IVPs for ODEs have two important advantages: if they return a solution to a problem, then (1) the problem is guaranteed to have a unique solution, and (2) an enclosure of the true solution is produced. The authors survey Taylor series methods for validated solutions of IVPs for ODEs, describe several such methods in a common framework, and identify areas for future research. Key words. initial value problems, ordinary differential equations, interval arithmetic, Taylor series methods. AMS subject classifications. 65L05, 65G10, 65L60. 1. Introduction. We consider validated numerical methods for the solution of the autonomous initial-value problems (IVPs) y 0 (t) = f(y); y(t 0 ) = y 0 ; (1.1) where t 2 [t 0 ; T ] for some T ? t 0 . Here t 0 ; T 2 R,f 2 C k\Gamma1 (D), D ` R n is an open set, f : D ! R n , and y 0 2 D. For expositional c...
Illumination from Curved Reflectors
, 1992
"... A technique is presented to compute the reflected illumination from curved mirror surfaces onto other surfaces. In accordance with Fermat's principle, this is equivalent to finding extremal paths from the light source to the visible surface via the mirrors. Once pathways of illumination are found, i ..."
Abstract
-
Cited by 52 (0 self)
- Add to MetaCart
A technique is presented to compute the reflected illumination from curved mirror surfaces onto other surfaces. In accordance with Fermat's principle, this is equivalent to finding extremal paths from the light source to the visible surface via the mirrors. Once pathways of illumination are found, irradiance is computed from the Gaussian curvature of the geometrical wavefront. Techniques from optics, differential geometry and interval analysis are applied to solve these problems. CR Categories and Subject Descriptions: I.3.3 [ Computer Graphics ]: Picture/Image Generation; I.3.7 [ Computer Graphics ]: Three-Dimensional Graphics and Realism General Terms: Algorithms Additional Keywords and Phrases: Caustics, Differential Geometry, Geometrical Optics, Global Illumination, Interval Arithmetic, Ray Tracing, Wavefronts 1. Introduction Ray tracing provides a straightforward means for synthesizing realistic images on the computer. A scene is first modeled, usually by a collection of implici...
The ADIFOR 2.0 System for the Automatic Differentiation of Fortran 77 Programs
- RICE UNIVERSITY
, 1994
"... Automatic Differentiation is a technique for augmenting computer programs with statements for the computation of derivatives based on the chain rule of differential calculus. The ADIFOR 2.0 system provides automatic differentiation of Fortran 77 programs for first-order derivatives. The ADIFOR 2.0 s ..."
Abstract
-
Cited by 50 (16 self)
- Add to MetaCart
Automatic Differentiation is a technique for augmenting computer programs with statements for the computation of derivatives based on the chain rule of differential calculus. The ADIFOR 2.0 system provides automatic differentiation of Fortran 77 programs for first-order derivatives. The ADIFOR 2.0 system consists of three main components: The ADIFOR 2.0 preprocessor, the ADIntrinsics Fortran 77 exception-handling system, and the SparsLinC library. The combination of these tools provides the ability to deal with arbitrary Fortran 77 syntax, to handle codes containing single- and double-precision real- or complex-valued data, to fully support and easily customize the translation of Fortran 77 intrinsics, and to transparently exploit sparsity in derivative computations. ADIFOR 2.0 has been successfully applied to a 60,000-line code, which we believe to be a new record in automatic differentiation.
A Fortran 90 Environment for Research and Prototyping of Enclosure Algorithms for Nonlinear Equations and Global Optimization
"... An environment for general research into and prototyping of algorithms for reliable constrained and unconstrained global nonlinear optimization and reliable enclosure of all roots of nonlinear systems of equations, with or without inequality constraints, is being developed. This environment should b ..."
Abstract
-
Cited by 38 (18 self)
- Add to MetaCart
An environment for general research into and prototyping of algorithms for reliable constrained and unconstrained global nonlinear optimization and reliable enclosure of all roots of nonlinear systems of equations, with or without inequality constraints, is being developed. This environment should be portable, easy to learn, use, and maintain, and sufficiently fast for some production work. The motivation, design principles, uses, and capabilities for this environment are outlined. The environment includes an interval data type, a symbolic form of automatic differentiation to obtain an internal representation for functions, a special technique to allow conditional branches with operator overloading and interval computations, and generic routines to give interval and non-interval function and derivative information. Some of these generic routines use a special version of the backward mode of automatic differentiation. The package also includes dynamic data structures for exhaustive sear...
Sampling of Procedural Shaders Using Affine Arithmetic
, 1996
"... Procedural shaders have become popular tools for describing surface reflectance functions and other material properties. In comparison to fixed resolution textures they have the advantage of being resolution independent and storage e#cient. While procedural shaders provide an interface for evaluati ..."
Abstract
-
Cited by 30 (5 self)
- Add to MetaCart
Procedural shaders have become popular tools for describing surface reflectance functions and other material properties. In comparison to fixed resolution textures they have the advantage of being resolution independent and storage e#cient. While procedural shaders provide an interface for evaluating the shader at a single point in parameter space, it is not easily possible to obtain an average value of the shader together with accurate error bounds over a finite area. Yet the ability to compute such error bounds is crucial for several interesting applications, most notably hierarchical area sampling for global illumination computations using the finite element approach and for the generation of textures used in interactive computer graphics. Using a#ne arithmetic for evaluating the shader over a finite area yields a tight, conservative error interval for the shader function. Compilers can automatically generate code for utilizing a#ne arithmetic from within shaders implemented in a ...

