
Recent Advances in Algorithmic Differentiation
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions


Content
- Intro
- Recent Advances in Algorithmic Differentiation
- Preface
- Contents
- Contributors
- A Leibniz Notation for Automatic Differentiation
- 1 Historical Background
- 2 The Leibniz Notation
- 2.1 The Forward Mode
- 2.2 The Reverse Mode
- 2.3 Forward over Forward
- 2.4 Forward over Reverse
- 3 Second Order Approaches Involving Reverse Mode
- 3.1 Forward over Reverse
- 3.2 Reverse over Forward
- 3.3 Reverse over Reverse
- 4 The Equivalence Theorem
- References
- Sparse Jacobian Construction for Mapped Grid Visco-Resistive Magnetohydrodynamics
- 1 Introduction
- 1.1 Model
- 1.2 Implicit Solver Framework
- 2 Preconditioner Construction
- 2.1 Code Reconfiguration
- 2.2 OpenAD Usage
- 2.3 Code Integration
- 3 Results
- 3.1 Conclusions and Future Work
- References
- Combining Automatic Differentiation Methods for High-Dimensional Nonlinear Models
- 1 Introduction
- 2 Methodology
- 3 Implementation
- 3.1 Gradients with OpenAD
- 3.2 Higher-Order Derivatives with Rapsodia
- 4 Test Cases
- References
- Application of Automatic Differentiation to an Incompressible URANS Solver
- 1 Introduction
- 2 Incompressible URANS Equations and Flow Solver
- 3 Generation of a Discrete Adjoint Solver
- 3.1 Reversal of the Time Loop
- 3.2 Adjoining the Outer Iterations
- 3.3 Parallelization of the Adjoint Solver
- 4 Validation of the Adjoint Solver
- References
- Applying Automatic Differentiation to the Community Land Model
- 1 Introduction
- 2 Background
- 3 Automatic Differentiation and OpenAD
- 4 AD Development Process
- 4.1 Code Comprehension
- 4.2 Preprocessing
- 4.3 Transformation
- 4.4 Postprocessing
- 5 Results
- 6 Conclusion
- References
- Using Automatic Differentiation to Study the Sensitivity of a Crop Model
- 1 The Application Domain: The Agronomic Crop Model STICS
- 2 Sensitivity Analysis
- 3 Automatic Differentiation of STICS
- 3.1 The TAPENADE Automatic Differentiation Tool
- 3.2 STICS Adjoint : The Pains and Sufferings of an AD End-User
- 3.3 Validation of the Adjoint Model
- 4 Results: Sensitivity Analysis of STICS
- 4.1 Selection of Input Parameters for Sensitivity Analysis of Output Variables
- 4.2 Sensitivity Results of LAI and Biomass
- 5 Conclusion and Outlook
- References
- Efficient Automatic Differentiation of Matrix Functions
- 1 Introduction
- 1.1 Terminology
- 1.2 Matrix Derivatives in Matrix Form
- 2 Kronecker Products
- 3 Box Products
- 3.1 Box Products of Identity Matrices
- 4 Differentiation Rules
- 4.1 A Simple Example
- 4.2 The Hessian and Newton's Method
- 4.3 An Example Taylor Series
- 5 Future Work
- References
- Native Handling of Message-Passing Communication in Data-Flow Analysis
- 1 Introduction
- 2 Context-Sensitive and Flow-Sensitive Data-Flow Analysis
- 3 Impact of Message-Passing on Data-Flow Analysis
- 4 Data-Flow Analysis with Flow Graph Local Restart
- 5 Performance Discussion
- 6 Choosing a Good Set of Channels
- 7 Implementation and Outlook
- References
- Increasing Memory Locality by Executing Several Model Instances Simultaneously
- 1 Introduction
- 2 Cloning
- 3 Applications
- 4 Conclusions
- References
- Adjoint Mode Computation of Subgradients for McCormickRelaxations
- 1 Introduction
- 2 Tangent-Linear Mode Computation of Subgradients of McCormick Relaxations
- 3 Adjoint Mode Computation of Subgradients of McCormick Relaxations
- 4 Numerical Results
- 5 Conclusion and Outlook
- References
- Evaluating an Element of the Clarke Generalized Jacobian of a Piecewise Differentiable Function
- 1 Introduction
- 2 Mathematical Background
- 2.1 Piecewise Differentiable Functions
- 2.2 Automatic Differentiation
- 3 Generalized Jacobian Element Evaluation
- 4 Concluding Remarks
- References
- The Impact of Dynamic Data Reshaping on Adjoint Code Generation for Weakly-Typed Languages Such as Matlab
- 1 Introduction
- 2 Implicit Scalar Expansion and Array Reshape
- 2.1 Binary Component-Wise Operators
- 2.2 General Expressions
- 2.3 Matrix Multiplication
- 2.4 One-to-Many Index Assignment and Implicit Array Reshape
- 3 Performance of the Adjred Mechanism
- 4 Implicit Array Enlargement
- 5 Performance of the push_index/pop_index Mechanism
- 6 Conclusion
- References
- On the Efficient Computation of Sparsity Patterns for Hessians
- 1 Introduction
- 2 Algorithms for Exact and Overestimated Sparsity Patterns
- 3 New Data Structures and Corresponding Set Operations
- 4 Numerical Examples
- 5 Conclusions and Outlook
- References
- Exploiting Sparsity in Automatic Differentiation on Multicore Architectures
- 1 Introduction
- 2 Parallel Derivative Computation in ADOL-C
- 3 Parallel Sparse Derivative Computation
- 3.1 Sparsity Pattern Detection
- 3.2 Seed Matrix Determination
- 3.3 Derivative Calculation
- 4 Experimental Results
- 4.1 Test Cases
- 4.2 Runtime Results
- 5 Conclusion
- References
- Automatic Differentiation Through the Use of Hyper-Dual Numbers for Second Derivatives
- 1 Introduction
- 2 First Derivative Calculations
- 3 Second Derivative Calculations
- 4 Hyper-Dual Number Implementation and Results
- 4.1 Application to a Computational Fluid Dynamics Code
- 4.2 Computational Cost
- 5 Conclusion
- References
- Connections Between Power Series Methods and Automatic Differentiation
- 1 Introduction
- 2 Applying PSM
- 2.1 Example 1: PSM and AD Applied to an IVODE
- 2.2 Example 2: Root-Finding
- 2.3 Example 3: The Maclaurin Polynomial for an Inverse Function
- 3 PSM Theory and AD
- 4 Conclusion
- References
- Hierarchical Algorithmic Differentiation A Case Study
- 1 Introduction
- 2 Problem Description
- 3 Structure of JURASSIC2
- 4 Performance Analysis
- 5 Numerical Results
- 6 Summary and Conclusion
- References
- Storing Versus Recomputation on Multiple DAGs
- 1 Introduction
- 2 A Use Case for Storing Edge Labels
- 3 Computational Graphs Share Value Restoration
- 4 Problem Formulation
- 4.1 A Cost Function
- 4.2 A Search Strategy
- 4.3 Algorithm
- 5 Observations and Summary
- References
- Using Directed Edge Separators to Increase Efficiency in the Determination of Jacobian Matrices via Automatic Differentiation
- 1 Introduction
- 1.1 Automatic Differentiation and the Edge Separator
- 2 On Finding Separators to Increase Efficiency in the Application of Automatic Differentiation
- 2.1 Minimum Weighted Separator
- 2.2 Natural Order Edge Separator
- 2.3 Multiple Separators
- 3 Experiments
- 3.1 Thin Computational Graphs
- 3.2 Fat Computational Graphs
- 4 Accelerating the Calculation of the Jacobian matrix
- 5 Concluding Remarks
- References
- An Integer Programming Approach to Optimal DerivativeAccumulation
- 1 Introduction
- 2 Integer Programming Formulations
- 2.1 IP Formulation
- 2.2 Computational Consideration for Solving (MinFlops)
- 3 Computational Experiments
- 4 Conclusion
- References
- The Relative Cost of Function and Derivative Evaluations in the CUTEr Test Set
- 1 Introduction
- 2 Numerical Results
- 2.1 Problem Dimension and Ratio
- 2.2 Run-Time and Run-Time Ratios
- 2.3 Sparsity
- 3 Conclusion
- References
- Java Automatic Differentiation Tool Using Virtual OperatorOverloading
- 1 Introduction
- 1.1 Java AD Tool
- 1.2 Requirements for System Design Optimization
- 2 Virtual Operator Overloading
- 2.1 Forward Model Principle
- 2.2 Using Jacobian and Partial Derivatives
- 2.3 Management of External Functions
- 3 JAP Architecture
- 3.1 Lexical and Syntax Analysis
- 3.2 Source Class Decomposition
- 3.3 Adding Forward Propagation Method
- 3.4 JAP Limits
- 4 JAP Performance
- 5 Conclusions and Perspectives
- References
- High-Order Uncertainty Propagation Enabled by Computational Differentiation
- 1 Introduction
- 2 Computational Differentiation
- 3 State Transition Tensor Models
- 4 Probability Distribution Function
- 4.1 Approximate Solutions to the Liouville's Equation
- 4.2 Data Structures for Numerical Integration
- 5 Applications
- 5.1 Unforced Duffing Oscillator
- 5.2 Two-Body Problem
- 6 Summary and Conclusion
- References
- Generative Programming for Automatic Differentiation
- 1 Introduction
- 2 Related Work
- 3 Implementation
- 3.1 Implementation Details
- 3.1.1 Expression Tree
- 3.1.2 Code Generation
- 4 Experimental Results
- 5 Conclusion and Future Work
- References
- AD in Fortran: Implementation via Prepreprocessor
- 1 Introduction
- 2 Language Extensions
- 2.1 Extension 1: AD Syntax
- 2.2 Extension 2: Nested Subprograms
- 2.3 Concrete Example
- 3 Implementation
- 3.1 Nested Subprograms in Detail
- 3.2 AD Syntax in Detail
- 3.3 Performance
- 4 Conclusion
- References
- An AD-Enabled Optimization ToolBox in LabVIEWT
- 1 Introduction
- 2 Implementation of AD in LabVIEW: The LVAD Package
- 2.1 LVAD Class
- 2.2 Operator Overloading
- 2.3 Examples
- 3 Implementation of a LabVIEW Optimization Toolbox
- 3.1 Root Finding: The fzero subVI
- 3.2 Minimization: The fmin subVI
- 4 Results
- 4.1 Simple Example
- 4.2 Performance Testing
- 5 Conclusions
- References
- CasADi: A Symbolic Package for Automatic Differentiation and Optimal Control
- 1 Introduction and Motivation
- 2 Background: Eight Flavors of Automatic Differentiation
- 2.1 Operator Overloading versus Source Code Transformation
- 2.2 Scalar versus Matrix-Valued Atomic Operations
- 3 Structure of CasADi
- 3.1 Two Different Expression Graph Representations
- 3.1.1 Scalar-Valued Atomic Operations
- 3.1.2 Sparse, Matrix-Valued Atomic Operations
- 3.2 Three Different Symbolic Types
- 3.3 Function Objects
- 3.4 Sparsity Pattern Detection and Graph Coloring for Jacobians
- 3.5 External Solver Interfaces
- 3.6 Python and Octave Front-Ends
- 4 Numerical Results
- 5 Conclusion
- References
- Efficient Expression Templates for Operator Overloading-Based Automatic Differentiation
- 1 Introduction
- 2 Expression Templates for Forward Mode AD
- 3 Improving Performance of Expression Templates
- 4 Application to Differentiation of a Fluid Dynamics Simulation
- 5 Concluding Remarks
- References
- Computing Derivatives in a Meshless Simulation Using Permutations in ADOL-C
- 1 Introduction
- 2 Finite Pointset Method
- 3 Permutations and Selections
- 3.1 Active rvalue and lvalue Subscripting
- 3.2 Permutations in Finite Pointset Method
- 4 Numerical Simulation with Finite Pointset Method
- 5 Other Applications
- 6 Conclusions
- References
- Lazy K-Way Linear Combination Kernels for Efficient Runtime Sparse Jacobian Matrix Evaluations in C++
- 1 Introduction
- 1.1 This Work
- 2 Lazy Evaluation Techniques for Dynamic Sparsity
- 3 K-Way SPLC Evaluation Kernels
- 3.1 K-Way SPLC Kernel 1: Caching Nodal Binary Tree
- 3.2 K-Way SPLC Kernel 2: Prolong-and-Restrict Dense Accumulation
- 3.3 Summary
- 4 Computational Examples
- 4.1 Model SPLC Numerical Experiments
- 4.2 Model Problem Simulation Jacobian
- 5 Summary
- References
- Implementation of Partial Separability in a Source-to-Source Transformation AD Tool
- 1 Introduction
- 1.1 ADIC2
- 1.2 ColPack
- 2 Related Work
- 3 Implementation
- 4 Experimental Results
- 5 Conclusion
- References
- Editorial Policy
- Lecture Notesin Computational Science and Engineering
- Monographs in Computational Science and Engineering
- Texts in Computational Science and Engineering
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.