cherab.phix.inversion._SVDBase.eta_diff#

_SVDBase.eta_diff(beta)Source#

Calculate differential of eta: \(\eta' = \frac{d\eta}{d\lambda}\)

Before calculating \(\eta'\), let us calculate the differential of window function matrix \(W = \text{diag}(w_1(\lambda), ..., w_r(\lambda))\) using SVD components:

\[\begin{split}\frac{dW}{d\lambda} &= \frac{d}{d\lambda} \text{diag}\left(..., \frac{1}{1 + \lambda/\sigma_i^2}, ...\right) \quad \left(\because w_i(\lambda) = \frac{1}{1 + \lambda/\sigma_i^2} \right)\\ &= \text{diag}\left( ..., -\frac{\sigma_i^{-2}}{(1 + \lambda/\sigma_i^2)^2}, ... \right)\\ &= - W^2 \Sigma^{-2}\\ &= - \frac{1}{\lambda} W (I_r - W). \quad(\because I_r - W = \lambda W \Sigma^{-2})\end{split}\]

Therefore \(\eta'\) can be calculated as follows:

\[\begin{split}\eta' &= \frac{d}{d\lambda} \left\|W\Sigma^{^-1}U^\mathsf{T}b\right\|\\ &= a^\mathsf{T}\left(\frac{d}{d\lambda} W^2 \right) a \quad(\because a\equiv\Sigma^{-1}U^\mathsf{T}b, \ W^2 = W^\mathsf{T}W)\\ &= 2a^\mathsf{T}W\frac{dW}{d\lambda}a\\ &= -\frac{2}{\lambda} a^\mathsf{T} W^2 (I_r - W) a\\ &= -\frac{2}{\lambda} a^\mathsf{T} W^\mathsf{T} (I_r - W)^{\mathsf{T}/2} (I_r - W)^{1/2} W a\\ &= -\frac{2}{\lambda} \left\| \sqrt{I_r - W}\ W \Sigma^{-1} U^\mathsf{T} b \right\|^2.\end{split}\]
Parameters:

beta (float) – regularization parameter

Returns:

differential of squared regularization norm

Return type:

numpy.floating