A Faster Interior Point Method for Semidefinite Programming

Haotian Jiang, Tarun Kathuria, Yin Tat Lee, Swati Padmanabhan, Zhao Song

Introduction

Semidefinite programs (SDPs) constitute a class of convex optimization problems that optimize a linear objective over the intersection of the cone of positive semidefinite matrices with an affine space. SDPs generalize linear programs and have a plethora of applications in operations research, control theory, and theoretical computer science [VB96]. Applications in theoretical computer science include improved approximation algorithms for fundamental problems (e.g., Max-Cut [GW95], coloring 3-colorable graphs [KMS94], and sparsest cut [ARV09]), quantum complexity theory [JJUW11], robust learning and estimation [CG18, CDG19, CDGW19], and algorithmic discrepancy and rounding [BDG16, BG17, Ban19]. We formally define SDPs with variable size n×nn\times n and mm constraints:

where ⟨A,B⟩:=∑i,jAi,jBi,j\langle A,B\rangle:=\sum_{i,j}A_{i,j}B_{i,j} is the trace product.

Two prominent methods for solving SDPs, with runtimes depending logarithmically on the accuracy parameter ϵ\epsilon, are the cutting plane method and the interior point method.

The cutting plane method maintains a convex set containing the optimal solution. In each iteration, the algorithm queries a separation oracle, which returns a hyperplane that divides the convex set into two subsets. The convex set is then updated to contain the subset with the optimal solution. This process is repeated until the volume of the maintained set becomes small enough and a near-optimal solution can be found. Since Khachiyan proved [Kha80] that the ellipsoid method solves linear programs in polynomial time, cutting plane methods have played a crucial role in both discrete and continuous optimization [GLS81, GV02].

In contrast, interior point methods add a barrier function to the objective and, by adjusting the weight of this barrier function, solve a different optimization problem in each iteration. The solutions to these successive problems form a well-defined central path. Since Karmarkar proved [Kar84] that interior point methods can solve linear programs in polynomial time, these methods have become an active research area. Their number of iterations is usually the square root of the number of dimensions, as opposed to the linear dependence on dimensions in cutting plane methods.

Since cutting plane methods use less structural information than interior point methods, they are slower at solving almost all problems where interior point methods are known to apply. However, SDPs remain one of the most fundamental optimization problems where the state of the art is, in fact, the opposite: the current fastest cutting plane methods[JLSW20] improves upon the runtime of [LSW15] in terms of the dependence on log⁡(n/ϵ)\log(n/\epsilon), while the polynomial factors are the same in both runtimes. of [LSW15, JLSW20] solve a general SDP in time m(mn2+m2+nω)m(mn^{2}+m^{2}+n^{\omega}), while the fastest SDP solvers based on interior point methods in the work of [NN92] and [Ans00] achieve runtimes of n(m2n2+mnω+mω)\sqrt{n}(m^{2}n^{2}+mn^{\omega}+m^{\omega}) and (mn)1/4(m4n2+m3nω)(mn)^{1/4}(m^{4}n^{2}+m^{3}n^{\omega}), respectively, which are slower in the most common regime of m∈[n,n2]m\in[n,n^{2}] (see Table 1.2). This apparent paradox raises the following natural question:

How fast can SDPs be solved using interior point methods?

1 Our results

We present a faster interior point method for solving SDPs. Our main result is the following theorem, the formal version of which is given in Theorem 4.1.

There is an interior point method that solves a general SDP with variable size n×nn\times n and mm constraints in timeWe use O∗O^{*} to hide no(1)n^{o(1)} and log⁡O(1)(n/ϵ)\log^{O(1)}(n/\epsilon) factors and O~\widetilde{O} to hide log⁡O(1)(n/ϵ)\log^{O(1)}(n/\epsilon) factors, where ϵ\epsilon is the accuracy parameter. O∗(n(mn2+mω+nω))O^{*}(\sqrt{n}(mn^{2}+m^{\omega}+n^{\omega})).

Our runtime can be roughly interpreted as follows:

n\sqrt{n} is the iteration complexity of the interior point method with the log barrier function.

mωm^{\omega} is the cost of inverting the Hessian of the log barrier.

nωn^{\omega} is the cost of inverting the slack matrix.

Thus, the terms in the runtime of our algorithm arise as a natural barrier to further speeding up SDP solvers. See Section 1.2.2, 1.2.3, and 1.2.4 for more detail.

Table 1.1 compares our result with previous SDP solvers. The first takeaway of this table and Theorem 1.2 is that our interior point method always runs faster than that in [NN92] and is faster than that in [NN94] and [Ans00] when m≥n1/13m\geq n^{1/13}. A second consequence is that whenever m≥nm\geq\sqrt{n}, our interior point method is faster than the current fastest cutting plane method [LSW15, JLSW20]. We note that n≤m≤n2n\leq m\leq n^{2} is satisfied in most SDP applications known to us, such as classical combinatorial optimization problems over graphs, experiment design problems in statistics and machine learning, and sum-of-squares problems. An explicit comparison to previous algorithms in the cases of m=nm=n and m=n2m=n^{2} is shown in Table 1.2.

2 Technique overview

