Ej2: duda sobre x_antilasso.txt

Ej2: duda sobre x_antilasso.txt

de Braulio Rios Ferreira -
Número de respuestas: 2

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!

En respuesta a Braulio Rios Ferreira

Re: Ej2: duda sobre x_antilasso.txt

de Ignacio Ramirez -

Qué raro, la que tengo yo en x_antilasso.txt también da 0.381. Tus valores están bien.

Talvez subí una vieja! Mando acá una actualizada. Me fijé con dos programas: el que hicimos nosotros, y CVX,  y da lo mismo que a vos, así que está bien tu solución.

Mil disculpas!