pub fn admm_step<S>(
buf: &mut AdmmBuffers,
fft_ws: &mut Fft3dWorkspace,
f_hat: &[Complex64],
inv_a: &[f64],
rho: f64,
grid: &Grid,
tol: f64,
shrink_fn: S,
) -> boolExpand description
Run one ADMM iteration step.
Performs the x-subproblem (spectral solve), convergence check, and fused z-subproblem + dual variable update.
The shrink_fn(vx, vy, vz, index) -> (zx, zy, zz) closure captures
per-algorithm differences in the proximal operator.
§Arguments
buf- Pre-allocated buffers (modified in place)fft_ws- FFT workspacef_hat- Pre-computed constant RHS in frequency domaininv_a- Pre-computed inverse operatorrho- ADMM penalty multiplier for divergence termgrid- Volume gridtol- Convergence toleranceshrink_fn- Proximal operator for z-subproblem
§Returns
true if converged (relative change < tol)