Let $ A $ be an $m \times n$ matrix of rank $ k \le \min(m,n) $. Then we decompose $ A = USV^T $, where:
$U$ is $m \times k$ is a semi-orthogonal matrix.
$S$ is $k \times k$ diagonal matrix , of which its diagonal entries are called singular values of $ A $. we denote them by $ \sigma _i = S_{ii} $.
- $V$ is $n \times k$ semi-orthogonal matrix.
- Definition: a semi-orthogonal matrix $ Q $ is a non-square matrix where $ Q^{T}Q=I $.
This is the singular value decomposition (SVD) of matrix $ A $. We define a function $ f_i: \mathbb R^{ m \times n} \to \mathbb R $ by $ f_i (A) = \sigma_i (A) $. I am interested in finding the gradient of $ f_i $ in order to practice matrix defferentiation.
I hope you can help me starting with the first steps. Here are the hints that I have been given in order to find the solution, and feel free to use them:
- Use the product rule of differentials to calculate $ dA $ where A is considered as function of $ U $, $ S $ and $ V $.
- The entries of the diagonal of anti-symmetric matrix are all zeros.
- The Hadamard product of two matrices $ A,B $ of the same size , is denoted by $$ (A \circ B )_{ij} = A_{ij} \cdot B_{ij} $$
Use the cyclic property of the trace operator. That is:
$$\mbox{Tr}(ABC) = \mbox{Tr}(CAB) = \mbox{Tr}(BCA)$$
The trace of a scalar is a scalar. That is, given $ a \in \mathbb R $:
$$ \mbox{Tr}(a) = a $$
I stuck right at the beginning, I found that the product rule is:
$$ dA = dUSV^{T} + UdSV^{T} + USdV^{T} $$
Also, I have tried to calculate $ A^{T}A $ as trying to find a useful manipulation where I can use it for the solution, and I got that it is equal to: $ VS^{T} SV^{T} $. First of all, is this what they meant by the product rule? And, second, how do I continue from here?