Buenas,
Estoy teniendo un problema donde el error respecto a la solución dada en el archivo "x_antilasso.txt" baja y luego sube bastante, en vez de tender a 0.
El problema es que ya no estoy seguro si es mi implementación, porque la función objetivo que buscamos minimizar me da más alta al evaluarla en la solución dada. Por lo tanto la única posibilidad es que tenga un error muy elemental en la propia definición f_antilasso() que no estoy viendo, o que haya un error en la solución dada en x_antilasso.txt, o que esté entendiendo algo mal conceptualmente.
Adjunto la solución numérica que hallé, y la forma en que la estoy evaluando, a ver si alguien me puede ayudar a ver el error:
----------------------
beta = 1
x1 = np.array([ 0.00747533, 0.00747533, 0.00264099, 0.00189259, -0.00576662,
0.00328578, -0.00238021, 0.00410684, -0.00343659, 0.00473113])
x_antilasso = np.loadtxt("x_antilasso.txt")
f_antilasso = lambda x: ((1 / (2 * beta)) * norm(A @ x - b) ** 2) + norm(x, np.inf)
f_antilasso(x1) # <-- Me da 0.381
f_antilasso(x_antilasso) # <-- Me da 0.395 (solución en x_antilasso.txt)
------------------------------
Agradezco cualquier comentario, especialmente si hay un error básico que no estoy viendo, o si los profes verifican que no hay nada raro con la solución dada.
Saludos!