A function for the calculation of the coefficient determining optimal location of hard threshold for matrix denoising by singular values hard thresholding when noise level is known or unknown. Recreation of MATLAB code by Matan Gavish and David Donoho.
optimal_SVHT_coef(beta, sigma_known = FALSE)
Optimal location of hard threshold, up the median data singular value (sigma
unknown) or up to sigma*sqrt(n)
(sigma known); a vector of the same dimension
as beta
, where coef[i]
is the coefficient corresponding to beta[i]
.
A single value or a vector that represents aspect ratio m/n of the matrix to
be denoised. 0<beta
<=1.
A logical value. TRUE if noise level known, FALSE if unknown.
Gavish, M., & Donoho, D. L. (2014). The optimal hard threshold for singular values is 4/sqrt(3). IEEE Transactions on Information Theory, 60(8), 5040-5053.