This tutorial covers the following key aspects of complex-valued automatic differentiation:
Background on real-valued automatic differentiation, including the concepts of linearization, Jacobian-vector products (JVPs), and vector-Jacobian products (VJPs).
Extension of automatic differentiation to complex numbers by treating complex values as pairs of real numbers (latent JVPs).
Introduction of Wirtinger derivatives as a more efficient way to handle complex-valued functions, avoiding the need to separate real and imaginary parts.
Derivation of latent VJPs using Wirtinger derivatives, including a discussion on the choice of gradient convention.
Practical implementation of complex-valued JVPs and VJPs in JAX, demonstrating the ease of switching between different gradient conventions.
The tutorial aims to provide a comprehensive understanding of complex-valued automatic differentiation, enabling users and developers to effectively implement custom gradient propagation rules for complex-valued functions, which is crucial for applications such as quantum computing and numerical linear algebra.
In un'altra lingua
dal contenuto originale
arxiv.org
Approfondimenti chiave tratti da
by Nich... alle arxiv.org 09-12-2024
https://arxiv.org/pdf/2409.06752.pdfDomande più approfondite