How to calculate the derivative of Fourier transform of a matrix?

166 Views Asked by At

$X$ is a complex matrix and $Y = FT(|X|^2)$, $|X|^2$ stands for elementwise modulus. I want to calculate the derivative of $Y$ to X. Could anyone tell me how to do this?

1

There are 1 best solutions below

1
On BEST ANSWER

$\def\p{\partial}$ Your function is $$Y=F(X^*\circ X)$$ where $X^*$ is the complex conjugate of $X,\,$ and $(\circ)$ denotes the elementwise/Hadamard product.

Calculate the gradient wrt $X$ in the CR-Calculus sense, i.e. by treating $X^*$ as independent of $X$ $$\eqalign{ dY &= F(X^*\circ dX) \\ {\rm vec}(dY) &= (I\otimes F)\;{\rm vec}(X^*\circ dX) \\ &= (I\otimes F)\;\Big({\rm vec}(X^*)\circ{\rm vec}(dX)\Big) \\ &= (I\otimes F)\cdot{\rm Diag}\Big({\rm vec}(X^*)\Big)\,{\rm vec}(dX) \\ \frac{\p\,{\rm vec}(Y)}{\p\,{\rm vec}(X)} &= (I\otimes F)\cdot{\rm Diag}\Big({\rm vec}(X^*)\Big) \\\\ }$$ where $(\otimes)$ denotes the Kronecker product and the gradient is a second-order tensor (aka a matrix).

The alternative to vectorizing the matrices is to replace the Hadamard product with a sixth-order tensor $$\eqalign{ dY &= F\big(X^*:{\mathbb M}:dX\big) \\ \frac{\p Y}{\p X} &= F\big(X^*:{\mathbb M}\big) \\ }$$ where $(:)$ denotes the double-dot product and the gradient is a fourth-order tensor.