I have a covariance matrix (A), which is positive definite. I would like to approximate matrix A by another positive definite matrix B in such a way, that the eigenvalues of B span only 2 orders of magnitude, i.e. the smallest eigenvalue is larger than 1% of the largest eigenvalue. I tried to use SVD and replace eigenvalues which are smaller than 1% of the largest eigenvalue by 0.01*largest eigenvalue, however, I guess that this is not optimal in some sense. Is there any theoretical way to find matrix B?