By removing redundant constraints, we can, without loss of generality, assume m≤n2m\leq n^{2} in the primal formulation of the SDP (1). Thereafter, instead of solving the primal SDP, which has variable size n×nn\times n, we solve its dual formulation, which has dimension m≤n2m\leq n^{2}:

Interior point methods solve (2) by minimizing the penalized objective function:

Nesterov and Nemirovski [NN92] use the log barrier function,

where g(y)g(y) is the log barrier function defined in (4). They proved that choosing ϕ(y)=nV(y)\phi(y)=\sqrt{n}V(y) in (3) makes the interior point method converge in O~(mn1/4)\widetilde{O}(\sqrt{m}n^{1/4}) iterations, which is smaller than the O~(n)\widetilde{O}(\sqrt{n}) iteration complexity of [NN92] when m≤nm\leq\sqrt{n}. They also studied the combined volumetric-logarithmic barrier

and showed that taking ϕ(y)=n/m⋅Vρ(y)\phi(y)=\sqrt{n/m}\cdot V_{\rho}(y) for ρ=(m−1)/(n−1)\rho=(m-1)/(n-1) yields an iteration complexity of O~((mn)1/4)\widetilde{O}((mn)^{1/4}). when m≤nm\leq n, this iteration complexity is lower than O~(n)\widetilde{O}(\sqrt{n}) of [NN92]. We refer readers to the much simpler proofs in [Ans00] for these results.

However, the volumetric barrier (and thus the combined volumetric-logarithmic barrier) leads to complicated expressions for the gradient and Hessian that make each iteration costly. For instance, the Hessian of the volumetric barrier is

where Q(y)Q(y), R(y)R(y), and T(y)T(y) are m×mm\times m matrices such that for each (j,k)∈[m]×[m](j,k)\in[m]\times[m],

where ⊗\otimes is the Kronecker product (see Section 2.1for formal definition). Due to the complicated formulas in (1.2.1), efficient computation of Newton step in each iteration of the interior point method is difficult; in fact, each iteration runs slower than the Nesterov-Nemirovski interior point method by a factor of m2m^{2}. Since most applications of SDPs known to us have the number of constraints mm be at least linear in nn, the total runtime of interior point methods based on the volumetric barrier and the combined volumetric-logarithmic barrier is inevitably slow.

2.2 Our techniques

Given the inefficiency of implementing the volumetric and volumetric-logarithmic barriers discussed above, this paper uses the log barrier in (4). We now describe some of our key techniques that improve the runtime of the Nesterov-Nemirovski interior point method [NN92].

As noted in Section 1.2.1, the runtime bottleneck in [NN92] is computing the inverse of the Hessian of the log barrier function, where the Hessian is described in (5). In [NN92], each of these m2m^{2} entries is computed separately, resulting in a runtime of O(m2n2)O(m^{2}n^{2}) per iteration.

Instead contrast, we show below how to group these computations using rectangular matrix multiplication. The expression from (5) can be re-written as

Thus far, we have reduced the per iteration cost of O∗(m2n2+mnω)O^{*}(m^{2}n^{2}+mn^{\omega}) for Hessian computation down to

The fast rectangular matrix multiplication approach noted above, however, is still not very efficient, because the Hessian must be computed from scratch in each iteration of the interior point method. If there are TT iterations in total, it then takes time

Specifically, first we prove that whenever SS is updated in an iteration, the potential function increases by at most O~(1)\widetilde{O}(1) (see Lemma 6.2). The proof of this statement crucially uses the structural property of interior point method that slack matrices in consecutive steps are sufficiently close to each other. Formally, for any iteration t∈[T]t\in[T], we show in Theorem 5.1 that the consecutive slack matrices StS_{t} and St+1S_{t+1} satisfy

Given the low-rank update on S~\widetilde{S} described above, we show how to efficiently update the approximate Hessian H~\widetilde{H}, defined as

for each entry (j,k)∈[m]×[m](j,k)\in[m]\times[m]. The approximate slack matrix S~\widetilde{S} being a spectral approximation of the true slack matrix SS implies that the approximate Hessian H~\widetilde{H} is also a spectral approximation of the true Hessian HH (see Lemma 5.3). This approximate Hessian therefore suffices for our algorithm to approximately follow the central path.

To efficiently update the approximate Hessian H~\widetilde{H} in (10), we notice that a rank-rr update on S~\widetilde{S} implies a rank-rr update on S~−1\widetilde{S}^{-1} via the Woodbury matrix identity (see Fact 2.4). The change in S~−1\widetilde{S}^{-1} can be expressed as

where rtr_{t} is the rank of the update on S~t\widetilde{S}_{t}. Applying Theorem 1.4 with several properties of fast rectangular matrix multiplication that we prove in Section 3 , we upper bound the runtime in (12) by

which implies Theorem 1.2. In Section 1.2.3 and 1.2.4, we discuss bottlenecks to further improving our runtime.

2.3 Bottlenecks of our interior point method

In most cases, the costliest term in our runtime is the per iteration cost of mn2mn^{2}, which corresponds to reading the entire input in each iteration. Our subsequent discussions therefore focus on the steps in our algorithm that require at least mn2mn^{2} time per iteration.

