Skip to contents

FISTA with the proximal map of a box indicator, i.e. the component-wise clamp: x_k = clamp(y_k - grad f(y_k)/L), t_{k+1} = (1 + sqrt(1 + 4 t_k^2))/2, y_{k+1} = x_k + ((t_k-1)/t_{k+1})(x_k - x_{k-1}).

Usage

Agdproj(X, y, lower = NULL, upper = NULL, steps = 100, lipschitz = NULL)

Arguments

X

Design matrix.

y

Response of length n.

lower, upper

Box bounds; NULL means unbounded on that side.

steps

Fixed iteration count.

lipschitz

L; NULL uses a fixed 50-step power iteration on X'X.

Value

List with beta, objective, lipschitz, steps, nactive, n, p.

References

Beck and Teboulle (2009), SIAM J. Imaging Sci. 2(1), 183-202. Standard published form; standard published form.

Examples

V <- c(1, 2, 3, 4, 5, 6, 7, 8)
Agdproj(V, V)
#> $beta
#> [1] 1
#> 
#> $objective
#> [1] 0
#> 
#> $lipschitz
#> [1] 204
#> 
#> $steps
#> [1] 100
#> 
#> $nactive
#> [1] 0
#> 
#> $n
#> [1] 8
#> 
#> $p
#> [1] 1
#> 
#> $method
#> [1] "Accelerated projected gradient on a box (Beck-Teboulle 2009)"
#> 
#> attr(,"class")
#> [1] "morie_rich_result" "list"