CR Calculus

$ % macros % MathJax \newcommand{\bigtimes}{\mathop{\vcenter{\hbox{$\Huge\times\normalsize$}}}} % prefix with \! and postfix with \!\! % sized grouping symbols \renewcommand {\aa} [1] {\left\langle {#1} \right\rangle} % <> angle brackets \newcommand {\bb} [1] {\left[ {#1} \right]} % [] brackets \newcommand {\cc} [1] {\left\{ {#1} \right\}} % {} curly braces \newcommand {\mm} [1] {\lVert {#1} \rVert} % || || double norm bars \newcommand {\nn} [1] {\lvert {#1} \rvert} % || norm bars \newcommand {\pp} [1] {\left( {#1} \right)} % () parentheses % unit \newcommand {\unit} [1] {\bb{\mathrm{#1}}} % measurement unit % math \newcommand {\fn} [1] {\mathrm{#1}} % function name % sets \newcommand {\setZ} {\mathbb{Z}} \newcommand {\setQ} {\mathbb{Q}} \newcommand {\setR} {\mathbb{R}} \newcommand {\setC} {\mathbb{C}} % arithmetic \newcommand {\q} [2] {\frac{#1}{#2}} % quotient, because fuck \frac % trig \newcommand {\acos} {\mathrm{acos}} % \mathrm{???}^{-1} is misleading \newcommand {\asin} {\mathrm{asin}} \newcommand {\atan} {\mathrm{atan}} \newcommand {\atantwo} {\mathrm{atan2}} % at angle = atan2(y, x) \newcommand {\asec} {\mathrm{asec}} \newcommand {\acsc} {\mathrm{acsc}} \newcommand {\acot} {\mathrm{acot}} % complex numbers \newcommand {\z} [1] {\tilde{#1}} \newcommand {\conj} [1] {{#1}^\ast} \renewcommand {\Re} {\mathfrak{Re}} % real part \renewcommand {\Im} {\mathrm{I}\mathfrak{m}} % imaginary part % quaternions \newcommand {\quat} [1] {\tilde{\mathbf{#1}}} % quaternion symbol \newcommand {\uquat} [1] {\check{\mathbf{#1}}} % versor symbol \newcommand {\gquat} [1] {\tilde{\boldsymbol{#1}}} % greek quaternion symbol \newcommand {\guquat}[1] {\check{\boldsymbol{#1}}} % greek versor symbol % vectors \renewcommand {\vec} [1] {\mathbf{#1}} % vector symbol \newcommand {\uvec} [1] {\hat{\mathbf{#1}}} % unit vector symbol \newcommand {\gvec} [1] {\boldsymbol{#1}} % greek vector symbol \newcommand {\guvec} [1] {\hat{\boldsymbol{#1}}} % greek unit vector symbol % special math vectors \renewcommand {\r} {\vec{r}} % r vector [m] \newcommand {\R} {\vec{R}} % R = r - r' difference vector [m] \newcommand {\ur} {\uvec{r}} % r unit vector [#] \newcommand {\uR} {\uvec{R}} % R unit vector [#] \newcommand {\ux} {\uvec{x}} % x unit vector [#] \newcommand {\uy} {\uvec{y}} % y unit vector [#] \newcommand {\uz} {\uvec{z}} % z unit vector [#] \newcommand {\urho} {\guvec{\rho}} % rho unit vector [#] \newcommand {\utheta} {\guvec{\theta}} % theta unit vector [#] \newcommand {\uphi} {\guvec{\phi}} % phi unit vector [#] \newcommand {\un} {\uvec{n}} % unit normal vector [#] % vector operations \newcommand {\inner} [2] {\left\langle {#1} , {#2} \right\rangle} % <,> \newcommand {\outer} [2] {{#1} \otimes {#2}} \newcommand {\norm} [1] {\mm{#1}} \renewcommand {\dot} {\cdot} % dot product \newcommand {\cross} {\times} % cross product % matrices \newcommand {\mat} [1] {\mathbf{#1}} % matrix symbol \newcommand {\gmat} [1] {\boldsymbol{#1}} % greek matrix symbol % ordinary derivatives \newcommand {\od} [2] {\q{d #1}{d #2}} % ordinary derivative \newcommand {\odn} [3] {\q{d^{#3}{#1}}{d{#2}^{#3}}} % nth order od \newcommand {\odt} [1] {\q{d{#1}}{dt}} % time od % partial derivatives \newcommand {\de} {\partial} % partial symbol \newcommand {\pd} [2] {\q{\de{#1}}{\de{#2}}} % partial derivative \newcommand {\pdn} [3] {\q{\de^{#3}{#1}}{\de{#2}^{#3}}} % nth order pd \newcommand {\pdd} [3] {\q{\de^2{#1}}{\de{#2}\de{#3}}} % 2nd order mixed pd \newcommand {\pdt} [1] {\q{\de{#1}}{\de{t}}} % time pd % vector derivatives \newcommand {\del} {\nabla} % del \newcommand {\grad} {\del} % gradient \renewcommand {\div} {\del\dot} % divergence \newcommand {\curl} {\del\cross} % curl % differential vectors \newcommand {\dL} {d\vec{L}} % differential vector length [m] \newcommand {\dS} {d\vec{S}} % differential vector surface area [m^2] % special functions \newcommand {\Hn} [2] {H^{(#1)}_{#2}} % nth order Hankel function \newcommand {\hn} [2] {H^{(#1)}_{#2}} % nth order spherical Hankel function % transforms \newcommand {\FT} {\mathcal{F}} % fourier transform \newcommand {\IFT} {\FT^{-1}} % inverse fourier transform % signal processing \newcommand {\conv} [2] {{#1}\ast{#2}} % convolution \newcommand {\corr} [2] {{#1}\star{#2}} % correlation % abstract algebra \newcommand {\lie} [1] {\mathfrak{#1}} % lie algebra % other \renewcommand {\d} {\delta} % optimization %\DeclareMathOperator* {\argmin} {arg\,min} %\DeclareMathOperator* {\argmax} {arg\,max} \newcommand {\argmin} {\fn{arg\,min}} \newcommand {\argmax} {\fn{arg\,max}} % waves \renewcommand {\l} {\lambda} % wavelength [m] \renewcommand {\k} {\vec{k}} % wavevector [rad/m] \newcommand {\uk} {\uvec{k}} % unit wavevector [#] \newcommand {\w} {\omega} % angular frequency [rad/s] \renewcommand {\TH} {e^{j \w t}} % engineering time-harmonic function [#] % classical mechanics \newcommand {\F} {\vec{F}} % force [N] \newcommand {\p} {\vec{p}} % momentum [kg m/s] % \r % position [m], aliased \renewcommand {\v} {\vec{v}} % velocity vector [m/s] \renewcommand {\a} {\vec{a}} % acceleration [m/s^2] \newcommand {\vGamma} {\gvec{\Gamma}} % torque [N m] \renewcommand {\L} {\vec{L}} % angular momentum [kg m^2 / s] \newcommand {\mI} {\mat{I}} % moment of inertia tensor [kg m^2/rad] \newcommand {\vw} {\gvec{\omega}} % angular velocity vector [rad/s] \newcommand {\valpha} {\gvec{\alpha}} % angular acceleration vector [rad/s^2] % electromagnetics % fields \newcommand {\E} {\vec{E}} % electric field intensity [V/m] \renewcommand {\H} {\vec{H}} % magnetic field intensity [A/m] \newcommand {\D} {\vec{D}} % electric flux density [C/m^2] \newcommand {\B} {\vec{B}} % magnetic flux density [Wb/m^2] % potentials \newcommand {\A} {\vec{A}} % vector potential [Wb/m], [C/m] % \F % electric vector potential [C/m], aliased % sources \newcommand {\I} {\vec{I}} % line current density [A] , [V] \newcommand {\J} {\vec{J}} % surface current density [A/m] , [V/m] \newcommand {\K} {\vec{K}} % volume current density [A/m^2], [V/m^2] % \M % magnetic current [V/m^2], aliased, obsolete % materials \newcommand {\ep} {\epsilon} % permittivity [F/m] % \mu % permeability [H/m], aliased \renewcommand {\P} {\vec{P}} % polarization [C/m^2], [Wb/m^2] % \p % electric dipole moment [C m], aliased \newcommand {\M} {\vec{M}} % magnetization [A/m], [V/m] \newcommand {\m} {\vec{m}} % magnetic dipole moment [A m^2] % power \renewcommand {\S} {\vec{S}} % poynting vector [W/m^2] \newcommand {\Sa} {\aa{\vec{S}}_t} % time averaged poynting vector [W/m^2] % quantum mechanics \newcommand {\bra} [1] {\left\langle {#1} \right|} % <| \newcommand {\ket} [1] {\left| {#1} \right\rangle} % |> \newcommand {\braket} [2] {\left\langle {#1} \middle| {#2} \right\rangle} $

Table of Contents

Complex Real Representation

Consider a complex-valued function of a complex variable $f(z) : \setC \rightarrow \setC$ $$ f(z) \in \setC . $$ Complex variable $z$ can be represented in rectangular form as a linear combination of two real variables $x,y \in \setR$ $$ \boxed{z = x + i y} . $$ Likewise function $f$ can be represented in rectangular form as a linear combination of two real-valued functions $u, v : \setR^2 \rightarrow \setR$ of two real variables $x, y \in \setR$ $$ \label{eqn:fxy} \boxed{f(x, y) = u(x, y) + i v(x, y)} $$ so $f$ can be represented as a complex-valued function of two real variables $f: \setR^2 \rightarrow \setC$ $$ f(z) = f(x, y) \in \setC . $$

Complex Derivative

The complex derivative is defined analogous to the real derivative $$ \label{eqn:dfdz} \boxed{\od{f}{z} \equiv \lim_{\Delta z \rightarrow 0} \q{f(z + \Delta z) - f(z)}{\Delta z}} . $$ Complex differentiability imposes strong constraints on $f$. For the complex derivative to exist the definition must evaluate to the same number for any direction of $\Delta z$ in the complex plane. This is similar to the condition that for a real derivative to exist the left and right limits must be equal. Represent $\Delta z$ in rectangular form as $$ \Delta z = \Delta x + i \Delta y . $$ One way to evaluate the complex derivative is along the real axis $$ \label{eqn:complexdfdx} \od{f}{z} = \lim_{\Delta x \rightarrow 0} \q{f(x + \Delta x, y) - f(x, y)}{\Delta x} = \pd{f}{x} . $$ Another way to evaluate the complex derivative is along the imaginary axis $$ \label{eqn:complexdfdy} \od{f}{z} = \lim_{\Delta y \rightarrow 0} \q{f(x, y + \Delta y) - f(x, y)}{i \Delta y} = \q{1}{i} \pd{f}{y} . $$ For the complex derivative to exist, Eq. $\eqref{eqn:complexdfdx}$ and Eq. $\eqref{eqn:complexdfdy}$ must be equal $$ \pd{f}{x} = \q{1}{i} \pd{f}{y} . $$ Insert the rectangular form of $f$ into this equation $$ \bb{\pd{u}{x} + i \pd{v}{x}}= \q{1}{i} \bb{\pd{u}{y} + i \pd{v}{y}} $$ and isolate the real and imaginary parts to form a linear system of equations $$ \label{eqn:cr} \boxed{\begin{cases}\pd{u}{x} &= \pd{v}{y} \\ \pd{u}{y} &= -\pd{v}{x} \end{cases}} . $$ These are the Cauchy-Riemann equations. A function's real and imaginary parts must satisfy these equations to be complex-differentiable, or holomorphic.

Some important functions are not holomorphic, such as complex conjugation $$ f(x, y) = x - i y = \conj{z} $$ and complex modulus $$ f(x, y) = x^2 + y^2 = [x - i y] [x + i y] = \conj{z} z = \nn{z}^2. $$ These functions are used in the complex least squares cost function via the norm. Thus the complex derivative can't be applied to complex least squares optimization. In fact the only holomorphic real-valued function is a constant real function. However the rectangular form of a non-holomorphic complex function can still have well-defined real derivatives which can be exploited. This is the key idea of CR calculus.

CR Derivatives

Consider the complex differential $dz$ and its conjugate $d\conj{z}$ in rectangular form $$ \boxed{dz = dx + i dy \quad\quad\quad d\conj{z} = dx - i dy} . $$ Rewrite the complex differentials as the real part and imaginary part differentials $$ \label{eqn:dz} dx = \q{1}{2}[dz + d\conj{z}] \quad\quad\quad dy = \q{1}{2i}[dz - d\conj{z}] . $$ The total derivative of function $f$ in rectangular form is $$ df = \pd{f}{x} dx + \pd{f}{y} dy . $$ Use Eq. $\eqref{eqn:dz}$ to express the total derivative in terms of the complex differentials $$ df = \q{1}{2} \bb{\pd{f}{x} + \q{1}{i} \pd{f}{y}} dz + \q{1}{2} \bb{\pd{f}{x} - \q{1}{i} \pd{f}{y}} d\conj{z} . $$ Define the CR (Wirtinger) derivatives as $$ \label{eqn:wirt} \boxed{\pd{}{z} \equiv \q{1}{2} \bb{\pd{}{x} + \q{1}{i}\pd{}{y}}\quad\quad\quad\pd{}{\conj{z}} \equiv \q{1}{2} \bb{\pd{}{x} - \q{1}{i}\pd{}{y}}} $$ so the total derivative becomes $$ \boxed{df = \pd{f}{z} dz + \pd{f}{\conj{z}} d\conj{z}} . $$ These definitions suggest that $f(z)$ can be parameterized in terms of $f(z,\conj{z})$ $$ f(z) = f(x, y) = f(z, \conj{z}) \in \setC $$ which is further supported by $z$ and $\conj{z}$ behaving like independent variables with respect to the CR derivatives $$ \pd{z}{z} = \q{1}{2}\bb{\pd{}{x} + \q{1}{i}\pd{}{y}}[x + i y] = 1\quad\quad\quad\pd{\conj{z}}{z} = \q{1}{2}\bb{\pd{}{x} + \q{1}{i}\pd{}{y}}[x - i y] = 0 $$ $$ \pd{z}{\conj{z}} = \q{1}{2}\bb{\pd{}{x} - \q{1}{i}\pd{}{y}}[x + i y] = 0\quad\quad\quad\pd{\conj{z}}{\conj{z}} = \q{1}{2}\bb{\pd{}{x} - \q{1}{i}\pd{}{y}}[x - i y] = 1 . $$ In addition, a function $f(z, \conj{z})$ is holomorphic exactly when $\partial f / \partial \conj{z} = 0$ $$ \pd{f}{\conj{z}} = \q{1}{2}\bb{\pd{}{x} - \q{1}{i}\pd{}{y}}[u + i v] = \q{1}{2}\bb{\pd{u}{x} - \pd{v}{y}} + \q{i}{2} \bb{\pd{u}{y} + \pd{v}{x}} = 0 . $$ The last step follows from the Cauchy-Riemann equations, Eq. $\eqref{eqn:cr}$. Therefore a concise statement of the Cauchy-Riemann equations is $$ \boxed{\pd{f}{\conj{z}} = 0 \quad\Leftrightarrow\quad \text{holomorphic}} . $$ In the language of CR calculus it is now clear why the least squares cost function is not holomorphic; it depends on conjugated variables via the norm, so $\partial f / \partial \conj{z} \neq 0$.

The CR derivatives behave similar to real derivatives, in that they are linear operators with a product rule and chain rule. Linearity follows from the CR derivative definitions Eq. $\eqref{eqn:wirt}$ because they are linear combinations of linear operators, thus $$ \boxed{\pd{}{z}[\alpha f(z, \conj{z}) + \beta g(z, \conj{z})] = \alpha \pd{f}{z} + \beta \pd{g}{z}} . $$ The CR product rule follows the same pattern as the real product rule $$ \boxed{\pd{}{z}[f(z, \conj{z}) g(z, \conj{z})] = \pd{f}{z} g + f \pd{g}{z}} . $$

$$ \begin{align*} \pd{}{z}[f(z, \conj{z}) g(z, \conj{z})] &= \q{1}{2} \bb{\pd{}{x} + \q{1}{i} \pd{}{y}} [f(x, y) g(x, y)] \\ &= \q{1}{2} \bb{\pd{}{x}[f g] + \q{1}{i} \pd{}{y} [f g]} \\ &= \q{1}{2} \bb{\pd{f}{x} g + f \pd{g}{x} + \q{1}{i} \bb{\pd{f}{y} g + f \pd{g}{y}}} \\ &= \bb{\q{1}{2} \bb{\pd{}{x} + \q{1}{i} \pd{}{y}} f} g + f \bb{\q{1}{2} \bb{\pd{}{x} + \q{1}{i} \pd{}{y}} g} \\ &= \pd{f}{z} g + f \pd{g}{z} . \end{align*} $$

The CR chain rule is more complicated than the real chain rule, but the pattern follows the derivative of a function of two variables that depend on the same variable $$ \boxed{\pd{}{z} g(f(z, \conj{z}), \conj{f}(z, \conj{z})) = \pd{g}{f} \pd{f}{z} + \pd{g}{\conj{f}} \pd{\conj{f}}{z}} . $$

$$ \begin{align*} &= \pd{}{z} g(f(z, \conj{z}), \conj{f}(z, \conj{z})) \\ &= \q{1}{2} \bb{\pd{}{x} + \q{1}{i}\pd{}{y}} g(u(x, y), v(x, y)) \\ &= \q{1}{2} \bb{\pd{g}{x} + \q{1}{i} \pd{g}{y}} \\ &= \q{1}{2} \bb{\pd{g}{u} \pd{u}{x} + \pd{g}{v} \pd{v}{x} + \q{1}{i} \pd{g}{u} \pd{u}{y} + \q{1}{i} \pd{g}{v} \pd{v}{y}} \\ &= \q{1}{4} \bb{\pd{g}{u} \pd{u}{x} + i \pd{g}{u} \pd{v}{x} + \q{1}{i} \pd{g}{u} \pd{u}{y} + \pd{g}{u} \pd{v}{y} + \q{1}{i} \pd{g}{v} \pd{u}{x} + \pd{g}{v} \pd{v}{x} - \pd{g}{v} \pd{u}{y} + \q{1}{i} \pd{g}{v} \pd{v}{y}} \\ &+ \q{1}{4} \bb{\pd{g}{u} \pd{u}{x} - i \pd{g}{u} \pd{v}{x} + \q{1}{i} \pd{g}{u} \pd{u}{y} - \pd{g}{u} \pd{v}{y} - \q{1}{i} \pd{g}{v} \pd{u}{x} + \pd{g}{v} \pd{v}{x} + \pd{g}{v} \pd{u}{y} + \q{1}{i} \pd{g}{v} \pd{v}{y}} \\ &= \q{1}{4} \bb{\pd{g}{u} + \q{1}{i} \pd{g}{v}} \bb{\pd{u}{x} + i \pd{v}{x} + \q{1}{i} \pd{u}{y} + \pd{v}{y}} \\ &+ \q{1}{4} \bb{\pd{g}{u} - \q{1}{i} \pd{g}{v}} \bb{\pd{u}{x} - i \pd{v}{x} + \q{1}{i} \pd{u}{y} - \pd{v}{y}} \\ &= \bb{\q{1}{2} \bb{\pd{g}{u} + \q{1}{i} \pd{g}{v}}} \bb{\q{1}{2} \bb{\pd{}{x} + \q{1}{i} \pd{}{y}} \bb{u + i v}} \\ &+ \bb{\q{1}{2} \bb{\pd{g}{u} - \q{1}{i} \pd{g}{v}}} \bb{\q{1}{2} \bb{\pd{}{x} + \q{1}{i} \pd{}{y}} \bb{u - i v}} \\ &= \pd{g}{f} \pd{f}{z} + \pd{g}{\conj{f}} \pd{\conj{f}}{z} . \end{align*} $$

In addition, conjugation rules follow directly from the definitions Eq. $\eqref{eqn:wirt}$ $$ \boxed{ \conj{\bb{\pd{f}{z}}} = \pd{\conj{f}}{\conj{z}} \quad\quad\quad \conj{\bb{\pd{f}{\conj{z}}}} = \pd{\conj{f}}{z} } . $$

CR Multivariate Derivatives

Extending to multivariate functions is straight forward. Consider a complex-valued vector function $\vec{f} : \setC^n \rightarrow \setC^m$ of a complex-valued vector $\vec{z} \in \setC^n$ $$ \vec{f}(\vec{z}) = \vec{f}(\vec{z}, \conj{\vec{z}}) = \vec{f}(\vec{x}, \vec{y}) \in \setC^m . $$ The total derivative written in matrix notation is $$ \boxed{d \vec{f} = \pd{\vec{f}}{\vec{z}} d \vec{z} + \pd{\vec{f}}{\conj{\vec{z}}} d \conj{\vec{z}}} $$ where the differential vectors $$ \boxed{d\vec{z} \equiv \begin{bmatrix} dz_1 \\ \vdots \\ dz_n \\ \end{bmatrix} \quad\quad\quad d\conj{\vec{z}} \equiv \begin{bmatrix} d\conj{z}_1 \\ \vdots \\ d\conj{z}_n \\ \end{bmatrix}} $$ are transformed by the matrices $$ \boxed{\pd{\vec{f}}{\vec{z}} \equiv \begin{bmatrix} \pd{f_1}{z_1} &\dots &\pd{f_1}{z_n} \\ \vdots& \ddots & \vdots \\ \pd{f_m}{z_1} &\dots &\pd{f_m}{z_n} \\ \end{bmatrix} \quad\quad\quad \pd{\vec{f}}{\conj{\vec{z}}} \equiv \begin{bmatrix} \pd{f_1}{\conj{z}_1} &\dots &\pd{f_1}{\conj{z}_n} \\ \vdots& \ddots & \vdots \\ \pd{f_m}{\conj{z}_1} &\dots &\pd{f_m}{\conj{z}_n} \\ \end{bmatrix}} . $$ This is simply a system of equations describing the total derivative of each component of $\vec{f}$ with respect to complex differential vectors $d\vec{z}$ and $d\conj{\vec{z}}$. Conjugation generalizes in the expected way $$ \boxed{ \conj{\bb{\pd{\vec{f}}{\vec{z}}}} = \pd{\conj{\vec{f}}}{\conj{\vec{z}}} \quad\quad\quad \conj{\bb{\pd{\vec{f}}{\conj{\vec{z}}}}} = \pd{\conj{\vec{f}}}{\vec{z}} } . $$ The chain rule also generalizes in the expected way $$ \label{eqn:cr_chain} \boxed{ \pd{}{\vec{z}} \vec{g}(\vec{f}(\vec{z})) =\pd{\vec{g}}{\vec{f}} \pd{\vec{f}}{\vec{z}} + \pd{\vec{g}}{\conj{\vec{f}}} \pd{\conj{\vec{f}}}{\vec{z}} \quad\quad\quad \pd{}{\conj{\vec{z}}} \vec{g}(\vec{f}(\vec{z})) =\pd{\vec{g}}{\vec{f}} \pd{\vec{f}}{\conj{\vec{z}}} + \pd{\vec{g}}{\conj{\vec{f}}} \pd{\conj{\vec{f}}}{\conj{\vec{z}}} } . $$ There is no higher-dimensional analog of the product rule.

CR Gradient

Now consider the special case of the total derivative of a real-valued function of complex variables $f : \setC^n \rightarrow \setR$. Because $f$ is real, the total derivative can be written in a special form $$ \label{eqn:cr_df} df = \pd{f}{\vec{z}} d \vec{z} + \pd{f}{\conj{\vec{z}}} d \conj{\vec{z}} = \pd{f}{\vec{z}} d \vec{z} + \conj{\bb{\pd{f}{\vec{z}} d \vec{z}}} = 2 \Re\pp{\pd{f}{\vec{z}} d \vec{z}} . $$ As when defining the real gradient, write Eq. $\eqref{eqn:cr_df}$ using a (standard complex) inner product $$ \pd{f}{\vec{z}} d \vec{z} = \bigg[ \bb{\pd{f}{\vec{z}}}^H \bigg]^H d \vec{z} = \grad f^H d \vec{z} = \aa{\grad f, d \vec{z}} $$ such that $$ \label{eqn:cr_df2} \boxed{df = 2 \Re(\aa{\grad f, d \vec{z}})} $$ where the CR gradient is defined as $$ \boxed{\grad f(\vec{z}) \equiv \bb{\pd{f}{\vec{z}}}^H} . $$ The factor of $2$ from Eq. $\eqref{eqn:cr_df2}$ is not included in the definition of the CR gradient to make it compatible with the complex gradient. Annoyingly this makes the CR gradient $1/2$ the real gradient when applied to real-valued functions of real variables, so there isn't perfect symmetry between real and complex gradient theories. However both theories will agree on $df$.

To verify that the CR gradient shares qualities with the real gradient consider the Schwarz inequality applied to the CR gradient of function $f$ and unit vector $\un \in \setC^n$ $$\nn{\aa{\grad f, \un}} \leq \mm{\grad f} \mm{\un} = \mm{\grad f} .$$ The inequality is an equality either when $\grad f = \vec{0}$, or when the vectors are colinear such that $\grad f = \alpha \un$ for a scalar $\alpha \in \setC - \cc{0}$. To maximize $df$ in Eq. $\eqref{eqn:cr_df2}$ the real part of $\aa{\grad f, \un}$ must be maximized, which happens when $\un = \grad f / \norm{\grad f}$. In other words, the CR gradient points in the direction of maximal change like the real gradient, so the gradient terminology is warranted. It follows then that extrema for function $f$ are necessarily at critical points where the CR gradient is zero $$\grad f(\vec{z}_s) = \vec{0} .$$ These facts taken together solidify the interpretation of the CR gradient as a gradient.

Lemma

In addition to basic CR calculus, an identity for the CR derivative of the modulus of a holomorphic function $f : \setC^n \rightarrow \setC$ will be theoretically useful $$ \begin{equation} \label{eqn:cr_id} \pd{}{z} \nn{f(z; \conj{z})}^2 = \pd{}{z} [\conj{f} f] = \pd{\conj{f}}{z} f + \conj{f} \pd{f}{z} = \conj{\bb{\pd{f}{\conj{z}} \conj{f}}} + \conj{f} \pd{f}{z} = \conj{f} \pd{f}{z} \end{equation} $$ where the semicolon in $f(z; \conj{z})$ indicates the function is technically parameterized in terms of $z$ and $\conj{z}$ but is independent of $\conj{z}$.

Summary

[Reiterate main equations here]

References