When yy is updated in each iteration of our interior point method, we need to compute the true slack matrix SS as

Computing SS is needed to update the approximate slack matrix S~\widetilde{S} so that S~\widetilde{S} remains a spectral approximation to SS. As SS might suffer from full-rank changes, it naturally requires mn2mn^{2} time to compute in each iteration. This is the first appearance of the mn2mn^{2} cost per iteration.

Recall from (3) that our interior point method follows the central path defined via the penalized objective function

for a parameter η>0\eta>0 and ϕ(y)=−log⁡det⁡S\phi(y)=-\log\det S. In each iteration, to perform the Newton step, the gradient of the penalized objective is computed as

for each coordinate j∈[m]j\in[m]. Even if we are given S−1S^{-1}, it still requires mn2mn^{2} time to compute (13) for all j∈[m]j\in[m]. This is the second appearance of the per iteration cost of mn2mn^{2}.

Recall from Section 1.2.2 that updating the approximate slack matrix SS by rank rr means the time needed to update the approximate Hessian is dominated by computing the term

2.4 LP techniques unlikely to improve SDP runtime

The preceeding discussion of bottlenecks suggests that reading the entire input in each iteration, which takes mn2mn^{2} time per iteration, stands as a natural barrier to further improving the runtime of SDP solvers based on interior point methods.

In the context of linear programming (LP), several recent results [CLS19, BLSS20] yield faster interior point methods that bypass reading the entire input in every iteration. Two techniques crucial to these results are: (1) showing that the Hessian (projection matrix) admits low-rank updates, and (2) speeding computation of the Hessian via sampling.

We now describe these techniques in the context of SDP and argue that they are unlikely to improve our runtime.

We saw in Section 1.2.2 that constructing an approximate slack matrix S~\widetilde{S} that admits low-rank updates in each iterations leveraged the fact that the true slack matrix SS changes “slowly” throughout our interior point method as described in (9). One natural question that follows is whether a similar upper bound can be obtained for the Hessian. If such a result could be proved, then one could maintain an approximate Hessian that admitted low-rank updates, which would speed up the approximate Hessian computation. Indeed, in the context of LP, such a bound for the Hessian can be proved (e.g., [BLSS20, Lemma 47]).

Unfortunately, it is impossible to prove such a statement for the Hessian in the context of SDP. To show this, it is convenient to express the Hessian using the Kronecker product (Section 2.1)as

This large change indicates that we are unlikely to obtain an approximation to the Hessian that admits low-rank updates, which is a key difference between LP and SDP.

Recall from (8) that the Hessian can be computed as

For SDP, however, sampling is unlikely to speed up the Hessian computation. In general, we must sample at least mm columns (i.e. ∣L∣≥m|L|\geq m) of B\mathcal{B} to spectrally approximate HH or the computed matrix will not be full rank. However, this requires computing the entries of S−1/2AjS−1/2S^{-1/2}A_{j}S^{-1/2} that correspond to L⊆[n2]L\subseteq[n^{2}] for all j∈[m]j\in[m], which requires reading all AjA_{j}’s and thus still takes O(mn2)O(mn^{2}) time.

3 Related work

Linear Programming is a class of fundamental problems in convex optimization. There is a long list of work focused on fast algorithms for linear programming [Dan47, Kha80, Kar84, Vai87, Vai89b, LS14, LS15, Sid15, Lee16, CLS19, Bra20, BLSS20].

Cutting plane method is a class of optimization methods that iteratively refine a convex set that contains the optimal solution by querying a separation oracle. Since its introduction in the 1950s, there has been a long line of work on obtaining fast cutting plane methods [Sho77, YN76, Kha80, KTE88, NN89, Vai89a, AV95, BV02, LSW15, JLSW20].

As the focus of this paper, cutting plane methods and interior point methods solve SDPs in time that depends logarithmically on 1/ϵ1/\epsilon, where ϵ\epsilon is the accuracy parameter. A third class of algorithms, the first-order methods, solve SDPs at runtimes that depend polynomially on 1/ϵ1/\epsilon. While having worse dependence on 1/ϵ1/\epsilon compared to IPM and CPM, these first-order algorithms usually have better dependence on the dimension. There is a long list of work on first-order methods for general SDP or special classes of SDP (e.g. Max-Cut SDP [AK07, GH16, AZL17, CDST19, LP20, YTF+19], positive SDPs [JY11, PT12, ALO16, JLL+20].)

Preliminaries

2 Useful facts

Given a symmetric matrix BB, a positive semi-definite matrix AA and α∈\alpha\in, we have

Matrix Multiplication

The main goal of this section is to derive upper bounds on the time to perform the following two rectangular matrix multiplication tasks (Lemma 3.9, 3.10, and 3.11):

Multiplying a matrix of dimensions m×n2m\times n^{2} with one of dimensions n2×mn^{2}\times m,

Multiplying a matrix of dimensions n×mnn\times mn with one of dimensions mn×nmn\times n.

Besides being crucial to the runtime analysis of our interior point method in Section 7, these results (as well as several intermediate results) might be of independent interest.

We need the following definitions to describe the cost of certain fundamental matrix operations we use.

