Created by Zikai Xiong · Based on Xiong, arXiv:2410.04043
Restarted PDHG (rPDHG) is a first-order method for linear programs. Here it solves a tiny LP (4 variables, 2 constraints) and its dual at the same time. Start with the three steps below.
θp and θd are the angles marked in the two pictures (here ‖c‖ = ‖b‖ = 1). The iteration bound of [A] grows with Φ. Hover over a term for its meaning.
After step 3, these charts show the iterations for every direction of each arrow.
The error of rPDHG’s average iterate; ticks mark restarts. Near a tie, each restart cycle takes longer.
The LP is $\min\, c^\top x$ subject to $Ax=b,\ x\ge 0$ with $A\in\mathbb{R}^{2\times 4}$; its dual is $\max\, b^\top y$ subject to $A^\top y+s=c,\ s\ge 0$.
Take a $4\times4$ orthogonal matrix $Q=[U\ W]$ with rows $(u_j^\top, w_j^\top)$, and let $A=W^\top$ and $c=U\gamma$. Then $AA^\top=I$ (so $\kappa=1$) and $Ac=0$, as [A] assumes. Here $\|c\|=\|b\|=1$.
Both pictures are exact, with true distances and angles. Changing $c$ moves the dual’s edges, and changing $b$ moves the LP’s edges, so a tie in one picture is a degenerate vertex in the other. The LP is feasible only when $b$ lies in the cone of the columns of $A$, marked by the arc on the dial of $b$.
Restart when the normalized duality gap of the average has dropped by the factor $\beta$ since the last restart. Stop when the average iterate has primal residual, dual infeasibility and duality gap all at most $\varepsilon=10^{-6}$.
With the optimal basis $B$, the other indices $N$ and $T=B^{-1}N$:
With $Ac=0$, a unique optimum and the step sizes above, rPDHG reaches $\varepsilon$-optimality within $O\big(\kappa\Phi\ln(\kappa\Phi\|w^\star\|/\varepsilon)\big)$ iterations, where $w^\star=(x^\star,s^\star)$. This is an $O(\cdot)$ bound: the charts draw $\Phi$ next to the iteration counts without any fitted constant, and the page never treats it as a prediction of exact counts.