|
Prev | Next | _contents | Headings |
cppad-20221105: A C++ Algorithmic Differentiation Package
CppAD Download, Test, and Install Instructions
Using CMake to Configure CppAD
Download and Install The CppAD Optional Packages
Enabling Colpack Sparsity Calculations
The Theory of Derivative Calculations
An Introduction by Example to Algorithmic Differentiation
Second Order Exponential Approximation
exp_2: Operation Sequence and Zero Order Forward Mode
exp_2: First Order Forward Mode
exp_2: First Order Reverse Mode
exp_2: Second Order Forward Mode
exp_2: Second Order Reverse Mode
An Epsilon Accurate Exponential Approximation
exp_eps: Operation Sequence and Zero Order Forward Sweep
exp_eps: First Order Forward Sweep
exp_eps: First Order Reverse Sweep
exp_eps: Second Order Forward Mode
exp_eps: Second Order Reverse Sweep
The Theory of Forward Mode
The Theory of Reverse Mode
AD Theory for Solving ODE's Using Taylor's Method
AD Objects
AD Constructors
AD Assignment Operator
Conversion and I/O of AD Objects
Convert From an AD Type to its Base Type
Convert From AD to Integer
AD Input Stream Operator
AD Output Stream Operator
Printing AD Values During Forward Mode
Convert an AD Variable or Dynamic Parameter to a Constant
AD Valued Operations and Functions
AD Arithmetic Operators and Compound Assignments
AD Unary Plus Operator
AD Unary Minus Operator
AD Binary Arithmetic Operators
AD Compound Assignment Operators
The Unary Standard Math Functions
Inverse Cosine Function: acos
The Inverse Hyperbolic Cosine Function: acosh
Inverse Sine Function: asin
The Inverse Hyperbolic Sine Function: asinh
Inverse Tangent Function: atan
The Inverse Hyperbolic Tangent Function: atanh
The Cosine Function: cos
The Hyperbolic Cosine Function: cosh
The Error Function
The Complementary Error Function: erfc
The Exponential Function: exp
The Exponential Function Minus One: expm1
The Exponential Function: log
The Logarithm of One Plus Argument: log1p
The Base 10 Logarithm Function: log10
The Sine Function: sin
The Hyperbolic Sine Function: sinh
The Square Root Function: sqrt
The Tangent Function: tan
The Hyperbolic Tangent Function: tanh
AD Absolute Value Functions: abs, fabs
The Sign: sign
The Binary Math Functions
AD Two Argument Inverse Tangent Function
The AD Power Function
Absolute Zero Multiplication
AD Conditional Expressions
Discrete AD Functions
Numeric Limits For an AD and Base Types
Atomic AD Functions
Atomic AD Functions: Fourth Generation
Defining Atomic Functions: Fourth Generation
Examples Defining Atomic Functions: Fourth Generation
Atomic Vector Element-wise Operators: Example and Test
Implementing Atomic Vector Operations
Atomic Matrix Multiply Class: Example Implementation
Implementing Atomic Matrix Multiply
Atomic First Order Linear ODE Method: Example Implementation
Implementing Atomic Linear ODE
Atomic Linear ODE Reverse Mode: Example Implementation
Atomic AD Functions: Third Generation
Defining Atomic Functions: Third Generation
Atomic Function Forward Mode
Atomic Function Reverse Mode
Atomic Function Jacobian Sparsity Patterns
Atomic Function Hessian Sparsity Patterns
Atomic Function Reverse Dependency Calculation
Example Defining Atomic Functions: Third Generation
User Atomic Matrix Multiply: Example and Test
Checkpoint Functions: Second Generation
Bool Valued Operations and Functions with AD Arguments
AD Binary Comparison Operators
Compare AD and Base Objects for Nearly Equal
AD Boolean Functions
Constant, Dynamic, Parameter, and Variable
Check if Two Value are Identically Equal
AD Vectors that Record Index Operations
AD<Base> Requirements for a CppAD Base Type
Example AD Base Types That are not AD<OtherBase>
Enable use of AD<Base> where Base is Adolc's adouble Type
Enable use of AD<Base> where Base is std::complex<double>
ADFun Objects
Create an ADFun Object by Recording an Operation Sequence
Declare Independent Variables and Start Recording
Construct an ADFun Object and Stop Recording
Abort Recording of an Operation Sequence
ADFun Function Properties
Setting and Getting a Function's Name
Other Ways to Create an ADFun Object
Create an AD<Base> Function From a Base Function
Json Representation of an AD Graph
Json AD Graph Operator Definitions
ADFun Object Corresponding to a Json AD Graph
Json AD Graph Corresponding to an ADFun Object
C++ Representation of an AD Graph
C++ AD Graph Operator Enum Type
A C++ AD Graph Class
Print A C++ AD Graph
ADFun Object Corresponding to a CppAD Graph
Create An Abs-normal Representation of a Function
Examples and Tests: Abs-normal Representation of Non-Smooth Functions
abs_normal: Evaluate First Order Approximation
abs_normal: Solve a Linear Program Using Simplex Method
abs_normal: Solve a Linear Program With Box Constraints
abs_normal: Minimize a Linear Abs-normal Approximation
Non-Smooth Optimization Using Abs-normal Linear Approximations
Solve a Quadratic Program Using Interior Point Method
abs_normal: Solve a Quadratic Program With Box Constraints
abs_normal: Minimize a Linear Abs-normal Approximation
Non-Smooth Optimization Using Abs-normal Quadratic Approximations
First and Second Order Derivatives: Easy Drivers
Jacobian: Driver Routine
Hessian: Easy Driver
First Order Partial Derivative: Driver Routine
First Order Derivative: Driver Routine
Forward Mode Second Partial Derivative Driver
Reverse Mode Second Partial Derivative Driver
Forward Mode
Change the Dynamic Parameters
Multiple Order Forward Mode
Multiple Directions Forward Mode
Comparison Changes Between Taping and Zero Order Forward
Controlling Taylor Coefficients Memory Allocation
Number of Variables that Can be Skipped
Reverse Mode
First Order Reverse Mode
Second Order Reverse Mode
Any Order Reverse Mode
Reverse Mode Using Subgraphs
Calculating Sparsity Patterns
Forward Mode Jacobian Sparsity Patterns
Reverse Mode Jacobian Sparsity Patterns
Forward Mode Hessian Sparsity Patterns
Reverse Mode Hessian Sparsity Patterns
Subgraph Dependency Sparsity Patterns
Jacobian Sparsity Pattern: Forward Mode
Jacobian Sparsity Pattern: Reverse Mode
Hessian Sparsity Pattern: Reverse Mode
Hessian Sparsity Pattern: Forward Mode
Calculating Sparse Derivatives
Computing Sparse Jacobians
Sparse Jacobian
Computing Sparse Hessians
Sparse Hessian
Compute Sparse Jacobians Using Subgraphs
Optimize an ADFun Object Tape
Check an ADFun Sequence of Operations
Check an ADFun Object For Nan Results
C Source Code Corresponding to an ADFun Object
JIT Creation, Compilation, and Linking of C Source Code
Using CppAD in a Multi-Threading Environment
Run Multi-Threading Examples and Speed Tests
Multi-Threading Harmonic Summation Example / Test
Multi-Threading atomic_three Example / Test
Multi-Threading chkpoint_two Example / Test
Multi-Threaded Newton Method Example / Test
Specifications for A Team of AD Threads
Some General Purpose Utilities
Check NumericType Class Concept
Check Simple Vector Concept
Replacing the CppAD Error Handler
Returns Indices that Sort a Vector
Link a Dynamic Link Library
Obtain Nan or Determine if a Value is Nan
Determine if Two Values Are Nearly Equal
An Error Controller for ODE Solvers
An Arbitrary Order Gear Method
An Error Controller for Gear's Ode Solvers
The CppAD::vector Template Class
Evaluate a Polynomial or its Derivative
The Integer Power Function
Multi-dimensional Romberg Integration
One DimensionalRomberg Integration
A 3rd and 4th Order Rosenbrock ODE Solver
An Embedded 4th and 5th Order Runge-Kutta ODE Solver
Union of Standard Sets
Convert A CppAD Sparse Matrix to an Eigen Sparse Matrix
Row and Column Index Sparsity Patterns
Sparse Matrix Row, Column, Value Representation
Run One Speed Test and Return Results
Run One Speed Test and Print Results
Determine Amount of Time to Execute a Test
Returns Elapsed Number of Seconds
Convert Certain Types to a String
Compute Determinants and Solve Equations by LU Factorization
Compute Determinant and Solve Linear Equations
LU Factorization of A Square Matrix
Invert an LU Factored Equation
Definition of a Numeric Type
C++ Concept: A Simple Vector
A Fast Multi-Threading Memory Allocator
Use Ipopt to Solve a Nonlinear Programming Problem
Examples
General Examples
Enable Use of Eigen Linear Algebra Package with CppAD
Using Multiple Levels of AD
Generate Source Code and Compile an AD Function
Utility Routines used by CppAD Examples
Lu Factor and Solve with Recorded Pivoting
Speed Test an Operator Overloading AD Package
Running the Speed Test Program
Package Specific Speed Test Linking Routines
Speed Testing Utilities
Determinant Using Expansion by Lu Factorization
Determinant of a Minor
Determinant Using Expansion by Minors
Check Determinant of 3 by 3 matrix
Check Gradient of Determinant of 3 by 3 matrix
Sum Elements of a Matrix Times Itself
Evaluate a Function Defined in Terms of an ODE
Evaluate a Function That Has a Sparse Jacobian
Evaluate a Function That Has a Sparse Hessian
Simulate a [0,1] Uniform Random Variate
Speed Test of Functions in Double
Speed Test of Derivatives Using Adolc
Speed Test Derivatives Using CppAD
Speed Test Derivatives Using Fadbad
Speed Test Derivatives Using cppad_jit
Speed Test Derivatives Using Cppadcg
Speed Test Derivatives Using Sacado
Speed Test Example and Template for a New Package
Appendix
Changes and Additions to CppAD
CppAD Deprecated API Features
A Quick OpenMP Memory Allocator Used by CppAD
Defining Atomic Functions: Second Generation
Example Defining Atomic Functions: Second Generation
Atomic Eigen Matrix Multiply: Example and Test
Atomic Eigen Matrix Inverse: Example and Test
Atomic Eigen Cholesky Factorization: Example and Test
Multi-Threading atomic_two Example / Test
Multi-Threading chkpoint_one Example / Test
Compare Speed of C and C++
Some Numerical AD Utilities
Computing Jacobian and Hessian of Bender's Reduced Objective
Jacobian and Hessian of Optimal Values
LU Factorization of A Square Matrix and Stability Calculation