El menor rango para un umbral
rank_for_energy(s, 0.95) devuelve el menor rango cuya energía retenida alcanza el objetivo, usando np.searchsorted sobre la curva de energía acumulada.
El espectro conocido de la prueba es [5, 3, 1, 0]: cuadrados 25, 9, 1, 0, total 35. La energía retenida es 25/35 con rango 1 y 34/35 con rango 2, así que el menor rango que cumple el 95 % es 2, y el error de reconstrucción ahí es como máximo del 5 %.
Ningún rango fijo garantiza el 95 % de energía para toda imagen; el menor rango que cumple un umbral depende de los datos.