For any three positive integers n,m,rn,m,r, we have

We refer to Table 3 in [GU18] for the latest upper bounds on ω(k)\omega(k) for different values of kk. In particular, we need the following upper bounds in our paper.

2 Technical results for matrix multiplication

We assume that npn^{p} and nqn^{q} are integers for notational simplicity. Consider multiplying an n×npn\times n^{p} matrix with an np×nn^{p}\times n matrix. One can cut the n×npn\times n^{p} matrix into np−qn^{p-q} rectangular blocks of size n×nqn\times n^{q} and the np×nn^{p}\times n matrix into np−qn^{p-q} rectangular blocks of size nq×nn^{q}\times n, and compute the multiplication of the corresponding blocks. This approach takes time np−q+ω(q)+o(1)n^{p-q+\omega(q)+o(1)}, from which the desired inequality immediately follows. ∎

Key to our analysis is the following lemma, which establishes the convexity of ω(k)\omega(k).

The fast rectangular matrix multiplication time exponent ω(k)\omega(k) as defined in Definition 3.2 is convex in kk.

Let k=α⋅p+(1−α)⋅qk=\alpha\cdot p+(1-\alpha)\cdot q for α∈(0,1)\alpha\in(0,1). For notational simplicity, we assume that npn^{p}, nqn^{q} and nkn^{k} are all integers. Consider a rectangular matrix of dimensions n×nkn\times n^{k}. Since αp≤k\alpha p\leq k, we can tile this rectangular matrix with matrices of dimensions nα×nαpn^{\alpha}\times n^{\alpha p}. Then, the product of this tiled matrix with another similarly tiled matrix of dimensions nk×nn^{k}\times n can be obtained by viewing it as a multiplication of a matrix of dimensions n/nα×nk/nαpn/n^{\alpha}\times n^{k}/n^{\alpha p} with one of dimensions nk/nαp×n1/αn^{k}/n^{\alpha p}\times n^{1/\alpha}, where each “element” of these two matrices is itself a matrix of dimensions nα×nαpn^{\alpha}\times n^{\alpha p}. With this recursion in tow, we obtain the following upper bound.

The final step above follows from denoting m=nαm=n^{\alpha} and observing that multiplying matrices of dimensions nα×nα⋅pn^{\alpha}\times n^{\alpha\cdot p} costs, by Definition 3.2, mω(p)+o(1)m^{\omega(p)+o(1)}, which is exactly nα(ω(p)+o(1))n^{\alpha(\omega(p)+o(1))}. Applying Definition 3.2 and comparing exponents, this implies that

which proves the convexity of the function ω(k)\omega(k). ∎

We can upper bound ω(1.68568)\omega(1.68568) in the following sense

where the first step follows from convexity of ω\omega (Lemma 3.6), the third step follows from ω(1.5)≤2.79654\omega(1.5)\leq 2.79654 and ω(1.75)≤3.02159\omega(1.75)\leq 3.02159 (Lemma 3.4). ∎

Property II is then an immediate consequence of the following inequality, which we prove next:

Define b=2/a∈(0,∞)b=2/a\in(0,\infty). Then the desired inequality in (14) can be expressed in terms of bb as

Notice that the RHS of (15) is a maximum of two linear functions of bb and these intersect at b∗=ω(1)−1b^{*}=\omega(1)-1. By the convexity of ω(⋅)\omega({}\cdot{}) as proved in Lemma 3.6, it suffices to verify (15) at the endpoints b→0b\rightarrow 0, b→∞b\rightarrow\infty and b=b∗b=b^{*}. In the case where b=δb=\delta for any δ<1\delta<1, (15) follows immediately from the observation that ω(δ)<ω(1)\omega(\delta)<\omega(1). We next argue about the case b→∞b\rightarrow\infty. By Lemma 3.4 we have ω(2)≤3.252\omega(2)\leq 3.252. Using Lemma 3.5, we have ω(b)≤b−2+ω(2)\omega(b)\leq b-2+\omega(2). Combining these two facts implies that for any b>2b>2, we have

which again satisfies (15). The final case is b=b∗=ω(1)−1b=b^{*}=\omega(1)-1, for which (15) is equivalent to

By Lemma 3.4, we have that ω(1)−2∈[0,0.372927]\omega(1)-2\in[0,0.372927]. Then to prove (16), it is sufficient to show that

By the convexity of ω(⋅)\omega({}\cdot{}) as proved in Lemma 3.6, the upper bound of ω(2)≤3.251640\omega(2)\leq 3.251640 in Lemma 3.4, and recalling that ω(1)=t+2\omega(1)=t+2 for t∈[0,0.372927]t\in[0,0.372927], we have for k∈k\in,

In particular, using this inequality for k=t+1k=t+1, we have

which is negative on the entire interval [0,0.372927][0,0.372927]. This establishes (17) and finishes the proof. ∎

For any two positive integers nn and mm, we have

Case 1: a∈[1.18647,∞)a\in[1.18647,\infty). In this case, we have ω(2/a)≤ω(2/1.18647)≤ω(1.68568)<3\omega(2/a)\leq\omega(2/1.18647)\leq\omega(1.68568)<3, where the last inequality follows from Claim 3.7. This implies that

