The Living Thing / Notebooks :

Wirtinger calculus

It’s not complicated/ It’s complex

How do you differentiate real-valued functions of complex arguments? Wirtinger calculus! See Wirtinger derivatives.

Boubolis has a punchy intro.

Wirtinger’s calculus has become very popular in the signal processing community mainly in the context of complex adaptive filtering, as a means of computing, in an elegant way, gradients of real valued cost functions defined on complex domains ( \(\mathbb{C}^{\nu}\) ). Such functions, obviously, are not holomorphic and therefore the complex derivative cannot be used. Instead, if we consider that the cost function is defined on a Euclidean domain with a double dimensionality (\(\mathbb{R}^{2\nu}\)), then the real derivatives may be employed. The price of this approach is that the computations become cumbersome and tedious. Wirtinger’s calculus provides an alternative equivalent formulation, that is based on simple rules and principles and which bears a great resemblance to the rules of the standard complex derivative… A common misconception …is that Wirtinger’s calculus uses an alternative definition of derivatives and therefore results in different gradient rules in minimization problems. We should emphasize that the theoretical foundation of Wirtinger’s calculus is the common definition of the real derivative. However, it turns out that when the complex structure is taken into account, the real derivatives may be described using an equivalent and more elegant formulation which bears a surprising resemblance with the complex derivative. Therefore, simple rules may be derived and the computations of the gradients, which may become tedious if the double dimensional space \(\mathbb{R}^{2\nu}\), is considered, are simplified.

(This is a neat paper, extending Wirtinger derivatives into the inner product domain in a pedagogically gracious fashion.)

Other favoured resources: