Ignacio,
Mi problema es que cuando calculo el rpca_admm obtengo como salida básicamente la misma matriz que la entrada, y la matriz de error es básicamente todo 0 salvo algun punto con valor << 1.
Como me da este resultado estoy probando con condicion de parada = N iteraciones.
Yo creo que el algoritmo lo tengo correctamente implementado, pero no doy con el clavo con los parámetros.
Cuando calculo el singular value thresholding: L = svt(X - E + InvBA, (1/beta));
y luego me fijo en max(max(L-X)) me da un valor << 1, y en cada iteración se va achicando. En efecto esto hace que L quede básicamente igual a X.
El InvBA lo calculo como InvBA = (1/beta)*A; con A el lagrangeano
Y el E lo calculo como el soft thresholding de X - L + InvBA de parámetro lambda/beta. Por ejemplo, beta=15, lambda=0.1
Ya probé con N combinaciones de lambda/beta.
Cualquier pista se agradece ;)
Y el tema es que las partes 4,5,6 del ejercicio se basan en que me ande el RPCA