Case 2: a∈(0,1.18647]a\in(0,1.18647]. In this case, we have 2/a∈[1.68567,∞)2/a\in[1.68567,\infty). Consider the linear function

An application of Lemma 3.5 then gives, for any t≥2t\geq 2, the inequality

where the last inequality is by definition of y(t)y(t) from (19). Therefore, combining the convexity of ω(⋅)\omega({}\cdot{}), as proved in Lemma 3.6, with (20), (21), and (22), we conclude that for any t∈[1.68567,∞)t\in[1.68567,\infty), the function ω\omega is bounded from above by the affine function yy, expressed as follows.

Combining the results from (18) and (23) finishes the proof of the lemma. ∎

Main Theorem

In this section, we give the formal statement of our main result.

Consider a semidefinite program with variable size n×nn\times n and mm constraints (assume there are no redundant constraints):

where ω\omega is the exponent of matrix multiplication, X∗X^{*} is any optimal solution to the semidefinite program in (24), and ∥Ai∥1\left\|A_{i}\right\|_{1} is the Schatten 11-norm of matrix AiA_{i}.

The proof of Theorem 4.1 is given in the subsequent sections.

Approximate Central Path via Approximate Hessian

Our main result of this section is the following.

where X∗X^{*} is any optimal solution to the semidefinite program in Definition 1.1, and ∥Ai∥1\left\|A_{i}\right\|_{1} is the Schatten 11-norm of matrix AiA_{i}. Further, in each iteration of Algorithm 1, the following invariant holds for αH=1.03\alpha_{H}=1.03:

At the start of Algorithm 1, Lemma 9.1 is called to modify the semidefinite program to obtain an initial dual solution yy for the modified SDP that is close to the dual central path at η=1/(n+2)\eta=1/(n+2). This ensures that the invariant gη(y)⊤H(y)−1gη(y)≤ϵN2g_{\eta}(y)^{\top}H(y)^{-1}g_{\eta}(y)\leq\epsilon_{N}^{2} holds at the start of the algorithm. Therefore, by Lemma 5.4 and Lemma 5.5, this invariant continues to hold throughout the run of the algorithm. Therefore, after T=40ϵNnlog⁡(nδ)T=\frac{40}{\epsilon_{N}}\sqrt{n}\log\left(\frac{n}{\delta}\right) iterations, the step size η\eta in Algorithm 1 grows to η=(1+ϵN20n)T/(n+2)≥2n/δ2\eta=(1+\frac{\epsilon_{N}}{20\sqrt{n}})^{T}/(n+2)\geq 2n/\delta^{2}. It then follows from Lemma 5.6 that

Thus when the algorithm stops, the dual solution yy has duality gap at most δ2\delta^{2} for the modified SDP. Lemma 9.1 then shows how to obtain an approximate solution to the original SDP that satisfies the guarantees in (25).

where we used the fact that ΔS=∑i=1m(δy)iAi\Delta_{S}=\sum_{i=1}^{m}(\delta_{y})_{i}A_{i}. It then follows from Lemma 5.4 and the invariant gη(y)⊤H(y)−1gη(y)≤ϵN2g_{\eta}(y)^{\top}H(y)^{-1}g_{\eta}(y)\leq\epsilon_{N}^{2} that

where αH=1.03\alpha_{H}=1.03. Combining Equation (27) with Inequality (5.1) completes the proof of the theorem. ∎

2 Approximate slack update

3 Closeness of slack implies closeness of Hessian

Then both H~\widetilde{H} and HH are positive semidefinite. For any accuracy parameter αS≥1\alpha_{S}\geq 1, if

As the RHS of (30) and (31) are non-negative, both H~\widetilde{H} and HH are positive semidefinite. Since S~⪯αS⋅S\widetilde{S}\preceq\alpha_{S}\cdot S, we have S−1⪯αS⋅S~−1S^{-1}\preceq\alpha_{S}\cdot\widetilde{S}^{-1} (see Section 2.2), which gives the following inequalities

Combining (32) and (33) with (30) and (31) along with the fact that vv can be any arbitrary nn-dimensional vector finishes the proof of the lemma. ∎

4 Approximate Hessian maintenance

In each iteration of Algorithm 1, for αH=1.03\alpha_{H}=1.03, the approximate Hessian H~(y)\widetilde{H}(y) satisfies that

where ϵS=0.01\epsilon_{S}=0.01 as in Algorithm 2. By definition of operator norm, this implies that in each iteration of Algorithm 1, we have, for αS=1.011\alpha_{S}=1.011,

The statement of this lemma then follows from Lemma 5.3. ∎

5 Invariance of Newton step size

The following lemma is standard in the theory of interior point methods (e.g. see [Ren01]).

6 Approximate optimality

The following lemma is also standard in interior point method.

Let y∗y^{*} be an optimal solution to the dual formulation (2). Then we have

Low-rank Update

Crucial to being able to efficiently approximate the Hessian in each iteration is the condition that the rank of the update be not too large. We formalize this idea in the following theorem, essential to the runtime analysis in Section 7.

