Tseng result is that cyclic block descent converges on a smooth plus separable non-smooth function; separability is what saves it. For the convex quadratic each block subproblem has a closed form, so the sweep is exact and the objective decreases monotonically.
Details
Determinism: fixed sweep count, fixed block order, no tolerance test. The callable-objective form is not representable across both arms, so the quadratic case is what is provided.
Formula: minimise f(x) = 0.5 x'Qx - b'x; exact block minimiser
x_B = Q_BB^{-1} (b_B - Q_{B,Bc} x_{Bc}).
References
Tseng, P. (2001). Convergence of a block coordinate descent method for nondifferentiable minimization. JOTA 109:475-494.
Examples
Q <- matrix(c(4, 1, 0, 1, 3, 0, 0, 0, 2), 3)
Bcdblk(Q, b = c(1, 2, 3), blocks = list(c(0, 1), 2), n_iter = 10)
#> $estimate
#> [1] -2.931818
#>
#> $x
#> [1] 0.09090909 0.63636364 1.50000000
#>
#> $obj_trace
#> [1] 0.000000 -2.931818 -2.931818 -2.931818 -2.931818 -2.931818 -2.931818
#> [8] -2.931818 -2.931818 -2.931818 -2.931818
#>
#> $n_iter
#> [1] 10
#>
#> $method
#> [1] "Block coordinate descent, exact quadratic blocks"
#>
#> attr(,"class")
#> [1] "morie_rich_result" "list"
