Prev Next _contents Headings

Table of Contents

CppAD: A Package for Differentiation of C++ Algorithms
CppAD: A Package for Differentiation of C++ Algorithms
    Table of Contents
     CppAD Download, Test, and Installation Instructions
    CppAD Download, Test, and Installation Instructions
         Unix Download, Test and Installation
        Unix Download, Test and Installation
            Using Subversion To Download Source Code

        Windows Download and Test

     An Introduction by Example to Algorithmic Differentiation
    An Introduction by Example to Algorithmic Differentiation
        A Simple Program Using CppAD to Compute Derivatives
         Second Order Exponential Approximation
        Second Order Exponential Approximation
            exp_2: Implementation
            exp_2: Test
             exp_2: Operation Sequence and Zero Order Forward Mode
            exp_2: Operation Sequence and Zero Order Forward Mode
                exp_2: Verify Zero Order Forward Sweep

             exp_2: First Order Forward Mode
            exp_2: First Order Forward Mode
                exp_2: Verify First Order Forward Sweep

             exp_2: First Order Reverse Mode
            exp_2: First Order Reverse Mode
                exp_2: Verify First Order Reverse Sweep

             exp_2: Second Order Forward Mode
            exp_2: Second Order Forward Mode
                exp_2: Verify Second Order Forward Sweep

             exp_2: Second Order Reverse Mode
            exp_2: Second Order Reverse Mode
                exp_2: Verify Second Order Reverse Sweep

            exp_2: CppAD Forward and Reverse Sweeps

         An Epsilon Accurate Exponential Approximation
        An Epsilon Accurate Exponential Approximation
            exp_eps: Implementation
            exp_eps: Test of exp_eps
             exp_eps: Operation Sequence and Zero Order Forward Sweep
            exp_eps: Operation Sequence and Zero Order Forward Sweep
                exp_eps: Verify Zero Order Forward Sweep

             exp_eps: First Order Forward Sweep
            exp_eps: First Order Forward Sweep
                exp_eps: Verify First Order Forward Sweep

             exp_eps: First Order Reverse Sweep
            exp_eps: First Order Reverse Sweep
                exp_eps: Verify First Order Reverse Sweep

             exp_eps: Second Order Forward Mode
            exp_eps: Second Order Forward Mode
                exp_eps: Verify Second Order Forward Sweep

             exp_eps: Second Order Reverse Sweep
            exp_eps: Second Order Reverse Sweep
                exp_eps: Verify Second Order Reverse Sweep

            exp_eps: CppAD Forward and Reverse Sweeps

        Run the exp_2 and exp_eps Tests

     AD Objects
    AD Objects
         AD Default Constructor
        AD Default Constructor
            Default AD Constructor: Example and Test

         AD Copy Constructor and Assignment Operator
        AD Copy Constructor and Assignment Operator
            AD Copy Constructor: Example and Test
            AD Constructor From Base Type: Example and Test
            AD Assignment Operator: Example and Test

         Conversion and Printing of AD Objects
        Conversion and Printing of AD Objects
             Convert From an AD Type to its Base Type
            Convert From an AD Type to its Base Type
                Convert From AD to its Base Type: Example and Test

             Convert From AD to Integer
            Convert From AD to Integer
                Convert From AD to Integer: Example and Test

             AD Output Stream Operator
            AD Output Stream Operator
                AD Output Operator: Example and Test

             Printing AD Values During Forward Mode
            Printing AD Values During Forward Mode
                Printing During Forward Mode: Example and Test

             Convert an AD Variable to a Parameter
            Convert an AD Variable to a Parameter
                Convert an AD Variable to a Parameter: Example and Test

         AD Valued Operations and Functions
        AD Valued Operations and Functions
             AD Arithmetic Operators and Computed Assignments
            AD Arithmetic Operators and Computed Assignments
                 AD Unary Plus Operator
                AD Unary Plus Operator
                    AD Unary Plus Operator: Example and Test

                 AD Unary Minus Operator
                AD Unary Minus Operator
                    AD Unary Minus Operator: Example and Test

                 AD Binary Arithmetic Operators
                AD Binary Arithmetic Operators
                    AD Binary Addition: Example and Test
                    AD Binary Subtraction: Example and Test
                    AD Binary Multiplication: Example and Test
                    AD Binary Division: Example and Test

                 AD Computed Assignment Operators
                AD Computed Assignment Operators
                    AD Computed Assignment Addition: Example and Test
                    AD Computed Assignment Subtraction: Example and Test
                    AD Computed Assignment Multiplication: Example and Test
                    AD Computed Assignment Division: Example and Test

             AD Standard Math Unary Functions
            AD Standard Math Unary Functions
                The AD acos Function: Example and Test
                The AD asin Function: Example and Test
                The AD atan Function: Example and Test
                The AD cos Function: Example and Test
                The AD cosh Function: Example and Test
                The AD exp Function: Example and Test
                The AD log Function: Example and Test
                The AD log10 Function: Example and Test
                The AD sin Function: Example and Test
                The AD sinh Function: Example and Test
                The AD sqrt Function: Example and Test
                The AD tan Function: Example and Test

             Other AD Math Functions
            Other AD Math Functions
                 AD Absolute Value Function
                AD Absolute Value Function
                    AD Absolute Value Function: Example and Test

                 AD Two Argument Inverse Tangent Function
                AD Two Argument Inverse Tangent Function
                    The AD atan2 Function: Example and Test

                 The AD Error Function
                The AD Error Function
                    The AD erf Function: Example and Test

                 The AD Power Function
                The AD Power Function
                    The AD Power Function: Example and Test
                    The Pow Integer Exponent: Example and Test

             AD Conditional Expressions
            AD Conditional Expressions
                Conditional Expressions: Example and Test

             Discrete AD Functions
            Discrete AD Functions
                Taping Array Index Operation: Example and Test
                Interpolation With Out Retaping: Example and Test
                Interpolation With Retaping: Example and Test

         Bool Valued Operations and Functions with AD Arguments
        Bool Valued Operations and Functions with AD Arguments
             AD Binary Comparison Operators
            AD Binary Comparison Operators
                AD Binary Comparison Operators: Example and Test

             Compare AD and Base Objects for Nearly Equal
            Compare AD and Base Objects for Nearly Equal
                Compare AD with Base Objects: Example and Test

             AD Boolean Functions
            AD Boolean Functions
                AD Boolean Functions: Example and Test

             Is an AD Object a Parameter or Variable
            Is an AD Object a Parameter or Variable
                AD Parameter and Variable Functions: Example and Test

             Check if Equal and Correspond to Same Operation Sequence
            Check if Equal and Correspond to Same Operation Sequence
                EqualOpSeq: Example and Test

         AD Vectors that Record Index Operations
        AD Vectors that Record Index Operations
            AD Vectors that Record Index Operations: Example and Test

         AD<Base> Requirements for Base Type
        AD<Base> Requirements for Base Type
             Enable use of AD<Base> where Base is std::complex<double>
            Enable use of AD<Base> where Base is std::complex<double>
                Complex Polynomial: Example and Test
                Not Complex Differentiable: Example and Test

             Enable use of AD<Base> where Base is Adolc's adouble Type
            Enable use of AD<Base> where Base is Adolc's adouble Type
                Using Adolc with Multiple Levels of Taping: Example and Test

     ADFun Objects
    ADFun Objects
         Declare Independent Variables and Start Recording
        Declare Independent Variables and Start Recording
            Independent and ADFun Constructor: Example and Test

        Construct an ADFun Object and Stop Recording
        Stop Recording and Store Operation Sequence
         ADFun Sequence Properties
        ADFun Sequence Properties
            ADFun Sequence Properties: Example and Test

         Evaluate ADFun Functions, Derivatives, and Sparsity Patterns
        Evaluate ADFun Functions, Derivatives, and Sparsity Patterns
             Forward Mode
            Forward Mode
                Zero Order Forward Mode: Function Values
                First Order Forward Mode: Derivative Values
                Any Order Forward Mode
                Number Taylor Coefficients, Per Variable, Currently Stored
                 Comparison Changes During Zero Order Forward Mode
                Comparison Changes During Zero Order Forward Mode
                    CompareChange and Re-Tape: Example and Test

                Controlling Taylor Coefficients Memory Allocation
                Forward Mode: Example and Test

             Reverse Mode
            Reverse Mode
                 First Order Reverse Mode
                First Order Reverse Mode
                    First Order Reverse Mode: Example and Test

                 Second Order Reverse Mode
                Second Order Reverse Mode
                    Second Order Reverse ModeExample and Test
                    Hessian Times Direction: Example and Test

                 Any Order Reverse Mode
                Any Order Reverse Mode
                    Any Order Reverse Mode: Example and Test

             Calculating Sparsity Patterns
            Calculating Sparsity Patterns
                 Jacobian Sparsity Pattern: Forward Mode
                Jacobian Sparsity Pattern: Forward Mode
                    Forward Mode Jacobian Sparsity: Example and Test

                 Jacobian Sparsity Pattern: Reverse Mode
                Jacobian Sparsity Pattern: Reverse Mode
                    Reverse Mode Jacobian Sparsity: Example and Test

                 Hessian Sparsity Pattern: Reverse Mode
                Hessian Sparsity Pattern: Reverse Mode
                    Reverse Mode Hessian Sparsity: Example and Test

         First and Second Derivatives: Easy Drivers
        First and Second Derivatives: Easy Drivers
             Jacobian: Driver Routine
            Jacobian: Driver Routine
                Jacobian: Example and Test

             First Order Partial Derivative: Driver Routine
            First Order Partial Derivative: Driver Routine
                First Order Partial Driver: Example and Test

             First Order Derivative: Driver Routine
            First Order Derivative: Driver Routine
                First Order Derivative Driver: Example and Test

             Hessian: Easy Driver
            Hessian: Easy Driver
                Hessian: Example and Test
                Hessian of Lagrangian and ADFun Default Constructor: Example and Test

             Forward Mode Second Partial Derivative Driver
            Forward Mode Second Partial Derivative Driver
                Subset of Second Order Partials: Example and Test

             Reverse Mode Second Partial Derivative Driver
            Reverse Mode Second Partial Derivative Driver
                Second Partials Reverse Driver: Example and Test

         Check an ADFun Sequence of Operations
        Check an ADFun Sequence of Operations
            ADFun Check and Re-Tape: Example and Test

         OpenMP Maximum Thread Number
        OpenMP Maximum Thread Number
             Compile and Run the OpenMP Test
            Compile and Run the OpenMP Test
                A Simple Parallel Loop
                 Multi-Threaded Newton's Method Main Program
                Multi-Threaded Newton's Method Main Program
                    Multi-Threaded Newton's Method Routine
                    OpenMP Multi-Threading Newton's Method Source Code

                Sum of 1/i Main Program

        ADFun Object Deprecated Member Functions

     The CppAD General Purpose Library
    The CppAD General Purpose Library
         Replacing the CppAD Error Handler
        Replacing the CppAD Error Handler
            Replacing The CppAD Error Handler: Example and Test
            CppAD Assertions During Execution

         Determine if Two Values Are Nearly Equal
        Determine if Two Values Are Nearly Equal
            NearEqual Function: Example and Test

         Run One Speed Test and Return Results
        Run One Speed Test and Return Results
            speed_test: Example and test

         Run One Speed Test and Print Results
        Run One Speed Test and Print Results
            Example Use of SpeedTest

         Definition of a Numeric Type
        Definition of a Numeric Type
            The NumericType: Example and Test

         Check NumericType Class Concept
        Check NumericType Class Concept
            The CheckNumericType Function: Example and Test

         Definition of a Simple Vector
        Definition of a Simple Vector
            Simple Vector Template Class: Example and Test

         Check Simple Vector Concept
        Check Simple Vector Concept
            The CheckSimpleVector Function: Example and Test

         Obtain Nan and Determine if a Value is Nan
        Obtain Nan and Determine if a Value is Nan
            nan: Example and Test

        The Integer Power Function
         Evaluate a Polynomial or its Derivative
        Evaluate a Polynomial or its Derivative
            Polynomial Evaluation: Example and Test
            Source: Poly

         Compute Determinants and Solve Equations by LU Factorization
        Compute Determinants and Solve Equations by LU Factorization
             Compute Determinant and Solve Linear Equations
            Compute Determinant and Solve Linear Equations
                LuSolve With Complex Arguments: Example and Test
                Source: LuSolve

             LU Factorization of A Square Matrix
            LU Factorization of A Square Matrix
                LuFactor: Example and Test
                Source: LuFactor

             Invert an LU Factored Equation
            Invert an LU Factored Equation
                LuInvert: Example and Test
                Source: LuInvert

         One DimensionalRomberg Integration
        One DimensionalRomberg Integration
            One Dimensional Romberg Integration: Example and Test

         Multi-dimensional Romberg Integration
        Multi-dimensional Romberg Integration
            One Dimensional Romberg Integration: Example and Test

         An Embedded 4th and 5th Order Runge-Kutta ODE Solver
        An Embedded 4th and 5th Order Runge-Kutta ODE Solver
            Runge45: Example and Test

         A 3rd and 4th Order Rosenbrock ODE Solver
        A 3rd and 4th Order Rosenbrock ODE Solver
            Rosen34: Example and Test

         An Error Controller for ODE Solvers
        An Error Controller for ODE Solvers
            OdeErrControl: Example and Test
            OdeErrControl: Example and Test Using Maxabs Argument

         An Arbitrary Order Gear Method
        An Arbitrary Order Gear Method
            OdeGear: Example and Test

         An Error Controller for Gear's Ode Solvers
        An Error Controller for Gear's Ode Solvers
            OdeGearControl: Example and Test

         Computing Jacobian and Hessian of Bender's Reduced Objective
        Computing Jacobian and Hessian of Bender's Reduced Objective
            BenderQuad: Example and Test

         LU Factorization of A Square Matrix and Stability Calculation
        LU Factorization of A Square Matrix and Stability Calculation
            LuRatio: Example and Test

        Float and Double Standard Math Unary Functions
         The CppAD::vector Template Class
        The CppAD::vector Template Class
            CppAD::vector Template Class: Example and Test
            CppAD::vectorBool Class: Example and Test

         Routines That Track Use of New and Delete
        Routines That Track Use of New and Delete
            Tracking Use of New and Delete: Example and Test

    Preprocessor Definitions Used by CppAD
     Examples
    Examples
         General Examples
        General Examples
            Interfacing to C: Example and Test
            Gradient of Determinant Using Expansion by Minors: Example and Test
            Gradient of Determinant Using Lu Factorization: Example and Test
            Gradient of Determinant Using Expansion by Minors: Example and Test
            Gradient of Determinant Using LU Factorization: Example and Test
            A Stiff Ode: Example and Test
            Taylor's Ode Solver: An Example and Test
            Using Adolc with Taylor's Ode Solver: An Example and Test
            Example Differentiating a Stack Machine Interpreter
             Using Multiple Levels of AD
            Using Multiple Levels of AD
                Multiple Tapes: Example and Test

         Utility Routines used by CppAD Examples
        Utility Routines used by CppAD Examples
            Program That Runs the CppAD Examples
            Program That Runs the Speed Examples
             Lu Factor and Solve with Recorded Pivoting
            Lu Factor and Solve with Recorded Pivoting
                Lu Factor and Solve With Recorded Pivoting: Example and Test

        List of All the CppAD Examples
        Choosing The Vector Testing Template Class

     Appendix
    Appendix
        Frequently Asked Questions and Answers
         Speed Test Routines
        Speed Test Routines
            Speed Testing Main Program
             Speed Testing Utilities
            Speed Testing Utilities
                 Simulate a [0,1] Uniform Random Variate
                Simulate a [0,1] Uniform Random Variate
                    Source: uniform_01

                 Determinant of a Minor
                Determinant of a Minor
                    Determinant of a Minor: Example and Test
                    Source: det_of_minor

                 Determinant Using Expansion by Minors
                Determinant Using Expansion by Minors
                    Determinant Using Expansion by Minors: Example and Test
                    Source: det_by_minor

                 Determinant Using Expansion by Lu Factorization
                Determinant Using Expansion by Lu Factorization
                    Determinant Using Lu Factorization: Example and Test
                    Source: det_by_lu

                 Check Determinant of 3 by 3 matrix
                Check Determinant of 3 by 3 matrix
                    Source: det_33

                 Check Gradient of Determinant of 3 by 3 matrix
                Check Gradient of Determinant of 3 by 3 matrix
                    Source: det_grad_33

             Speed Test Functions in Double
            Speed Test Functions in Double
                Double Speed: Determinant Using Expansion by Minors
                Double Speed: Determinant Using Lu Factorization
                Double Speed: Evaluate a Polynomial

             Speed Test Derivatives Using Adolc
            Speed Test Derivatives Using Adolc
                Adolc Speed: Gradient of Determinant Using Expansion by Minors
                Adolc Speed: Gradient of Determinant Using Lu Factorization
                Adolc Speed: Second Derivative of a Polynomial

             Speed Test Derivatives Using CppAD
            Speed Test Derivatives Using CppAD
                CppAD Speed: Gradient of Determinant Using Expansion by Minors
                CppAD Speed: Gradient of Determinant Using Lu Factorization
                CppAD Speed: Second Derivative of a Polynomial

             Speed Test Derivatives Using Fadbad
            Speed Test Derivatives Using Fadbad
                Fadbad Speed: Gradient of Determinant Using Expansion by Minors
                Fadbad Speed: Gradient of Determinant Using Lu Factorization
                Fadbad Speed: Second Derivative of a Polynomial

             Speed Test Derivatives Using Sacado
            Speed Test Derivatives Using Sacado
                Sacado Speed: Gradient of Determinant Using Expansion by Minors
                Sacado Speed: Gradient of Determinant Using Lu Factorization
                Sacado Speed: Second Derivative of a Polynomial

         The Theory of Derivative Calculations
        The Theory of Derivative Calculations
             The Theory of Forward Mode
            The Theory of Forward Mode
                Exponential Function Forward Taylor Polynomial Theory
                Logarithm Function Forward Taylor Polynomial Theory
                Square Root Function Forward Taylor Polynomial Theory
                Trigonometric and Hyperbolic Sine and Cosine Forward Theory
                Arctangent Function Forward Taylor Polynomial Theory
                Arcsine Function Forward Taylor Polynomial Theory
                Arccosine Function Forward Taylor Polynomial Theory

             The Theory of Reverse Mode
            The Theory of Reverse Mode
                Exponential Function Reverse Mode Theory
                Logarithm Function Reverse Mode Theory
                Square Root Function Reverse Mode Theory
                Trigonometric and Hyperbolic Sine and Cosine Reverse Theory
                Arctangent Function Reverse Mode Theory
                Arcsine Function Reverse Mode Theory
                Arccosine Function Reverse Mode Theory

            An Important Reverse Mode Identity

        Glossary
        Bibliography
        Know Bugs and Problems Using CppAD
        The CppAD Wish List
         Changes and Additions to CppAD
        Changes and Additions to CppAD
            Changes and Additions to CppAD During 2007
            Changes and Additions to CppAD During 2006
            Changes and Additions to CppAD During 2005
            Changes and Additions to CppAD During 2004
            Changes and Additions to CppAD During 2003

        Deprecated Include Files
        Your License for the CppAD Software

    Alphabetic Listing of Cross Reference Tags
    Keyword Index
    Search This Web Site
    External Internet References