Let r0=nr_{0}=n and rir_{i} be the rank of the update to the approximate slack matrix S~\widetilde{S} when calling Algorithm 2 in iteration ii of Algorithm 1. Then, over TT iterations of Algorithm 1, the ranks rir_{i} satisfy the inequality

and Cauchy-Schwarz inequality. This proves the lemma.

Let λ(M)[i]\lambda(M)_{[i]} denote the ii’th (ordered) eigenvalue of a matrix MM. We then have

where the last inequality is because the first assumption from (36) implies νi≥0.98\nu_{i}\geq 0.98 for all i∈[n]i\in[n]. Plugging (40) into the right hand side of (6), we have

Let W=UΣV⊤W=U\Sigma V^{\top} be the singular value decomposition of WW, with UU and VV being n×nn\times n unitary matrices. Because of the invariance of the Frobenius norm under unitary transformation, (40) is then equivalent to

Since UU and VV are unitary, the matrix WZW⊤=UΣV⊤ZVΣU⊤WZW^{\top}=U\Sigma V^{\top}ZV\Sigma U^{\top} is similar to ΣV⊤ZVΣ\Sigma V^{\top}ZV\Sigma, and the matrix Z′=V⊤ZVZ^{\prime}=V^{\top}ZV is similar to ZZ. Therefore,

where the last inequality is by Fact 2.3. We rewrite the Frobenius norm as

Case 1. There does not exist an i≤n/2i\leq n/2 that satisfies the two conditions y[2i]<ϵSy_{[2i]}<\epsilon_{S} and y[2i]<(1−1/10log⁡n)y[i]y_{[2i]}<(1-1/10\log n)y_{[i]}. In this case, we have r=n/2r=n/2. We consider two sub-cases.

Case (b). There exists a minimum index i≤n/2i\leq n/2 such that y[2j]<ϵSy_{[2j]}<\epsilon_{S} holds for all jj in the range i≤j≤n/2i\leq j\leq n/2. In this case, for all jj in the above range, we have that y[2j]≥(1−1/10log⁡n)y[j]y_{[2j]}\geq(1-1/10\log n)y_{[j]}. In particular, picking j=i,2i,⋯j=i,2i,\cdots gives

where ϵS=0.01\epsilon_{S}=0.01 by Table 5.1. Therefore, we can bound, from below, the decrease in potential function as

From Lemma 6.3, we have the following potential decrease:

We note that Φ(Z(0))=0\Phi(Z^{(0)})=0 as we initialized S~=S\widetilde{S}=S in the beginning of the algorithm, and that the potential function Φ(Z)\Phi(Z) is always non-negative. The theorem then follows by summing up (48) over all TT iterations. ∎

Runtime Analysis

Our main result of this section is the following bound on the runtime of Algorithm 1.

The total runtime of Algorithm 1 for solving an SDP with variable size n×nn\times n and mm constraints is at most O∗(n(mn2+max⁡(m,n)ω))O^{*}\left(\sqrt{n}\left(mn^{2}+\max(m,n)^{\omega}\right)\right), where ω\omega is the matrix multiplication exponent as defined in Definition 3.2.

To prove Theorem 7.1, we first upper bound the runtime in terms of fast rectangular matrix multiplication times. The iteration complexity of Algorithm 1 is T=O~(n)T=\widetilde{O}(\sqrt{n}).

The total runtime of Algorithm 1 over TT iterations is upper bounded as

The total runtime of Algorithm 1 consists of two parts:

Part 1. The time to compute the approximate Hessian H~(y)\widetilde{H}(y) (which we abbreviate as H~\widetilde{H}) in Line 11 - 15.

Part 2. The total cost of operations other than computing the approximate Hessian.

We analyze the cost of computing the approximate Hessian H~\widetilde{H}.

We start with computing H~\widetilde{H} in the first iteration of the algorithm. Each entry of H~\widetilde{H} involves the computation

It first costs O∗(nω)O^{*}(n^{\omega}) to invert S~\widetilde{S}. Then the cost of computing the key module of the approximate Hessian, S~−1/2AjS~−1/2\widetilde{S}^{-1/2}A_{j}\widetilde{S}^{-1/2} for all j∈[m]j\in[m], is obtained by stacking the matrices AjA_{j} together:

Vectorizing the matrices S~−1/2AjS~−1/2\widetilde{S}^{-1/2}A_{j}\widetilde{S}^{-1/2} into row vectors of length n2n^{2}, for each j∈[m]j\in[m], and stacking these rows vertically to form a matrix BB of dimensions m×n2m\times n^{2}, one observes that H~=BB⊤\widetilde{H}=BB^{\top}. We therefore have,

Combining (50), (51), and the initial cost of inverting S~\widetilde{S} gives the following cost for computing H~\widetilde{H} for the first iteration:

Part 1b. Accumulating low-rank changes over all the iterations

Using this bound over all T=O~(n)T=\widetilde{O}(\sqrt{n}) iterations, and applying ∑i=0Tri≤O~(n)\sum_{i=0}^{T}\sqrt{r_{i}}\leq\widetilde{O}(\sqrt{n}) from Theorem 6.1, gives

where we incorporated the bound from (52) into the i=0i=0 case.

Observe that there are four operations performed in Algorithm 1 other than computing H~\widetilde{H}:

