Common ways to compute derivatives
Channel: OpenMDAO
Date: 2022-09-14

There are many ways to compute partial derivatives: finite-differencing, complex-step, analytically by hand, or through algorithmic differentiation. The best method depends on your problem formulation, but the best implementation usually involves an intelligent mix of these methods.

0:00 - Intro
0:55 - Finite difference
6:08 - Complex step
10:16 - Analytically or by hand
12:30 - Algorithmic (automatic) differentiation
16:15 - Conclusion

Accompanying course page: https://openmdao.github.io/PracticalMDO/Notebooks/Differentiation/common_ways_to_compute_derivatives.html

The referenced textbook Engineering Design Optimization by Martins and Ning is available for free at https://mdobook.github.io/
Chapter 6 is all about computing derivatives.
Sec. 6.4 - finite difference
Sec. 6.5 - complex step
Sec. 6.3, 6.7 (and throughout the book) - analytic
Sec. 6.6 - algorithmic differentiation

TODO: add linked lectures as they're developed