mirtorch.alg.FISTA

class mirtorch.alg.FISTA(f_grad: Callable, f_L: float, g_prox: Prox, max_iter: int = 10, restart=False, eval_func: Optional[Callable] = None)

Fast Iterative Soft Thresholding Algorithm (FISTA) / Fast Proximal Gradient Method (FPGM)

\[arg \min_x f(x) + g(x)\]

where grad(f(x)) is L-Lipschitz continuous and g is proximal-friendly function.

max_iter

number of iterations to run

Type:

int

f_grad

gradient of f

Type:

Callable

f_L

L-Lipschitz value of f_grad

Type:

float

g_prox

proximal operator g

Type:

Prox

restart

restart strategy, not yet implemented

Type:

Union[…]

eval_func

user-defined function to calculate the loss at each iteration.

__init__(f_grad: Callable, f_L: float, g_prox: Prox, max_iter: int = 10, restart=False, eval_func: Optional[Callable] = None)

Methods

__init__(f_grad, f_L, g_prox[, max_iter, ...])

run(x0)

Run the algorithm