Part 2a. computing the gradient gη(y)g_{\eta}(y)

Part 2b. inverting the approximate Hessian H~\widetilde{H}

Part 2b. The cost of inverting the approximate Hessian H~\widetilde{H} is O(mω+o(1))O(m^{\omega+o(1)}) per iteration.

The total cost of operations other than computing the Hessian over the T=O~(n)T=\widetilde{O}(\sqrt{n}) iterations is therefore bounded by

Combining (7) and (7) and using r0=nr_{0}=n finishes the proof of the lemma.

We give only the proof of Property I, as the proof of Property II is similar. Let m=nam=n^{a}. For each i∈[T]i\in[T], let ri=nbir_{i}=n^{b_{i}}, where bi∈b_{i}\in. Then

For each number k∈{0,1,⋯ ,log⁡n}k\in\{0,1,\cdots,\log n\}, define the set of iterations

Then our assumption on the sequence {r1,⋯ ,rT}\{r_{1},\cdots,r_{T}\} can be expressed as ∑k=0log⁡n∣Ik∣⋅2k/2≤O(Tlog⁡1.5n)\sum_{k=0}^{\log n}|I_{k}|\cdot 2^{k/2}\leq O(T\log^{1.5}n). This implies that for each k{0,1,⋯ ,log⁡n}k\{0,1,\cdots,\log n\}, we have ∣Ik∣≤O(Tlog⁡1.5n/2k/2)|I_{k}|\leq O(T\log^{1.5}n/2^{k/2}). Next, taking the summation of Eq. (59) over all i∈[T]i\in[T], we have

where the fourth step follows from T=O~(n)T=\widetilde{O}(\sqrt{n}). To bound the exponent on nn above, we define the function gg,

This function is convex in bib_{i} due to the convexity of the function ω\omega (Lemma 3.6). Therefore, over the interval bi∈b_{i}\in, the maximum of gg is attained at one of the end points. We simply evaluate this function at the end points.

Case 1. Consider the case bi=0b_{i}=0. In this case, we have g(0)=1/2+aω(1/a)g(0)=1/2+a\omega(1/a). We consider the following two subcases. Case 1a. If a≥1a\geq 1, then we have

Case 1b. If a∈(0,1)a\in(0,1), then we define k=1/a>1k=1/a>1. It follows from Lemma 3.5 and ω>1\omega>1, that

Combining both Case 1a and Case 1b, we have that

Case 2 Consider the other case of bi=1b_{i}=1. In this case, g(1)=1/2−1/2+aω(2/a)=aω(2/a)g(1)=1/2-1/2+a\omega(2/a)=a\omega(2/a).

We now finish the proof by combining Case 1 and Case 2 as follows.

In light of Lemma 7.4, the upper bound on runtime given in Lemma 7.2 can be written as

Combining this with 3.10, we have the following upper bound on the total runtime of Algorithm 1:

This finishes the proof of the theorem. ∎

Comparison with Cutting Plane Method

In this section, we prove Theorem 1.3, restated below.

Since m≥nm\geq n by assumption, Lemma 3.9 and 3.9 further simplify the runtime to

Initialization

Consider a semidefinite program as in Definition 1.1 of dimension n×nn\times n with mm constraints, and assume that it has the following properties.

For any 0<δ≤10<\delta\leq 1, the following modified semidefinite program

The following are feasible primal and dual solutions:

For any feasible primal and dual solutions (X‾,y‾,S‾)(\overline{X},\overline{y},\overline{S}) with duality gap at most δ2\delta^{2}, the matrix X^=R⋅X‾[n]×[n]\widehat{X}=R\cdot\overline{X}_{[n]\times[n]}, where X‾[n]×[n]\overline{X}_{[n]\times[n]} is the top-left n×nn\times n block submatrix of X‾\overline{X}, is an approximate solution to the original semidefinite program in the following sense:

where X∗X^{*} is any optimal solution to the original SDP and ∥A∥1\left\|A\right\|_{1} denotes the Schatten 11-norm of a matrix AA.

Notice that X‾\overline{X} is a feasible primal solution to the modified SDP, and that

where the first step follows because the modified SDP is a maximization problem, and the final step is because XX is an optimal solution to the original SDP.

Therefore, we can lower bound the objective value for X‾[n]×[n]\overline{X}_{[n]\times[n]} in the original SDP as

where the last inequality follows from (63). By matrix Hölder inequality, we have

where the final step follows from the upper bound of θ\theta in (64). Summing the above inequality up over all i∈[m]i\in[m] finishes the proof of the lemma. ∎

Acknowledgment

We thank Aaron Sidford for many helpful discussions and Deeksha Adil, Sally Dong, Sandy Kaplan, and Kevin Tian for useful feedback on the writing. We gratefully acknowledge funding from CCF-1749609, CCF-1740551, DMS-1839116, Microsoft Research Faculty Fellowship, and Sloan Research Fellowship. Zhao Song is partially supported by Ma Huateng Foundation, Schmidt Foundation, Simons Foundation, NSF, DARPA/SRC, Google and Amazon.

References

Appendix A Matrix Multiplication: A Tensor Approach

The main goal of this section is to rederive, using tensors, some of the technical results from Section 3. In particular, we use tensors to derive upper bounds on the time to perform the following two rectangular matrix multiplication tasks (Lemma A.12 and A.13):

Multiplying a matrix of dimensions m×n2m\times n^{2} with one of dimensions n2×mn^{2}\times m,

Multiplying a matrix of dimensions n×mnn\times mn with one of dimensions mn×nmn\times n.

Our hope is that these techniques will eventually be useful in further improving the results of this paper.

We recall two definitions to describe the cost of certain fundamental matrix operations, along with their properties.

For any three positive integers n,m,rn,m,r, we have

A.2 Matrix multiplication tensor

The rank of a tensor TT, denoted as R(T)R(T), is the minimum number of simple tensors that sum up to TT. For any two tensors S=(Si,j,k)i,j,kS=(S_{i,j,k})_{i,j,k} and T=(Ta,b,c)a,b,cT=(T_{a,b,c})_{a,b,c}, we write S≤TS\leq T if there exist three matrices A,BA,B and CC (of appropriate sizes) such that Si,j,k=∑a,b,cAi,aBj,bCk,cTa,b,cS_{i,j,k}=\sum_{a,b,c}A_{i,a}B_{j,b}C_{k,c}T_{a,b,c} for all i,j,ki,j,k. For any i,j,ki,j,k, denote ei,j,ke_{i,j,k} the tensor with 11 in the (i,j,k)(i,j,k)-th entry, and elsewhere.

For any three positive integers a,b,ca,b,c, we define

to be the matrix-multiplication tensor corresponding to multiplying a matrix of size a×ba\times b with one of size b×cb\times c.

It’s not hard to show that for any nin_{i} and mim_{i} where i=1,2,3i=1,2,3, we have

Let ⟨n⟩=∑i∈[n]ei,i,i\langle n\rangle=\sum_{i\in[n]}e_{i,i,i} be the identity tensor. For any three tensors S,T1S,T_{1} and T2T_{2}, if T1≤T2T_{1}\leq T_{2}, then we have

Tensor rank is monotone under the relation ≤\leq, i.e. if T1≤T2T_{1}\leq T_{2}, then we have

For any tensors T1T_{1} and T2T_{2}, we have

The tensor rank of a matrix multiplication tensor is equal to the cost of multiplying the two correponding sized matrices up to some constant factor, i.e.,

A.3 Implication of matrix multiplication technique

where the last line follows from Lemma A.7. Applying Lemma A.8, we have

Using the definition of ω(p)\omega(p), we have

Comparing the exponent on both sides completes the proof. ∎

The next lemma establishes the convexity of ω(k)\omega(k) as a function of kk.

The fast rectangular matrix multiplication time exponent ω(k)\omega(k) as defined in Definition A.2 is convex in kk.

Let k=α⋅p+(1−α)⋅qk=\alpha\cdot p+(1-\alpha)\cdot q for α∈(0,1)\alpha\in(0,1). We have

where the last line follows from Lemma A.7. By Lemma A.8, we have

By definition of ω(⋅)\omega(\cdot), we have

We only prove the case of m≥nm\geq n, as the other case where m<nm<n is similar. This is an immediate consequence of Lemma A.11 by taking a=c=na=c=n, b=n2b=n^{2}, and k=⌊m/n⌋k=\lfloor m/n\rfloor, where kk is a positive integer because m≥nm\geq n. ∎

Applying the tensor rank on both sides, we have

Let m=nam=n^{a}, where a∈(0,∞)a\in(0,\infty). We have

The Property II is then an immediate consequence of the following inequality, which we prove next:

Define b=2/a∈(0,∞)b=2/a\in(0,\infty). Then the above desired inequality can be expressed in terms of bb as

Notice that the RHS of (15) is a maximum of two linear functions of bb and these intersect at b∗=ω(1)−1b^{*}=\omega(1)-1. By the convexity of ω(⋅)\omega({}\cdot{}) as proved in Lemma A.10, it suffices to verify (15) at the endpoints b→0b\rightarrow 0, b→∞b\rightarrow\infty and b=b∗b=b^{*}. In the case where b=δb=\delta for any δ<1\delta<1, (15) follows immediately from the observation that ω(δ)<ω(1)\omega(\delta)<\omega(1). For the case b→∞b\rightarrow\infty, by Lemma A.3 we have ω(2)≤3.252\omega(2)\leq 3.252. It then follows from Lemma A.9 that for any b>2b>2, we have

The final case is where b=b∗=ω(1)−1b=b^{*}=\omega(1)-1, for which (15) is equivalent to

By Lemma A.3, we have that ω(1)−2∈[0,0.372927]\omega(1)-2\in[0,0.372927]. Then to prove (66), it is sufficient to show that

By the convexity of ω(⋅)\omega({}\cdot{}) as proved in Lemma A.10 and the upper bound of ω(2)≤3.251640\omega(2)\leq 3.251640 in Lemma A.3, we have for k∈k\in,

In particular, using this inequality for k=t+1k=t+1, we have

which is negative on the entire interval [0,0.372927][0,0.372927]. This establishes (67) and finishes the proof of the lemma. ∎