An Improved Cutting Plane Method for Convex Optimization, Convex-Concave Games and its Applications

Haotian Jiang, Yin Tat Lee, Zhao Song, Sam Chiu-wai Wong

Introduction

The cutting plane methods are a class of optimization primitives for solving Linear and Convex Programming, which is encapsulated by the feasibility problem of finding a point in a given convex set KK equipped with a separation oracle. In each iteration, cutting plane methods query the separation oracle which returns a hyperplane separating the query point from KK. Since Khachiyan’s breakthrough result [Kha80] on the ellipsoid method, cutting plane methods have played a central role in theoretical computer science, showing that a plethora of problems from diverse areas admit polynomial time algorithms. Early prominent examples include linear programming and submodular function minimization.

While more applications of the cutting plane methods are still being discovered to this date, progress on faster cutting plane methods had stagnated until the recent work of Lee, Sidford and Wong [LSW15]. Prior to their work, cutting plane methods were considered too slow to be of relevance in theory or in practice (other than establishing polynomiality). [LSW15] debunked this by showing how their cutting plane method is faster than tailor-made algorithms for a long list of well-studied problems.

The fastest algorithm before their work was Vaidya’s algorithm [Vai89a], which runs in O(nω+1)O(n^{\omega+1}) time. Here ω<2.373\omega<2.373 is the exponent of matrix multiplication [CW87, Wil12, DS13, LG14]. Leveraging recent advances in optimization and numerical linear algebra, LSW lowered the dependence on the dimension nn at the expense of additional log factors in the accuracy 1/κ1/\kappa, namely log⁡2(κ)\log^{2}(\kappa). The following table compares the runtimes of Vaidya’s and LSW methods, which both achieve the optimal number of oracle calls of nlog⁡(κ)n\log(\kappa).

This extra overhead of log⁡2(κ)\log^{2}(\kappa), as exemplified by various problems in combinatorial optimization in their paper, translates into only a log-squared factor in the maximum value MM of the input by taking ϵ=O(1/M)\epsilon=O(1/M). This is because solutions to (polynomial-time solvable) problems in combinatorial optimization are guaranteed to be integral. Despite being a nuisance, this small overhead is relatively mild and can even be absorbed completely for unweighted problems and strongly polynomial time algorithms. Indeed, armed with this faster cutting plane method, they improved the state-of-the-art running times for a host of problems such as semidefinite programming, matroid intersection and submodular minimization.

For many other problems including linear programming and market equilibrium computation, ϵ\epsilon must be taken as 1/MO(n)1/M^{O(n)} resulting in an additional factor n2n^{2} between log⁡(κ)\log(\kappa) and log⁡3(κ)\log^{3}(\kappa). For these applications, LSW is slower than Vaidy’s by a factor of O~(n4−ω)\widetilde{O}(n^{4-\omega}). This raises a natural question: is there a cutting plane method that simultaneously runs in O(nlog⁡(κ))O(n\log(\kappa)) calls and O(n3log⁡O(1)(n)log⁡(κ))O(n^{3}\log^{O(1)}(n)\log(\kappa)) time? That is, can we achieve the best of both worlds of Vaidya’s and LSW methods in terms of the dependence on nn and κ\kappa?

In this paper, we answer this question in the affirmative. Somewhat surprisingly, we are able to remove log⁡O(1)(n)\log^{O(1)}(n) dependence in LSW as well.

There is a cutting plane method which runs in time O(n⋅SO⁡log⁡(κ)+n3log⁡(κ))O(n\cdot\operatorname{SO}\log(\kappa)+n^{3}\log(\kappa)), where SO⁡\operatorname{SO} is the time complexity of the separation oracle.

As with previous methods, our result achieves the asymptotic optimal oracle complexity of O(n⋅SO⁡log⁡(κ))O(n\cdot\operatorname{SO}\log(\kappa)). Moreover, we conjecture that the runtime is likely the best possible. Note that in each iteration where a separation oracle call is made, even basic matrix operations require O(n2)O(n^{2}) time. Thus our runtime is essentially tight unless properties like sparsity can be surprisingly exploited to update the feasible region and compute the next query point for the separation oracle.

Our result is obtained by marrying Vaidya’s method with recent advances in numerical linear algebra. Similar to LSW, we implement each iteration of Vaidya’s via tools from fast numerical linear algebra. The main issue is that such tools rely on approximation and would lead to errors which must be carefully controlled.

Our first innovation is to run Vaidya’s method in phases, each of which consist of a certain number of iterations. Between phases we “recompute” to eliminate the errors accumulated within a phase. Because of this recomputation we can afford to tolerate higher errors in an iteration. Secondly, we present a sophisticated data structure that enables us to implement each iteration of Vaidya’s efficiently. Our data structure leverages recent advances on applying numerical techniques to optimization. We hope that these numerical tools, as well as our approach to applying them, would play a greater role in future development of optimization.

1 Applications

We highlight some of the key applications of our faster cutting plane method. Interestingly, even though our cutting plane method is a general purpose algorithm, we are able to improve the runtimes of tailor-made algorithms for various problems.

Using a standard reduction of convex minimization to the feasiblity problem ([Nem94] and Theorem 42 of [LSW15]), we can minimize a convex function with an optimal O~(n)\widetilde{O}(n) subgradient oracle calls and an additional O(n2)O(n^{2}) time per oracle call.

Our convex minimization result can be further generalized to convex-concave games.

Leveraging this improved dependence on κ\kappa (and hence ϵ\epsilon), our cutting plane method can be used to improve the runtimes of a wide range of problems, especially those on market equilibrium computation (see Table 2, 3 and 4 for a summary of previous runtimes). In all our applications, 1/ϵ1/\epsilon needs to be exponentially large in nn which renders the log⁡(κ)\log(\kappa) factor polynomially large.

We show the following runtime improvement for the problem of computing a market equilibrium in linear exchange markets:

There exists a weakly polynomial algorithm that computes a market equilibrium in linear exchange markets in time O(mn2log⁡(nU))O(mn^{2}\log(nU)).

The celebrated result of Arrow and Debreu [AD54] shows the existence of a market equilibrium for a broad class of utility functions. Since then researchers have attempted to design efficient algorithms to compute market equilibria. One prominent special case of linear utilities has enjoyed significant attention as demonstrated by the long line of work in Table 2. Essentially, this problem can be captured by a convex program with linear constraints [DGV16] (see (19)). While this convex program exhibits certain advantageous features over previous ones [Cor89, Jai07, NP83], it had not led to improved runtimes since the objective is not separable [GV19]. Moreover, the number of variables in the convex program can be as large as O(n2)O(n^{2}), which prohibits a fast runtime for the cutting plane method if applied directly. Our approach in Theorem 1.4 is to transform the convex program into a convex-concave game with O(n)O(n) variables and apply Theorem 1.3.

A similar technique can be applied to the problem of computing market equilibrium for Fisher markets with spending utility constraints where a convex program is given in [BDX10] (see (21)). However, directly transforming it into a convex-concave game does not reduce the dimension of the variables, as both the number of variables and constraints in the original convex program is Θ(m)\Theta(m), where mm is the total number of segments and it can be much larger than n2n^{2}. In order to reduce the dimension of the convex-concave game to O(n)O(n), we express part of the variables as functions of O(n)O(n) variables and show that this does not increase the time of the first-order oracle. This leads to the following runtime improvement:

There exists a weakly polynomial algorithm that computes a market equilibrium in Fisher markets with spending constraint utilities in time O(mn2log⁡(nU))O(mn^{2}\log(nU)).

Yet another economics application of our cutting plane method is the problem of computing a Walrasian equilibrium in a market with fixed supply. In this economy, buyers may have arbitrary valuation functions and we would like to compute prices so that the market clears, i.e. the aggregate demand of the buyers matches the fixed supply. Recently Paes Leme and Wong [LW17] gave a polynomial time algorithm for this problem provided that an equilbrium actually exists. They achieved this by showing that the cutting plane method can be modified so that the convex program for the equilibrium can be solved under the aggregate demand oracle.

By leveraging our faster cutting plane method we obtain an improved runtime:

2 Previous works

The cutting plane methods solve the following feasbility problem that conveniently abstracts the applications to specific scenarios.

Feasibility Problem: Given a separation oracle for a set KK contained in a box of radius RR either find a point x∈Kx\in K or prove that KK does not contain a ball of radius ϵ\epsilon.

All cutting plane methods maintain a candidate region Ω\Omega and solve the feasibility problem by iteratively refining Ω\Omega based on the present Ω\Omega and the new separating hyperplane. In each iteration: 1. The separation oracle is queried at some point x∈Ωx\in\Omega. 2. If x∈Kx\in K we have solved the feasibility problem. 3. Otherwise, the separation oracle returns a separating hyperplane from which Ω\Omega is further refined and the next query point xx is computed.

Previous works differ in how xx is selected and how Ω\Omega is refined. For instance, the classic ellipsoid method maintains Ω\Omega as an ellipsoid and xx as its center. Given Ω\Omega and the new separating hyperplane, the new Ω\Omega is chosen to be the smallest ellipsoid containing their intersection. Table 1 lists the running times for solving the feasibility problem in the literature.

We focus our discussion on the trade-off between the oracle complexity and the runtime per iteration. The oracle complexity has a lower bound Ω(nlog⁡(κ))\Omega(n\log(\kappa)) [NY83]. While the ellipsoid method achieves a suboptimal O(n2log⁡(κ))O(n^{2}\log(\kappa)) in oracle complexity, the runtime per iteration is O(n2)O(n^{2}) which is faster than all subsequent methods. The good runtime follows from the simple calculations needed to update the ellipsoid, whereas the suboptimal oracle complexity can be attributed to the “looseness” of maintaining only an ellipsoid as a proxy to the intersection of past separating half-spaces.

Indeed, one can attain the optimal oracle complexity O(n2log⁡(κ))O(n^{2}\log(\kappa)) by maintaining all previous separating half-spaces. This is the random walk method [BV02] where the query point xx is chosen to be its (approximate) center of gravity. Updating xx involves performing a random walk in this polytope and is computationally expensive.

Nevertheless, by judiciously including only a representative subset of previous half-spaces ax≥bax\geq b, Vaidya showed that the volumetric center and Ω\Omega can be updated by basic matrix operations which run in O(nω)O(n^{\omega}) time.

We defer the discussion of LSW to the next subsection, which explains how Vaidya’s method can be sped up using machineries from numerical linear algebra.

3 Lee-Sidford-Wong method (LSW)

LSW’s key observation is that Vaidya’s method relies heavily on leverage scores, which measure the relative importance of each separating hyperplane. In Vaidya’s method, naively updating leverage scores requires O(nω)O(n^{\omega}) time and is a bottleneck. Inspired by the work of Spielman and Srivistava [SS11], LSW attempted to address this by using random Johnson-Lindenstrauss [JL84] (JL) projection to approximate changes in leverage scores. Leverage scores can then be updated by summing over the differences.

Approximating leverage scores changes via JL projection however still requires solving a linear system which would still take O(nω)O(n^{\omega}) time. LSW further overcame this barrier by resorting to a recent work that efficiently solves “slowly-changing” linear system in amortized O~(n2)\widetilde{O}(n^{2}) time. Thus after paying O(nω)O(n^{\omega}) initially, they can solve such linear systems in O~(n2)\widetilde{O}(n^{2}) time per iteration.

Error accumulation. Nevertheless, as an approximate method JL introduces errors which would accumulate across iterations. While Vaidya’s method tolerates small errors in leverage scores, the total errors incurred in JL projection (as accumulated across iterations) would eventually become too big and destroy the performance guarantee of Vaidya’s method.

LSW handled this by modifying Vaidya’s framework to take into account of the error in the convex function to be minimized. This approach gives rise to a “hybrid” center algorithm, which involves a complicated interplay of optimization and linear algebra. In particular, to reduce the error accumulated the error parameter ϵ0\epsilon_{0} in JL projection has to be as small as ϵ0=1/log⁡(κ)\epsilon_{0}=1/\log(\kappa). As the runtime of JL depends on 1/ϵ021/\epsilon_{0}^{2}, this unfortunately introduces the log⁡2κ\log^{2}\kappa overhead in LSW runtime when compared to Vaidya’s volumetric center method.

4 Overview of our approach

Our data structure employs a layered approach where different layers are associated with different error tolerances, and achieve different accuracy-efficiency tradeoffs in approximating the changes in leverage scores. The more inner a layer is, the more error it can tolerate and the faster is the runtime. Whenever the error accumulated in a layer becomes too much, the layer above would take over and produce a finer error estimate which would, of course, be more time costly. But because of our layered approach, the higher layer is called on less often and afford to spend more time.

Such a layered approach further leads to the following issue. In the middle and outer layers, we batch the updates of multiple steps into one which allows us to make use of fast rectangular matrix multiplication. However, our algorithm needs to handle possibly exponential weight changes. We show there are not too many such weights and can be handled separately in groups of poly⁡log⁡(n)\operatorname{poly}\log(n) size using low-rank update formula.

Our data structure also draws on various numerical tools such as fast rectangular matrix multiplication, “tall” JL projection, preconditioning, inverse maintenance, and polynomial interpolation for approximating integrals.

A more in-depth discussion of our techniques can be found in Section 2.

5 Discussion of optimality

Similar to previous methods our cutting plane method achieves the optimal oracle complexity nlog⁡(κ)n\log(\kappa) [NY83]. We present some evidence that our running time of O(n3log⁡(κ))O(n^{3}\log(\kappa)) is also tight.

A bottleneck of Vaidya’s method is to solve the inverse maintenance problem. Formally, given a sequence of positive vectors w1,w2,⋯wTw^{1},w^{2},\cdots w^{T}, let P(w)P(w) be defined as

where WW is the diagonal matrix such that Wi,i=wiW_{i,i}=w_{i}. The goal is to output a sequence of vectors v1,v2,⋯ ,vTv^{1},v^{2},\cdots,v^{T} such that

There is a long line of research on inverse maintenance and dynamic matrix data-structure problems [Kha80, Vai89b, San04, LS15, HKNS15, CLS19, LSZ19, Son19, BNS19, Bra20]. This task can be done naively by spending nωn^{\omega} time so the goal is to achieve o(nω)o(n^{\omega}) amortized cost per iteration. For example, in the LP setting the number of iterations is O(n)O(\sqrt{n}) and Vaidya [Vai89b] combined fast matrix multiplication with inverse maintenance to achieve O(n2)O(n^{2}) amortized cost per iteration, which gives an O(n2.5)O(n^{2.5}) time algorithm. This remained a barrier until recent works [CLS19, LSZ19] combined sampling and sketching techniques with fast rectangular matrix multiplication and inverse matrix maintenance to give an O(nω)O(n^{\omega}) time algorithm.

One of the major computation required in each step is matrix-vector multiplication, e.g., P(w)⋅hP(w)\cdot h. Naively, this step takes O(n2)O(n^{2}) time per iteration. To achieve o(n2)o(n^{2}) amortized cost per iteration, previous works [CLS19, LSZ19] used an idea called “iterating and sketching” which was formally described in [Son19]. This idea is very different from the classical “sketch and solve” [CW13] and “guess a sketch” [RSW16]. The classical idea usually applying sketching matrices only once without modifying the solver itself. However, the “iterating and sketching” idea has to modify the solver and applying sketching/sampling matrices over each iteration.

Compared to the cutting plane method, LP is an easier maintenance task as the matrix AA is fixed throughout. In the cutting plane method, however, rows get inserted into or deleted from AA from continuously. One critical idea used in all previous works on LP [Vai89b, CLS19, LSZ19] is to delay low-rank updates on (A⊤WA)−1(A^{\top}WA)^{-1}. However, in the cutting plane method, the low rank updates to AA cannot be delayed. Thus it appears that previous techniques are inapplicable. Moreover, n2n^{2} lower bounds have recently been established for natural matrix maintenance tasks (e.g. determinant, inverse) with row/column insertions/deletions under the Online Matrix-Vector conjecture (e.g. [HKNS15, BNS19]). Therefore, we believe our algorithm is tight and conjecture the following:

Solving the feasibility problem requires Ω(n3log⁡(κ))\Omega(n^{3}\log(\kappa)) time. Hence our cutting plane method achieves the optimal runtime.

6 Related works

Leverage scores are a fundamental concept in graph problems and numerical linear algebra. There are many works about how to approximate leverage scores [SS11, DMIMW12, CW13, NN13] or more general version of leverages, e.g. Lewis weights [Lew78, BLM89, CP15] and ridge leverage scores [CMM17]. From graph perspective, it was applied to solve max-flow [Mad13, Mad16], generate random spanning trees [Sch18], and sparsify graphs [SS11]. From matrix perspective, it was used to give matrix CUR decomposition [BW14, SWZ17, SWZ19] and tensor CURT decomposition [SWZ19]. From optimization perspective, it was used for approximating the John Ellipsoid [CCLY19], accelerating the kernel methods [AKM+17, AKM+19], showing the convergence of the deep neural network [LSS+20], cutting plane methods, e.g. [Vai89a, LSW15] and this paper.

Linear Program is a fundamental problem in convex optimization and can be treated as an special case where one can apply the cutting plane method. There is a super long list of work focused on fast algorithms for linear program [Dan47, Kha80, Kar84, Vai87, Vai89b, LS14, LS15, Sid15, Lee16, CLS19, LSZ19, Son19, Bra20, BLSS20].

Besides the separation oracle considered in this paper, there is another line of work on using the membership oracle to solve the feasibility problem [Pro96, KV06, LV06, GLS12, LSV18]. For a query point xx, this oracle outputs x∈Kx\in K or x∉Kx\notin K.

Our Techniques

Section 1.4 provided a quick overview. Here we take a deeper dive into our techniques.

The key to fast maintenance of leverage scores is an efficient way to approximate their changes between consecutive steps. While a fine-grained approximation leads to an accurate approximation, the time to compute such an approximation might be unaffordable. On the other hand, a coarse-grained approximation can be efficiently computed, but might lead to accumulating errors that blow up after a small number of steps. This leads to a tradeoff between accuracy and efficiency.

Central to our data structure are a coarse-grained formula (Lemma 7.4) and a fine-grained formula for the change in leverage scores (Lemma 8.4). While the coarse-grained formula approximates the leverage score’s change via a single integral, the fine-grained formula is a cocktail involving integrals, matrix inverse and matrix multiplication. For the coarse-grained formula, we simply estimate the integral by a single point along the integral (Lemma 7.5). For the fine-grained formula, however, the approximation (Lemma 8.10) is more involved and requires appropreiate numerical tools.

Our course-grained and fine-grained formulas lead to two different data structures for leverage score maintenance: a simple deterministic data structure that achieves low running time but introduces a large error in each step, and a more complicated randomized data structure that incurs small error each step at the cost of efficiency.

2 Layered data structure

Our data structure employs a layered approach (see Figure 1) where different layers are associated with different error tolerances. The more inner a layer is, the more error it can tolerate and the faster is the runtime. Whenever the error accumulated in a layer becomes too high, the layer above would take over and produce a finer error estimate which would, of course, be more time costly. But because of our layered approach, the higher layer is called on less often and can afford to spend more time. More specifically, our layered data structure contains three layers. The inner and middle layers both employ the simple data structure to achieve computational efficiency while the outer layer uses the complicated data structure to ensure a low error.

Our layered approach builds on several fundamental results on matrix multiplication which we summarize in Theorem 2.1. We remark that Vaidya [Vai89b] used the first result, a recent LP solver [CLS19] used the first two, while our cutting plane method crucially depends on all the results in the table.

Our data structure also draws on various numerical tools such as fast rectangular matrix multiplication, “tall” JL projection, preconditioning, inverse maintenance, and polynomial interpolation for approximating integrals, which we discuss in more details below.

3 Batched low-rank update

To rescue this preconditioner idea, we transform and split the sequence into pieces of size poly⁡log⁡(n)\operatorname{poly}\log(n). We ensure the weight changes by only a quasi-polynomial factor and this decreases the cost of solving linear systems to poly⁡log⁡(n)\operatorname{poly}\log(n) steps. Since we batch the task of handling poly⁡log⁡(n)\operatorname{poly}\log(n) weight changes into one rectangular matrix multiplication which can be performed in O(n2)O(n^{2}) time, we make sure the cost per weight change is exactly O(n2)O(n^{2}) time (Theorem 6.3).

4 Illustration of our analysis

We describe the numerical tools used in our analysis, and provide simple illustrations of our applications of these tools. The actual way in which they are used in Sections 7-8 are more involved.

The most standard way to approximate an integral is by discretization, which takes a weighted sum of the integrand over a set of points in the domain. Unlike common discretization tools like the trapezoidal method, for our purpose we need to interpolate multiple variable integral using a polynomial for higher accuracy (Theorem 3.10). We give a simple example to illustrate our application of polynomial interpolation for multiple variable integrals as follows. In our fine-grained formula of the leverage score change from ww to wnew⁡w^{\operatorname{new}}, one of the integral terms is

In order to approximate such an integral, we take a set T⊆\mathcal{T}\subseteq of N=log⁡O(1)(n)N=\log^{O(1)}(n) points along the integration together with weights {ωt}t∈T\{\omega_{t}\}_{t\in\mathcal{T}} as in Theorem 3.10, and approximate the integral by

Inverse maintenance was first proposed in [Kha80] as a method for solving “slowly-changing” linear system.

From the previous paragraph on discrete sampling, it suffices to compute γi,s,t\gamma_{i,s,t} for all ii, where

Notice that computing γi,s,t\gamma_{i,s,t} for all ii is essentially computing the matrix products

which would take O(nω+o(1))O(n^{\omega+o(1)}) time if computed exactly. To improve the time while ensuring keeping the error small, we invoke JL with dimension ncn^{c} for small constant cc by computing

5 Much faster rectangular matrix multiplication implies deterministic cutting plane method

Our algorithm crucially relies on different kinds of fast rectangular matrix multiplication results. We also show that if these results are improved, then we are able to get a deterministic cutting plane method immediately.

where SO⁡\operatorname{SO} is the time complexity of the separation oracle.

Organization. We introduce basic notations, backgrounds and tools in Section 3. In Section 4, we present the statement that Vaidya’s cutting plane method tolerates perturbed leverage scores. We present our main data-structure for maintaining leverage scores in Section 5. Our main data-structure uses two different leverage score maintenance data-structures in Sections 7 and 8 with three different settings of the error parameter. Both our data-structures in Section 7 and 8 reply on the batched low rank algorithm in Section 6.

In Section A, we prove that Vaidya’s cutting plane method tolerates perturbed leverage scores. We provide several modified versions of projection maintenance data-structures in Section B. Finally, we explain how to handle convex-concave game optimization in Section C, and present our applications to market equilibrium computations in Section D.

Acknowledgments

The authors would like to express their sincere gratitude to matrix multiplicationer Josh Alman for his patient and answers of our exponential number of questions about fast matrix multiplication.

The authors would like to thank Swati Padmanabhan for very useful discussions at the early stage of this project. The authors would like to thank Lijie Chen, Nikhil Devanur, Irit Dinur, Simon S. Du, Wei Hu, Jason Lee, Jerry Li, Ruoqi Shen, Aaron Schild, Aaron Sidford, Santosh Vempala, Xin Yang, Peilin Zhong, and Danyang Zhuo.

The authors would like to thank Josh Alman, Irit Dinur, Avi Wigderson, and Jeroen Zuiddam for useful discussion about limitation of fast matrix multiplication.

The authors would like to thank Sanjeev Arora, Alexandr Andoni, Ainesh Bakshi, Yangsibo Huang, Rajesh Jayaram, Ravindran Kanna, Michael Kapralov, Adam Klivans, Kai Li, Christos Papadimitriou, Eric Price, Daniel Roy, Clifford Stein, Omri Weinstein, David P. Woodruff, and Hengjie Zhang for asking interesting questions at the end of the talk of this paper.

This project was supported in part by NSF awards CCF-1749609, CCF-1740551, DMS-1839116, and Microsoft Research Faculty Fellowship.

This project was supported in part by Special Year on Optimization, Statistics, and Theoretical Machine Learning (being led by Sanjeev Arora) at Institute for Advanced Study.

References

Preliminaries

In this section we introduce the notions and tools used throughout this paper.

For a positive integer nn, let [n][n] denote the set {1,2,⋯ ,n}\{1,2,\cdots,n\}. For any function ff, we define O~(f)\widetilde{O}(f) to be f⋅log⁡O(1)(f)f\cdot\log^{O(1)}(f). In addition to O(⋅)O(\cdot) notation, for two functions ff, gg, we use the shorthand f≲gf\lesssim g (resp. ≳\gtrsim) to indicate that f≤C⋅gf\leq C\cdot g (resp. ≥\geq) for some absolute constant C.C.

For square full-rank matrix AA, we use A−1A^{-1} to denote the inverse of AA.

2 Operators

3 Different types of running time

An algorithm runs in pseudo-polynomial time if its running time is a polynomial in the length of the input (the number of bits required to represent it) and the numeric value of the input (the largest integer present in the input).

An algorithm runs in strongly polynomial time if (1) the number of operations in the arithmetic model of computation is bounded by a polynomial in the number of rational numbers in the input instance, and (2) the space used by the algorithm is bounded by a polynomial in the size of the input.

An algorithm runs in weakly-polynomial time if its running time is upper bounded by a polynomial in the size of the input, and it doesn’t run in strongly polynomial time.

4 Basic results on matrices

Given a square invertible n×nn\times n matrix AA, an n×kn\times k matrix UU and a k×nk\times n matrix VV, let BB be an n×nn\times n matrix such that B=A+UCVB=A+UCV. Then, assuming (Ik+VA−1U)(I_{k}+VA^{-1}U) is invertible, we have

5 Fast matrix multiplication

For any n,r>0n,r>0, denote Tmat⁡(n,n,r)\mathcal{T}_{\operatorname{mat}}(n,n,r) the time to compute the multiplication of an n×nn\times n matrix and an n×rn\times r matrix.

We have the following upper bound on Tmat⁡(n,n,r)\mathcal{T}_{\operatorname{mat}}(n,n,r):

[GU18]. For r=n0.31r=n^{0.31}, we have Tmat⁡(n,n,r)=O(n2+o(1))\mathcal{T}_{\operatorname{mat}}(n,n,r)=O(n^{2+o(1)}).

[Cop82]. For r=n0.17r=n^{0.17}, we have Tmat⁡(n,n,r)=O(n2log⁡2n)\mathcal{T}_{\operatorname{mat}}(n,n,r)=O(n^{2}\log^{2}n).

[BD76]. For r=log⁡cnr=\log^{c}n for any constant c>0c>0, then we have Tmat⁡(n,n,r)=O(n2)\mathcal{T}_{\operatorname{mat}}(n,n,r)=O(n^{2}).

6 Multiple variable polynomial interpolation

We first state a one-variable version interpolation theorem.

Now, we explain how to use one variable interpolation result (Theorem 3.9) to prove a multiple variable interpolation result (Theorem 3.10).

Using one variable theorem 3.9, we have that : for all t1,t2,⋯ ,td−1∈t_{1},t_{2},\cdots,t_{d-1}\in,

To write recursive thing in an easy way, we let gdg_{d} denote function ff. We use t[j]t_{[j]} to denote t1,t2,⋯ ,tjt_{1},t_{2},\cdots,t_{j}.

where the last step follows by Claim 3.11. ∎

First, using one variable theorem 3.9, we can upper bound

where the last step follows by re-using ωi>0\omega_{i}>0 and ∑i=1Nωi=1\sum_{i=1}^{N}\omega_{i}=1.

Perturbed Volumetric Center Cutting Plane Method

Recall that the feasibility problem is defined as follows.

Feasibility Problem: Given a separation oracle for a set KK contained in a box of radius RR either find a point x∈Kx\in K or prove that KK does not contain a ball of radius ϵ\epsilon.

At a high level, Vaidya’s method heavily employs leverage scores to decide which hyperplane to add or to drop from the feasible region. The main innovation behind our faster implementation is a data structure that maintains an estimate of the leverage scores in amortized O(n2)O(n^{2}). This removes the bottleneck in Vaidya’s algorithm and yields the following result.

Since the proof of the validity of Vaidya’s method for our result is mostly a perturbed version of his analysis, we defer the proof of Theorem 4.1 to Section A.

Main Data Structure for Leverage Score Maintenance

In this section, we present our main data structure for leverage score maintenance that achieves an amortized O(n2)O(n^{2}) time per update. Combined with Theorem 4.1 in Section 4, our main data structure implies a faster O(nSO⁡log⁡(κ)+n3log⁡(κ))O(n\operatorname{SO}\log(\kappa)+n^{3}\log(\kappa)) time cutting plane method. Our main data structure further uses the simple leverage score maintenance data structure in Section 7 and the complicated leverage score maintenance data structure in Section 8.

for positive diagonal matrices W=diag⁡(w)W=\operatorname{diag}(w) through the following operations:

\textscInit(A,w)\textsc{Init}(A,w): takes O(nω+o(1))O(n^{\omega+o(1)}) time to intialize the data structure.

\textscUpdate(act)\textsc{Update}(\mathsf{act}): updates the data structure for the single update act\mathsf{act}.

Insertion (resp. deletion) of row aa with weight waw_{a} into (resp. from) (A(k−1),w(k−1))(A^{(k-1)},w^{(k-1)}) that satisfies

then the function \textscUpdate(act)\textsc{Update}(\mathsf{act}) takes an amortized O(n2)O(n^{2}) time, and the vector σ~(k)\widetilde{\sigma}^{(k)} output by \textscQuery()\textsc{Query}() at each step k∈[K]k\in[K] satisfies that

The proof of Theorem 5.1 relies on the data structures in Sections 6, 7 and 8.

We first prove the running time upper bound of the different functions. Notice that the running time upper bound for \textscInit(A,w)\textsc{Init}(A,w), and \textscQuery()\textsc{Query}() are immediate corollaries of Theorem 7.2 and 8.1. We prove running time upper bound for the function \textscUpdate(act)\textsc{Update}(\mathsf{act}) in the following. In particular, we show that the inner, middle and outer phases all run in amortized O(n2)O(n^{2}) time, and the amortized time to restart the data structure in Step 29 is O(n2)O(n^{2}).

We start by analyzing the running time of the inner phase. Since each call to \textscUpdate(act)\textsc{Update}(\mathsf{act}) makes one call of \textscUpdate(act)\textsc{Update}(\mathsf{act}) with act\mathsf{act} having a single action act\mathsf{act}, it follows from Theorem 7.2 that the inner phase makes one call to \textscpm.\textscupdate\textsc{pm}.\textsc{update} and takes extra time at most O(n2)O(n^{2}). Since we choose our parameter as ϵinn⁡=1/log⁡25(n)\epsilon_{\operatorname{inn}}=1/\log^{25}(n) (see Table 5), it then follows from Theorem B.4 with C=O(1)C=O(1) that the amortized time per call to \textscpm.\textscupdate\textsc{pm}.\textsc{update} is O(n2)O(n^{2}). Therefore, the inner phase runs in amortized time O(n2)O(n^{2}).

Batched Low Rank Update

In this section, we show how to maintain leverage score under low rank update. First, we start with a preconditioning lemma showing that given two spectrally similar matrix, we can invert one matrix faster by knowing the inverse of the other matrix.

Given n×nn\times n PSD matrices AA and MM such that 0⪯M⪯A⪯κ⋅M0\preceq M\preceq A\preceq\kappa\cdot M. For any integer t≥1t\geq 1 such that κ(1−1/κ)t+1<1\kappa(1-1/\kappa)^{t+1}<1, we have

Multiplying 1κM−1\frac{1}{\kappa}M^{-1} on both sides of the above equation with a formula A−1A^{-1} (Eq. (6.1)), we get

Using the definition of f(M,t)f(M,t), we have that

Using M−1⪯κA−1M^{-1}\preceq\kappa A^{-1}, we have

The result follows from some rearranging. ∎

Now, we show how to do leverage score update under monotone updates.

The same statement holds for decreasing ww, namely wnew⁡≤ww^{\operatorname{new}}\leq w, with A⊤Wnew⁡A⪰β−1A⊤WAA^{\top}W^{\operatorname{new}}A\succeq\beta^{-1}A^{\top}WA.

We note that the decreasing case follows from the increasing case by swapping ww and wnew⁡w^{\operatorname{new}}. Hence, we focus on the increasing case. Using Lemma 6.1, we can construct UϵU_{\epsilon} such that UϵU_{\epsilon} is low-degree polynomial of UU and A⊤WAA^{\top}WA and that

We define Uϵnew⁡U_{\epsilon}^{\operatorname{new}} similarly. We will show how to use UϵU_{\epsilon} and Uϵnew⁡U_{\epsilon}^{\operatorname{new}} to approximate σ(wnew⁡)−σ(w)\sigma(w^{\operatorname{new}})-\sigma(w). First, we note that

We define cic_{i}, c1,ic_{1,i}, c2,ic_{2,i} as follows:

where Δ=A⊤Wnew⁡A−A⊤WA\Delta=A^{\top}W^{\operatorname{new}}A-A^{\top}WA and ϵ~=ϵ3βk\widetilde{\epsilon}=\frac{\epsilon}{3\beta\sqrt{k}}.

Lemma 6.1 shows that Uϵ~new⁡U_{\widetilde{\epsilon}}^{\operatorname{new}} has O(1+log⁡ϵ~log⁡log⁡(n))O(1+\frac{\log\widetilde{\epsilon}}{\log\log(n)}) terms and that it takes

to compute Uϵ~new⁡AS⊤U_{\widetilde{\epsilon}}^{\operatorname{new}}A_{S}^{\top}. Finally, it takes extra Tmat⁡(k,n,k)=O(Tmat⁡(n,n,k))\mathcal{T}_{\operatorname{mat}}(k,n,k)=O(\mathcal{T}_{\operatorname{mat}}(n,n,k)) to do the left multiplication on ASA_{S}.

For the second term in (5). Woodbury matrix identity shows that

Then, we can compute (ΔW−1+ASUϵ~AS⊤)−1(\Delta_{W}^{-1}+A_{S}U_{\widetilde{\epsilon}}A_{S}^{\top})^{-1} in Tmat⁡(k,k,k)=O(Tmat⁡(n,n,k))\mathcal{T}_{\operatorname{mat}}(k,k,k)=O(\mathcal{T}_{\operatorname{mat}}(n,n,k)) time. Then, we compute

Now, we multiple the two terms above together in time Tmat⁡(n,k,n)=O(Tmat⁡(n,n,k))\mathcal{T}_{\operatorname{mat}}(n,k,n)=O(\mathcal{T}_{\operatorname{mat}}(n,n,k)). Hence, the total time is

For the first term in c~\widetilde{c}, we have

For the second term in c~\widetilde{c}, we have that the error is given by

where M=A⊤WAM=A^{\top}WA. To simplify the notation, we define Mt,s=M+t⋅Δ2+s⋅ΔM_{t,s}=M+t\cdot\Delta_{2}+s\cdot\Delta where Δ2=Uϵ~−1−M\Delta_{2}=U_{\widetilde{\epsilon}}^{-1}-M. Then, the error term becomes

To bound the Frobenius norm, we note that Δ⪰0\Delta\succeq 0 by the assumption and that Δ2=Uϵ~−1−M⪰0\Delta_{2}=U_{\widetilde{\epsilon}}^{-1}-M\succeq 0 (4). Hence, we have that Mt,s⪰MM_{t,s}\succeq M and

(4) shows that Δ2⪯ϵ~⋅M\Delta_{2}\preceq\widetilde{\epsilon}\cdot M and hence (M−12Δ2M−12)2⪯ϵ~2⋅I(M^{-\frac{1}{2}}\Delta_{2}M^{-\frac{1}{2}})^{2}\preceq\widetilde{\epsilon}^{2}\cdot I. Continuing the last equation, we have

Finally, using Δ\Delta has rank kk, we have

2 Batched low rank update

When we are given a sequence of update and we need to compute the change of leverage score, we cannot apply Lemma 6.2 directly for the following reasons:

The update in general involves both increasing some weight and decreasing some weight. This can be fixed by splitting the update into positive update and negative update. (See Step 1 in Algorithm 2)

To get error 1nO(1)\frac{1}{n^{O(1)}}, Lemma 6.2 takes at least n2log⁡(n)n^{2}\log(n) time. Hence, it is too costly to do a rank 1 update, which can happen if we have alternating positive and negative updates (since we can only apply Lemma 6.2 for a monotone change). This can be fixed by moving all positive/update and insert in the front of the update sequence. (See Step 2 in Algorithm 2)

Given the above intuitions, Theorem 6.3 follows from multiple use of Lemma 6.2.

Update: ∥log⁡w(k)−log⁡w(k−1)∥2≤0.01\|\log w^{(k)}-\log w^{(k-1)}\|_{2}\leq 0.01

Insert/Delete: waaa⊤⪯0.01⋅A(k−1)W(k−1)A(k−1)w_{a}aa^{\top}\preceq 0.01\cdot A^{(k-1)}W^{(k-1)}A^{(k-1)}

Note that the algorithm 2 involves reducing the sequence {M(0,k)}\{M^{(0,k)}\} to {M(1,k)}\{M^{(1,k)}\} to {M(2,k)}\{M^{(2,k)}\} and finally to {M(3,k)}\{M^{(3,k)}\}. All steps maintains the matrix at k=0k=0. The first two steps maintains the matrix at the last step. For the last step, we only ignore the rows with multiplicative changes less than η=n−0.08\eta=n^{-0.08}. Since there are at most T/L=n0.08/log⁡3(n)T/L=n^{0.08}/\log^{3}(n) phases, the total accumulated multiplicative changes for one row is Tn−0.08Tn^{-0.08}. Therefore, we have

for some vv such that ∥log⁡v−log⁡w(T)∥∞≤Tn−0.08\|\log v-\log w^{(T)}\|_{\infty}\leq Tn^{-0.08}. Furthermore, we output the good enough approximation of σA(T)(v)−σA(0)(w(0))=σ(M(3,\textscEnd))−σ(M(3,0))\sigma_{A^{(T)}}(v)-\sigma_{A^{(0)}}(w^{(0)})=\sigma(M^{(3,\textsc{End})})-\sigma(M^{(3,0)}) where we abused the notation to use σ(M)\sigma(M) to denote the leverage score of the rows insides MM. This is simply because we split the difference into

By the assumptions on insert/delete and update, we see that 0.8M(0,k−1)⪯M(0,k)⪯1.2M(0,k−1)0.8M^{(0,k-1)}\preceq M^{(0,k)}\preceq 1.2M^{(0,k-1)} for all kk. The first step clearly maintains this relation. We claim that the second step also maintains this relation. To see this, we let Δ(1,k)=M(1,k+1)−M(1,k)\Delta^{(1,k)}=M^{(1,k+1)}-M^{(1,k)}. By the relation, we have that

Note that step 2 simply permutes Δ(1,k)\Delta^{(1,k)}, namely, for each kk there is an unique k′k^{\prime} such that Δ(1,k)=Δ(2,k′)\Delta^{(1,k)}=\Delta^{(2,k^{\prime})}. Finally, we note that M(1,k)⪯M(2,k′)M^{(1,k)}\preceq M^{(2,k^{\prime})} for all kk because M(2,k′)M^{(2,k^{\prime})} is simply M(2,k′)M^{(2,k^{\prime})} plus some PSD matrix (which due to some insert/positive update move into the sum or some delete/negative update removed from the sum). Hence, we still have the relation (10).

For the step 3, we should not expect the relation (10). However, we claim that within each phase, let M(3,k)M^{(3,k)} and M(3,k‾)M^{(3,\overline{k})} be two matrices in the phase. Then, we have that

The proof for this is same for the phase with increasing MM and the phase with decreasing phase. Hence, we only discuss the first case. Say k1k_{1} is the first matrix in the phase and k2k_{2} is the last matrix in the phase. Note that the step 33 does not change the matrix M(3,k1)M^{(3,k_{1})} and M(3,k2)M^{(3,k_{2})} because we only swapping operation order within a phase. Hence by (10), we have

Since all matrix in the phase is sandwiched between M(3,k1)M^{(3,k_{1})} and M(3,k2)M^{(3,k_{2})} (due to the monotonicity of the sequence of MM). Hence, we have (11).

Now, we bound the runtime. We will show the each phase takes O(n2L)O(n^{2}L) time. Since there are O(T/L)O(T/L) phases, this shows that the total cost is O(n2T)O(n^{2}T).

Each phase contains at most LL insert or delete. Hence, Line 65 involves estimating leverage score up to rank LL update. By (11), we know the matrix is changed by a 2O(L)2^{O(L)} factor. Theorem 6.3 shows the cost is

where ϵ=n−1000\epsilon=n^{-1000}, β=2O(L)\beta=2^{O(L)} and k=O(L)k=O(L). By the choice of L=log⁡3(n)L=\log^{3}(n), we have Tmat⁡(n,n,k)=n2\mathcal{T}_{\operatorname{mat}}(n,n,k)=n^{2} and hence the cost is O(n2L)O(n^{2}L).

where ϵ=n−1000\epsilon=n^{-1000}, β=2O(L)\beta=2^{O(L)} and k=O(L2)k=O(L^{2}). By the choice of L=log⁡3(n)L=\log^{3}(n), we have Tmat⁡(n,n,k)=n2\mathcal{T}_{\operatorname{mat}}(n,n,k)=n^{2} and hence the cost is O(n2L)O(n^{2}L).

Similar to above, we have that ∥log⁡w(k−12)−log⁡w(k−1)∥2=O(L)\|\log w^{(k-\frac{1}{2})}-\log w^{(k-1)}\|_{2}=O(L). Furthermore, we have that ∥log⁡w(k−12)−log⁡w(k−1)∥∞=O(1)\|\log w^{(k-\frac{1}{2})}-\log w^{(k-1)}\|_{\infty}=O(1). Due to Line 44 and 49, we removed all rows with multiplicative changes less than η\eta. Hence, the number of coordinates that is non-zero in log⁡w(k−12)−log⁡w(k−1)\log w^{(k-\frac{1}{2})}-\log w^{(k-1)} is at most O(L2/η2)O(L^{2}/\eta^{2}). Hence, Theorem 6.3 shows the cost is

where ϵ=n−1000\epsilon=n^{-1000}, β=O(1)\beta=O(1) and k=O(L2/η2)k=O(L^{2}/\eta^{2}). By the choice of L=log⁡3(n)L=\log^{3}(n) and η=n−0.08\eta=n^{-0.08}, we have Tmat⁡(n,n,k)=n2log⁡2(n)\mathcal{T}_{\operatorname{mat}}(n,n,k)=n^{2}\log^{2}(n) and hence the cost is O(n2log⁡3(n))=O(n2L)O(n^{2}\log^{3}(n))=O(n^{2}L).

Simple Deterministic Leverage Score Maintenance

In this section, we give a simple deterministic leverage score maintenance data-structure which is used by both the inner and middle phases in our main data structure in Section 5. As a sub-procedure, we make use of the batched low-rank update procedure in Section 6 which requires the following assumption for a sequence of updates acts:

Update: ∥log⁡w(k)−log⁡w(k−1)∥2≤0.01\|\log w^{(k)}-\log w^{(k-1)}\|_{2}\leq 0.01.

Insert/Delete: waaa⊤⪯0.01(A(k−1))⊤W(k−1)A(k−1)w_{a}aa^{\top}\preceq 0.01(A^{(k-1)})^{\top}W^{(k-1)}A^{(k-1)} .

for positive diagonal matrices W=diag⁡(w)W=\operatorname{diag}(w) through the following operations:

\textscInit(A,w,ϵsimp⁡)\textsc{Init}(A,w,\epsilon_{\operatorname{simp}}): takes O(nω+o(1))O(n^{\omega+o(1)}) time to initialize the data structure.

\textscRefineEstimate(σ~new⁡)\textsc{RefineEstimate}(\widetilde{\sigma}^{\operatorname{new}}): takes O(n)O(n) time to update the approximation of σ(w)\sigma(w) to σ~new⁡\widetilde{\sigma}^{\operatorname{new}}.

We only need to prove the guarantee for the function \textscUpdate(acts)\textsc{Update}(\mathsf{acts}), as the guarantees for other functions are straightforward. Notice that each call to the function \textscUpdate(acts)\textsc{Update}(\mathsf{acts}) makes at most one call to \textscpm.\textscupdate\textsc{pm}.\textsc{update}, and the extra running time of O(n2⋅∣acts∣)O(n^{2}\cdot|\mathsf{acts}|) follows directly from Theorem 6.3. To prove the error guarantee, we let the sequence of matrices and vectors in acts\mathsf{acts} be A(0),A(1),⋯ ,A(T)A^{(0)},A^{(1)},\cdots,A^{(T)} and w(0),w(1),⋯ ,w(T)w^{(0)},w^{(1)},\cdots,w^{(T)}. notice that by Theorem 6.3, we have

The error guarantee then follows by summing up the two error upper bounds above. ∎

The following corollary is an immediate consequence of Theorem 7.2 and B.1. It states that if matrix multiplication can be performed fast enough, then the simple leverage score maintenance would imply a deterministic O(n3log⁡(n/ϵ))O(n^{3}\log(n/\epsilon)) algorithm for the cutting plane method.

If Tmat⁡(n,n,r)=O(n2log⁡O(1)(n))\mathcal{T}_{\operatorname{mat}}(n,n,r)=O(n^{2}\log^{O(1)}(n)) for r=nαr=n^{\alpha} with α>2/3\alpha>2/3, then there’s a deterministic O(n3log⁡(n/ϵ))O(n^{3}\log(n/\epsilon)) time algorithm for the cutting plane method.

This algorithm only uses the inner and middle phases. The inner phase is run as is our main algorithm. For the middle phase, we notice that, in this case, the exponent of matrix multiplication time can be bounded as ω<3−2/3=7/3\omega<3-2/3=7/3. Therefore, the data structure is restarted after every n1/3n^{1/3} calls to the middle phase. For the middle phase, we use the simple leverage score maintenance data structure in Theorem 7.2 with parameter ϵsimp⁡=n−α/2/log⁡O(1)(n)\epsilon_{\operatorname{simp}}=n^{-\alpha/2}/\log^{O(1)}(n). It follows from Theorem 7.2 that the error accumulated in the n0.2n^{0.2} steps is O(n−α/2n1/3log⁡O(1)(n))=n−Ω(1)O(n^{-\alpha/2}n^{1/3}\log^{O(1)}(n))=n^{-\Omega(1)}. By Theorem 7.2 and 5.1, the running time is O(n2log⁡O(1)(n))O(n^{2}\log^{O(1)}(n)) per step for middle phase which is fast enough. This finishes the proof of the corollary. ∎

2 Approximate leverage score’s moving

We use Δ1\Delta_{1} and Δ2\Delta_{2} to denote the two corresponding error terms

Assume Assumption 7.1 holds and that ϵsimp⁡≤0.01\epsilon_{\operatorname{simp}}\leq 0.01. Then we have the following upper bound on ∥Δ1∥2\left\lVert\Delta_{1}\right\rVert_{2}

Recall the definition of the error term Δ1\Delta_{1} as

and we use PP to denote P(yξ)P(y_{\xi}). Then we have

where the last step follows from Theorem 6.3. ∎

Assume Assumption 7.1 holds and that ϵsimp⁡≤0.01\epsilon_{\operatorname{simp}}\leq 0.01. Then we have the following upper bound on ∥Δ2∥2\left\lVert\Delta_{2}\right\rVert_{2}

Recall the definition of the error term Δ2\Delta_{2} as

and we use PP to denote P(vt,s)P(v_{t,s}). By Assumption 7.1, we have

This together with the assumption that ϵsimp⁡≤0.01\epsilon_{\operatorname{simp}}\leq 0.01 further implies that

Complicated Randomized Leverage Score Maintenance

In this section, we present a complicated randomized leverage score maintenance data structure which is used by the outer phase in our main data structure in Section 5. We again make crucial use of the batched low-rank update procedure in Section 6.

for positive diagonal matrices W=diag⁡(w)W=\operatorname{diag}(w) through the following operations:

\textscInit(A,w,r,N,ϵcomp⁡)\textsc{Init}(A,w,r,N,\epsilon_{\operatorname{comp}}): takes O(nω+o(1))O(n^{\omega+o(1)}) time to initialize the data structure.

\textscRefineEstimate(σ~new⁡)\textsc{RefineEstimate}(\widetilde{\sigma}^{\operatorname{new}}): takes O(n)O(n) time to update the approximation of σ(w)\sigma(w) to σ~new⁡\widetilde{\sigma}^{\operatorname{new}}.

2 Leverage score’s moving

To define ztz_{t} for t∈t\in, we first define ztz_{t} for all t∈Tt\in{\cal T} as in Algorithm 5. We then extend the definition of ztz_{t} to the entire interval $$ by connecting consecutive points with segments.

For any s∈s\in, we define ys,t=zt+s(xt−zt)y_{s,t}=z_{t}+s(x_{t}-z_{t}).

The change in leverage score can be written as

The lemma then follows immediately from the following Lemma 8.5 and 8.6. ∎

For the second term in Lemma 8.4, we have

3 Running time anlaysis

Assume the sequence acts\mathsf{acts} satisfies Assumption 7.1 and ϵcomp⁡≤0.01\epsilon_{\operatorname{comp}}\leq 0.01. Then each call to the function \textscUpdate(acts)\textsc{Update}(\mathsf{acts}) makes O(N)O(N) calls to \textscpm.\textscupdate\textsc{pm}.\textsc{update} and takes an extra O(n2⋅∣acts∣+Tmat⁡(n,n,r)⋅N3⋅log⁡(n))O(n^{2}\cdot|\mathsf{acts}|+\mathcal{T}_{\operatorname{mat}}(n,n,r)\cdot N^{3}\cdot\log(n)) time.

Assume m=O(n)m=O(n). Then for any t∈Tt\in{\cal T}, the time to compute θi,t⊤θi,t\theta_{i,t}^{\top}\theta_{i,t} for all i∈[m]i\in[m] is O(n2)O(n^{2}).

Denote Q=Q(zt)Q=Q(z_{t}) and Q(2)Q^{(2)} the entry-wise square of QQ. We have

We only describe how to compute Rαβ,s,tαi,s,tR_{\alpha\beta,s,t}\alpha_{i,s,t} for all i∈[m]i\in[m] in time O(Tmat⁡(n,n,r)⋅log⁡(n))O(\mathcal{T}_{\operatorname{mat}}(n,n,r)\cdot\log(n)) as the rest of the calculations are similar. Notice that that computing Rαβ,s,tαi,s,tR_{\alpha\beta,s,t}\alpha_{i,s,t} for all i∈[m]i\in[m] is essentially computing the matrix

Assume we know the matrix M(ys,t)−1M(y_{s,t})^{-1}, then we can perform the computation from left to right, and it follows that each matrix multiplication here can be done in time O(Tmat⁡(n,n,r))O(\mathcal{T}_{\operatorname{mat}}(n,n,r)). To remove the assumption that we know M(ys,t)−1M(y_{s,t})^{-1}, we pre-condition on the matrix M(zt)−1M(z_{t})^{-1} and apply Lemma 6.1 to compute Rαβ,s,tαi,s,tR_{\alpha\beta,s,t}\alpha_{i,s,t} for all i∈[m]i\in[m] (up to negligible error) in time O(Tmat⁡(n,n,r)⋅log⁡(n))O(\mathcal{T}_{\operatorname{mat}}(n,n,r)\cdot\log(n)).

Assume m=O(n)m=O(n) and ϵcomp⁡≤0.01\epsilon_{\operatorname{comp}}\leq 0.01. Define an approximation Δσ~inew⁡\Delta\widetilde{\sigma}^{\operatorname{new}}_{i} to the change in leverage score to be

Then the time to compute Δσ~inew⁡\Delta\widetilde{\sigma}^{\operatorname{new}}_{i} for all i∈[m]i\in[m] (up to negligible error) is O(Tmat⁡(n,n,r)⋅N3⋅log⁡(n))O(\mathcal{T}_{\operatorname{mat}}(n,n,r)\cdot N^{3}\cdot\log(n)).

4 Upper bounding η𝜂\eta, α𝛼\alpha, β𝛽\beta and γ𝛾\gamma

From the computation in Section 8.5, the variance of the three terms where we applied JL matrices are bounded by ∑i∥ηi∥24\sum_{i}\left\lVert\eta_{i}\right\rVert_{2}^{4}, ∑i∥αi∥22∥βi∥22\sum_{i}\left\lVert\alpha_{i}\right\rVert_{2}^{2}\left\lVert\beta_{i}\right\rVert_{2}^{2} and ∑i∥γi∥24\sum_{i}\left\lVert\gamma_{i}\right\rVert_{2}^{4}. Our bounds for these terms are summarized in Table 6.

Assume ϵcomp⁡≤0.01\epsilon_{\operatorname{comp}}\leq 0.01, where ϵcomp⁡\epsilon_{\operatorname{comp}} is the error parameter in Algorithm 5. Then for any s∈Ss\in{\cal S}, we have

where ys,t=zt+s(xt−zt)y_{s,t}=z_{t}+s(x_{t}-z_{t}) and Ys,t=Zt+s(Xt−Zt)Y_{s,t}=Z_{t}+s(X_{t}-Z_{t}). Recall from Definition 3.2 that P(v)=V1/2A(A⊤VA)−1A⊤V1/2=V1/2⋅Q(v)⋅V1/2P(v)=V^{1/2}A(A^{\top}VA)^{-1}A^{\top}V^{1/2}=V^{1/2}\cdot Q(v)\cdot V^{1/2}. We can rewrite ηi,s\eta_{i,s} as

and for simplicity, we use PP to denote the projection matrix P(ys,0)P(y_{s,0}). Since ϵcomp⁡≤0.01\epsilon_{\operatorname{comp}}\leq 0.01, it follows that

where recall that ys,t=zt+s(xt−zt)y_{s,t}=z_{t}+s(x_{t}-z_{t}) and Ys,t=Zt+s(Xt−Zt)Y_{s,t}=Z_{t}+s(X_{t}-Z_{t}). Recall from Definition 3.2 that P(v)=V1/2A(A⊤VA)−1A⊤V1/2=V1/2⋅Q(v)⋅V1/2P(v)=V^{1/2}A(A^{\top}VA)^{-1}A^{\top}V^{1/2}=V^{1/2}\cdot Q(v)\cdot V^{1/2}. We therefore can rewrite αi,s,t\alpha_{i,s,t} and βi,s,t\beta_{i,s,t} as

Therefore we can upper bound αi,s,t\alpha_{i,s,t} as

where in the last step we define diagonal matrices

where recall that ys,t=(zt+s(xt−zt))y_{s,t}=(z_{t}+s(x_{t}-z_{t})) and Ys,t=(Zt+s(Xt−Zt))Y_{s,t}=(Z_{t}+s(X_{t}-Z_{t})). Recall from Definition 3.2 that P(v)=V1/2A(A⊤VA)−1A⊤V1/2=V1/2⋅Q(v)⋅V1/2P(v)=V^{1/2}A(A^{\top}VA)^{-1}A^{\top}V^{1/2}=V^{1/2}\cdot Q(v)\cdot V^{1/2}. We therefore can rewrite γi,s,t\gamma_{i,s,t} as

and for simplicity, we use PP to denote P(ys,t)P(y_{s,t}). By our assumptions that ϵsimp⁡≤0.01\epsilon_{\operatorname{simp}}\leq 0.01 and

5 Variance upper bound for random Gaussian matrices

Our variance bounds for the terms where we applied JL matrices are summarized in Table 7. These results are consequences of the following Lemma 8.14.

Since E⁡[R⊤R]=I\operatorname*{{\bf{E}}}[R^{\top}R]=I, we have

Next we prove the bound on the variance. We use RiR_{i} for each i∈[r]i\in[r] to denote the column vector that corresponds to the iith row of RR. We have

where the last inequality is because x⊤R1x^{\top}R_{1} is a Gaussian random variable with variance ∥x∥22/r\left\lVert x\right\rVert_{2}^{2}/r.

The lemmas below all follow immediately from Lemma 8.14.

Let σi,dis⁡\sigma_{i,\operatorname{dis}} and σi,jl⁡\sigma_{i,\operatorname{jl}} be defined as follows

Let σi,dis⁡\sigma_{i,\operatorname{dis}} and σi,jl⁡\sigma_{i,\operatorname{jl}} be defined as follows

Let σi,dis⁡\sigma_{i,\operatorname{dis}} and σi,jl⁡\sigma_{i,\operatorname{jl}} be defined as follows

6 Error upper bound for discrete sampling

Our error upper bounds for approximating integral by discrete sampling are summarized in Table 8. We only prove Lemma 8.18 in the following. The rest of the lemmas follows from similar arguments.

Assume ϵcomp⁡≤0.01\epsilon_{\operatorname{comp}}\leq 0.01. Let σi,cts⁡\sigma_{i,\operatorname{cts}} and σi,dis⁡\sigma_{i,\operatorname{dis}} be defined as follows

In order to bound M2NM_{2N}, we need the following Cauchy’s estimates.

Since f(x)f(x) is a rational polynomial, we can extend the definition of f(s)f(s) to the complex plane and the resulting function, which we also denote as f(s)f(s). Since ∥log⁡(z0)−log⁡(x0)∥∞≤ϵcomp⁡≤0.01\left\lVert\log(z_{0})-\log(x_{0})\right\rVert_{\infty}\leq\epsilon_{\operatorname{comp}}\leq 0.01, M(ys,0)M(y_{s,0}) is invertible for ∣s∣≤1|s|\leq 1. Hence ff is holomorphic on the unit ball on the complex plane around . Applying Theorem 8.19 with r=1r=1, we have that

Assume ϵcomp⁡≤0.01\epsilon_{\operatorname{comp}}\leq 0.01. Let σi,cts⁡\sigma_{i,\operatorname{cts}} and σi,dis⁡\sigma_{i,\operatorname{dis}} be defined as follows

Assume ϵcomp⁡≤0.01\epsilon_{\operatorname{comp}}\leq 0.01. Let σi,cts⁡\sigma_{i,\operatorname{cts}} and σi,dis⁡\sigma_{i,\operatorname{dis}} be defined as follows

where ∣S∣=∣T∣=N|{\cal S}|=|{\cal T}|=N. Then we have

Assume ϵcomp⁡≤0.01\epsilon_{\operatorname{comp}}\leq 0.01. Let σi,cts⁡\sigma_{i,\operatorname{cts}} and σi,dis⁡\sigma_{i,\operatorname{dis}} be defined as follows

where ∣S∣=∣T∣=N|{\cal S}|=|{\cal T}|=N. Then we have

Appendix

Appendix A Perturbed Volumetric Center Cutting Plane Method

In this section we present an overview of Vaidya’s cutting plane method [Vai89a] and illustrate how our leverage score maintenance data structure in Section 5 implies a faster implementation in O(nSO⁡log⁡(κ)+n3log⁡(κ))O(n\operatorname{SO}\log(\kappa)+n^{3}\log(\kappa)) time. Formally, we prove the following Theorem 4.1 from Section 4.

Our cutting plane method essentially replaces the leverage scores σ\sigma in Vaidya’s method by estimates σ~\widetilde{\sigma} from our leverage score maintenance data structure in Section 5, which satisfies that ∥σ~−σ∥2≤1/log⁡O(1)(n)\|\widetilde{\sigma}-\sigma\|_{2}\leq 1/\log^{O(1)}(n). To justify the validility of such a replacement, we first give an overview of Vaidya’s method.

Each constraint ii of P(k)P^{(k)} is associated with a leverage score

which measures its relative importance (see preliminary for the definition). It is well-known that 0≤σi(z)≤10\leq\sigma_{i}(z)\leq 1, ∀i∈[m(k)]\forall i\in[m^{(k)}] and ∑i=1m(k)σi(z)=n\sum_{i=1}^{m^{(k)}}\sigma_{i}(z)=n. We denote by σ\sigma and Σ\Sigma the vector and diagonal matrix of leverage scores respectively.

Whenever the leverage score σi(z)\sigma_{i}(z) is smaller than some universal constant c1c_{1}, constraint ii is dropped and zz is updated by the Newton method below. As ∑iσi(z)=n\sum_{i}\sigma_{i}(z)=n, this implies that the number of constraints is ≤∑iσic1=nc1=O(n)\leq\frac{\sum_{i}\sigma_{i}}{c_{1}}=\frac{n}{c_{1}}=O(n).

Otherwise, the separation oracle is queried at the volumetric center z(k)z^{(k)} and returns a new separating hyperplane ak⊤x≥bka_{k}^{\top}x\geq b_{k}. However, P(k+1)P^{(k+1)} is not the intersection of P(k)P^{(k)} and ak⊤x≥bka_{k}^{\top}x\geq b_{k}. Instead, ak⊤x≥bk′a_{k}^{\top}x\geq b_{k}^{\prime} is added for some bk′≤bkb_{k}^{\prime}\leq b_{k} so that the leverage score of ak⊤x≥bk′a_{k}^{\top}x\geq b_{k}^{\prime} is 0.5(δc1)1/20.5(\delta c_{1})^{1/2}, where δ≥103c1\delta\geq 10^{3}c_{1} is another small universal constant.

Since the decrease is multiplicative, this can be accomplished in only O(1)O(1) many iterations.

Vaidya showed that after TT iterations, the volume of P(k)P^{(k)} decreases by a factor of cT−O(nlog⁡(n))c^{T-O(n\log(n))} for some constant cc, i.e.

Therefore in T=O(nlog⁡(nR/ϵ))T=O(n\log(nR/\epsilon)) iterations, we have vol(P(k))≤ϵO(n)\mathsf{vol}(P^{(k)})\leq\epsilon^{O(n)} showing that P(k)P^{(k)} does not contain a ball of radius ϵ\epsilon and hence solving the feasibility problem.

As ∑iσi(z)=n\sum_{i}\sigma_{i}(z)=n and the leverage scores are maintained so that σi≥c1\sigma_{i}\geq c_{1} always holds, the number of constraints is ≤∑iσic1=nc1=O(n)\leq\frac{\sum_{i}\sigma_{i}}{c_{1}}=\frac{n}{c_{1}}=O(n). Thus all vectors and matrices above have dimension O(n)O(n) and O(n)×O(n)O(n)\times O(n). Moreover, recall that only O(1)O(1) steps of Newton method are needed within a iteartion of cutting plane.

Therefore in one iteration, the running time of Vaidya is O(n2)O(n^{2}) plus the time to compute σ\sigma and to solve a linear system in Q(z)−1Q(z)^{-1} (from the Newton step), which naively requires O(nω)O(n^{\omega}) time. In the rest of this section we explain speed up these two bottlenecks using our leverage score maintenance data structure.

A.1 Our faster implementation via leverage score maintenance

We provide a faster implementation of Vaidya’s method via our leverage score maintenance data structure, which efficiently updates leverage scores. Specifically, We design a data structure which, upon updates to the volumetric center zz, maintains an estimate σ~\widetilde{\sigma} of the leverage scores σ\sigma in amortized O(n2)O(n^{2}) time (Theorem 5.1). Our error guarantee satisfies

To apply our data structure, we plug in W=Sz−2W=S_{z}^{-2} as the weight in Theorem 5.1. To establish the validity of our method, we show that conditions (1) and (2) required for our data structure are satisfied for sufficiently small parameters c1,δ,c2c_{1},\delta,c_{2}. We then prove that Vaidya’s performance guarantee is preserved in the presence of a small perturbation to the leverage score.

For any constraint a⊤x≥ba^{\top}x\geq b added or removed, let s=a⊤z−bs=a^{\top}z-b be its slack. We have

Let H(z)=A⊤Sz−2AH(z)=A^{\top}S_{z}^{-2}A. Our goal is to show

Recall that a constraint is removed when its leverage score is smaller than c1c_{1} and added so that its leverage score is (δc1)1/2(\delta c_{1})^{1/2}. In Vaidya’s analysis, the only requirement on c1c_{1} and δ\delta is that c1,δc_{1},\delta are sufficiently small constants and δ≥103c1\delta\geq 10^{3}c_{1}. Hence in either case, we can make the leverage score of a⊤x≥ba^{\top}x\geq b smaller than 0.01 by choosing c1c_{1} and δ\delta small enough, i.e. the leverage score of a⊤x≥ba^{\top}x\geq b satisfies

Since H(z)H(z) is PSD and the square root of a PSD matrix exists,

Note that the spectral norm of (H(z)−1/2a)(H(z)−1/2a)⊤(H(z)^{-1/2}a)(H(z)^{-1/2}a)^{\top} is (H(z)−1/2a)⊤(H(z)−1/2a)(H(z)^{-1/2}a)^{\top}(H(z)^{-1/2}a). Thus

Multiplying by H(z)1/2H(z)^{1/2} on the both sides of the above equation, we have

First, we note that it suffices to show that

Thus each coordinate of log⁡(sznew⁡)−log⁡(sz)\log(s_{z^{\operatorname{new}}})-\log(s_{z}) is bounded by log⁡(1±0.00001)\log(1\pm 0.00001).

Now using log⁡2(1+t)≤2t2\log^{2}(1+t)\leq 2t^{2} for ∣t∣≤0.01|t|\leq 0.01, we have

It then remains to prove ∥sznew⁡−szsz∥2≤0.00001\left\|\frac{s_{z^{\operatorname{new}}}-s_{z}}{s_{z}}\right\|_{2}\leq 0.00001.

In Vaidya’s work [Vai89a], they showed that

Recall that leverage scores are at least c1c_{1}, and Q(z)=A⊤Sz−1Σ~Sz−1AQ(z)=A^{\top}S_{z}^{-1}\widetilde{\Sigma}S_{z}^{-1}A is PSD. Thus

Moreover, note that A(znew⁡−z)=sznew⁡−szA(z^{\operatorname{new}}-z)=s_{z^{\operatorname{new}}}-s_{z} so

Having established the conditions of our data structure which maintains perturbed leverage scores, we argue that Vaidya’s method tolerates small additive perturbations o(1)o(1) in the leverage scoresIn fact, Vaidya’s method would survive even if the perturbation is a sufficiently small constant.. Note that in the presence of such perturbations, both the procedure for updating P(k)P^{(k)} and the Newton step are affected.

For the Newton step, let Σ~\widetilde{\Sigma} be the diagonal matrix of σ~\widetilde{\sigma}. Vaidya’s Newton step is modified as

As only Σ\Sigma and σ\sigma are changed, this amounts to a small difference in the convergence rate, i.e.

Assume the leverage scores σ\sigma are replaced by estimate σ~\widetilde{\sigma}, where ∥σ~−σ∥2≤1/log⁡O(1)(n)\|\widetilde{\sigma}-\sigma\|_{2}\leq 1/\log^{O(1)}(n) in Vaidya’s method.

Then Vaidya’s convergence guarantee still holds: after TT iterations, the volume of P(k)P^{(k)} decreases by a factor of cT−O(nlog⁡(n))c^{T-O(n\log(n))} for some constant cc, i.e.

The proof of Vaidya’s convergence lemma essentially depends on the fact that leverage scores are at least c1c_{1} and at most 0.5(δc1)1/20.5(\delta c_{1})^{1/2}.

Note that P(k)P^{(k)} is updated by dropping constraint ii if σi(z)≥c1\sigma_{i}(z)\geq c_{1}, or adding constraint ii s.t. σi(z)=0.5(δc1)1/2\sigma_{i}(z)=0.5(\delta c_{1})^{1/2}. The purpose of the constraint adding and dropping is to make sure the leverage score of all constraints are Θ(1)\Theta(1). Hence, we can use any constant approximation to leverage score. In particular, an additive o(1)o(1) pertubation in the leverage score can be absorbed by scaling c1,δc_{1},\delta slightly. ∎

Now we are ready to bound the running time of our modification of Vaidya’s cutting plane method and complete the proof of Theorem 4.1.

By Lemma A.4, in T=O(nlog⁡(nR/ϵ))=O(nlog⁡(κ))T=O(n\log(nR/\epsilon))=O(n\log(\kappa)) iterations, we have vol(P(k))≤ϵO(n)\mathsf{vol}(P^{(k)})\leq\epsilon^{O(n)} showing that P(k)P^{(k)} does not contain a ball of radius ϵ\epsilon. Thus the number of calls to the separation oracle is O(nlog⁡(κ))O(n\log(\kappa)). We next analyze the runtime per iteration.

By Lemma A.3, we still only need O(1)O(1) Newton steps. Thus, as argued at the end of last subsection, the per-iteration running time is O(n2)O(n^{2}) plus the time to compute σ\sigma and to solve a linear system in Q(z)−1Q(z)^{-1}. We argue that both of these two tasks can be accomplished in amortized O(n2)O(n^{2}) time.

For σ\sigma, we instead use its estimate σ~\widetilde{\sigma} output by our leverage score maintenance data structure (Theorem 5.1). By Lemmas A.1 and A.2, the conditions of the data structure are satisfied. Hence we can update σ~\widetilde{\sigma} in amortized O(n2)O(n^{2}) time.

Solving a linear system in Q(z)−1Q(z)^{-1}, as pointed out in Theorem 31 of LSW [LSW15], can be done by inverse maintenance. Using the inverse maintenance procedure in [CLS19], this can also be done in amortized O(n2)O(n^{2}) time (see Theorem B.4). ∎

Appendix B Modified Projection Maintenance

\textscInitialize(A,w,ϵ)\textsc{Initialize}(A,w,\epsilon): Initialize the data structure of the matrix AA, the weight ww and the target accuracy ϵ∈(0,1/4)\epsilon\in(0,1/4) in mω+o(1)m^{\omega+o(1)} time.

\textscInsert(a,wa)\textsc{Insert}(a,w_{a}): Insert a column aa into AA, a weight waw_{a} into ww in O(m2)O(m^{2}) time.

\textscDelete(a,wa)\textsc{Delete}(a,w_{a}): Delete a column aa from AA and its corresponding weight waw_{a} from ww in O(m2)O(m^{2}) time.

Suppose that the number of columns is O(m)O(m) during the whole algorithm and that for any call of Update, we have

where ww is the input of call, w(old)w^{(\textrm{old})} is the weight before the call. Then, the amortized expected time per call of \textscUpdate(w)\textsc{Update}(w) is

We will use this theorem with difference algorithms for rectangular matrix multiplication. Recall that it takes O(m2log⁡2m)O(m^{2}\log^{2}m) time to multiply an m×mm\times m and an m×m0.17m\times m^{0.17} matrix. By splitting the matrix into blocks (See e.g. [CLS19, Lemma A.5]), one can check it takes

time to multiply a m×mm\times m and a m×km\times k matrix with α=0.17\alpha=0.17. Using this and putting k∗=mαk^{*}=m^{\alpha}, we have

Hence, applying Theorem B.1 with k∗=m0.17k^{*}=m^{0.17}, we have the following Theorem

There is a variant of the data structure in Theorem B.1 where the amortized time per call of \textscUpdate(w)\textsc{Update}(w) is

Unfortunately, this version still have extra log⁡O(1)m\log^{O(1)}m terms in the runtime. To get the m2m^{2} time, we use the following lemma:

time to multiply m×rm\times r and r×mr\times m matrices.

If r>m0.380.39r>m^{\frac{0.38}{0.39}}, we simply multiply it using a m2.38m^{2.38} time square matrix multiplication algorithm. This is faster than m2r0.39≤O(m2r0.4log⁡cm)m^{2}r^{0.39}\leq O(\frac{m^{2}r^{0.4}}{\log^{c}m}). If r<log⁡2cmr<\log^{2c}m, we simply use (3) in Theorem 3.8 which takes O(m2)O(m^{2}) time. Hence, we can assume log⁡2cm<r<m0.380.39\log^{2c}m<r<m^{\frac{0.38}{0.39}}.

Let k=rlog⁡c/0.4mk=\frac{r}{\log^{c/0.4}m}. We can view the problem as multiplying a mk×rk\frac{m}{k}\times\frac{r}{k} and a rk×mk\frac{r}{k}\times\frac{m}{k} block matrices and each block has size k×kk\times k size.

Hence, (3) in Theorem 3.8 shows that the total cost is O((mk)2)O((\frac{m}{k})^{2}) many block matrix multiplication and each takes O(k2.4)O(k^{2.4}) time. Therefore, the total cost is

Now, applying Theorem B.1 with k∗=log⁡O(1)mk^{*}=\log^{O(1)}m, we have

For any c>0c>0, there is a variant of the data structure in Theorem B.1 with the amortized time per call of \textscUpdate(w)\textsc{Update}(w) is

Appendix C Cutting Plane Method for Convex Minimization and Saddle Point Problems

We show in this section that cutting plane methods can be applied to not only convex minimization, but also the more general problem of computing a saddle point in a convex-concave game with essentially the same guarantee.

C.2 Convex minimization

Using a standard reduction of convex minimization to the feasiblity problem ([Nem94] and Theorem 42 of [LSW15]), we can minimize a convex function with O(nlog⁡κ){O}(n\log\kappa) subgradient oracle calls and O(n3log⁡κ)O(n^{3}\log\kappa) time. This improves over the previous best of O(n3log⁡O(1)κ)O(n^{3}\log^{O(1)}\kappa) [LSW15]. Since κ\kappa can be exponential in certain applications, this allows us to obtain significantly faster algorithms (see e.g. subsection D.3).

C.3 Convex-concave games

In this subsection we show that a similar guarantee holds for solving convex-concave games. Much of the materials in this section are modified from [Nem95, Lecture 5]. For completeness, we will explain both the standard theory and the various changes needed for our promised runtime.

In the convex-concave game, we are asked to solve

and that all solutions to the LHS are solutions to the RHS, and vice versa. Any solution (x∗,y∗)(x^{*},y^{*}) to this problem is called a saddle point, and satisifes f(x,y∗)≥f(x∗,y∗)≥f(x∗,y)f(x,y^{*})\geq f(x^{*},y^{*})\geq f(x^{*},y) for any (x,y)∈X×Y(x,y)\in\mathcal{X}\times\mathcal{Y}.

We will be interested in computing an ϵ\epsilon-saddle point which we define in the following. Define f‾(x):=max⁡y∈Yf(x,y)\overline{f}(x):=\max_{y\in\mathcal{Y}}f(x,y) and f‾(y)=min⁡x∈Xf(x,y)\underline{f}(y)=\min_{x\in\mathcal{X}}f(x,y). The minimax theorem is equivalent to

Since certifying the values of f(x,y)f(x,y) around the boundary of X\mathcal{X} and Y\mathcal{Y} is quite difficult under the black-box setting, our definition of ϵ\epsilon-saddle point ignores small portion of the domain around the boundary.

It follows from (13) that the LHS of (14) is

In what follows we assume access to a first-order oracle which, given (x,y)∈int(X×Y)(x,y)\in\mathsf{int}(\mathcal{X}\times\mathcal{Y}), returns the subgradient vector

The crucial property of this vector is as follows:

In particular, if z=(x,y)z=(x,y) is a saddle point of ff, then we have

Since ff is convex in xx and concave in yy, we have

which proves the first part of the lemma. For the second part, simply notice that if z=(x,y)z=(x,y) is a saddle point, we have

C.4 Applying cutting plane method to convex-concave games

For simplicity, we extend the gradient function gg as follows:

Furthermore, P(T)⊂⋂k∈IH(k)∩B∞(0,R)P^{(T)}\subset\bigcap_{k\in I}H^{(k)}\cap B_{\infty}(0,R) with ∣I∣=O(n)|I|=O(n).

By Lemma C.3, any saddle point lies in H(k)H^{(k)} showing that it is indeed a separating hyperplane. With this separation oracle, we apply our faster implementation of Vaidya’s cutting plane method from section 4.

The second part of the lemma follows from the fact that this method always maintains a polytope with O(n)O(n) constraints. For the first part, note that this just paraphases Lemma A.4. ∎

C.5 Cutting plane method for convex-concave games: generating solutions

Recall that for minimizing a convex function f(z)f(z), one can simply output the best z(k)z^{(k)} found in all iterations. The argument here is that as long as the volume vol(P(T))\mathsf{vol}(P^{(T)}) is small enough, then in some iteration kk, a point close to the optimal solution z∗z^{*} gets removed from P(k)P^{(k)} which indicates that f(z(k))f(z^{(k)}) is also close to optimal. For the convex-concave game, however, such a naive approach of outputting the “best” z(k)z^{(k)} would fail as illustrated by [Nem95, Section 5.3]. The crucial difference here in the convex-concave game is that although we have an objective function ff, but we are not interested in optimizing it. Instead, we are interested in finding an ϵ\epsilon-saddle point (x,y)(x,y) that satisfies (14).

The correct idea is to output some convex combination of all z(k)z^{(k)}’s that does converge to the saddle point (x∗,y∗)∈X×Y(x^{*},y^{*})\in\mathcal{X}\times\mathcal{Y} which we describe in the following.

Assume that we have performed TT steps of the cutting plane method.

Let II be the set of all constraints in P(k)∩B∞(0,R)P^{(k)}\cap B_{\infty}(0,R). If the kthk^{\text{th}} constraint comes from B∞(0,R)B_{\infty}(0,R), denote by z(k)z^{(k)} the center of the face and g(k)g^{(k)} the vector normal to the face scaled by β\beta. Otherwise, z(k)z^{(k)} and g(k)g^{(k)} denote the query point z(k)z^{(k)} of the oracle and its output g^β(z(k))\widehat{g}_{\beta}(z^{(k)}). The gap function γ\gamma is defined as

Notice that γ(z)\gamma(z) is concave as it is the minimum of affine functions.

Now we show that if γ(z)\gamma(z) is small for all zz, then we can form a good approximation to the saddle point set from z(k)z^{(k)}. We first prove the following lemma which states that the maximum of γ(z)\gamma(z) is given by some certain convex combination of γ(k)(z)\gamma^{(k)}(z).

Furthermore, for any 0<η<1/20<\eta<1/2, we can find λ∈Δ\lambda\in\Delta such that

in time O((n+m)ω+o(1)log⁡((n+m)/η)O((n+m)^{\omega+o(1)}\log((n+m)/\eta).

The second part of the lemma follows from the observation that “∑k∈Iλk⋅γ(k)(z)\sum_{k\in I}\lambda_{k}\cdot\gamma^{(k)}(z) is a constant function” is a linear constraint over λ\lambda. Therefore, finding λ∈Δ\lambda\in\Delta that forms a constant function with smallest possible value can be captured by the following linear program (in λ\lambda):

Using a recent LP solver from Theorem 2.1 in [CLS19], in O((n+m)ω+o(1)log⁡(1/δ))O((n+m)^{\omega+o(1)}\log(1/\delta)) time we can output an approximate solution λk\lambda_{k} satisfying

where we used ∥g(k)∥2≤max⁡(β,L)=β\left\lVert g^{(k)}\right\rVert_{2}\leq\max(\beta,L)=\beta and z(k)∈B∞(0,R)z^{(k)}\in B_{\infty}(0,R). Now for z′∈B∞(0,R)z^{\prime}\in B_{\infty}(0,R),

Our result then follows by taking η=2δ(n+m)\eta=2\delta(n+m). ∎

Now given the notion of approximate multipliers (17), we prove the following lemma.

with η<1\eta<1. Assume that β≥3n+m⋅L\beta\geq 3\sqrt{n+m}\cdot L. Let

where J={k∈I:z(k)∈X×Y}J=\{k\in I:z^{(k)}\in\mathcal{X}\times\mathcal{Y}\}. Then z^\widehat{z} is feasible, i.e. z^∈X×Y\widehat{z}\in\mathcal{X}\times\mathcal{Y}, and we have

Since z(k)∈X×Yz^{(k)}\in\mathcal{X}\times\mathcal{Y} for each k∈Jk\in J, it follows from convexity that z^∈X×Y\widehat{z}\in\mathcal{X}\times\mathcal{Y}. For any point z=(x,y)∈X×Yz=(x,y)\in\mathcal{X}\times\mathcal{Y}, we have g^β(z(k))=g(z(k))\widehat{g}_{\beta}(z^{(k)})=g(z^{(k)}) and from Lemma C.3, for any k∈Jk\in J

Let λ^k=λk/(∑k∈Jλk)\widehat{\lambda}_{k}=\lambda_{k}/(\sum_{k\in J}\lambda_{k}). Taking weighted sum of these inequalities, we have

where the last inequality follows from the fact that ff is convex in xx and concave in yy. Taking the maximum over z∈X×Yz\in\mathcal{X}\times\mathcal{Y} on both sides, we have

Now we bound ∑k∈Jλk\sum_{k\in J}\lambda_{k}. For k∈Jk\in J, because ff is LL-Lipschitz and ∥z(k)∥2≤n+mR\|z^{(k)}\|_{2}\leq\sqrt{n+m}R

Recall that z(k)z^{(k)} is cut off by a constraint of B∞(0,R)B_{\infty}(0,R) with normal n(z(k))n(z^{(k)}) of length ∥n(z(k))∥=β\|n(z^{(k)})\|=\beta. Hence z(k)⊤n(z(k))z^{(k)\top}n(z^{(k)}) is the length of the projection of z(k)z^{(k)} onto n(z(k))n(z^{(k)}), which is at least βR\beta R.

Using β≥3n+mL\beta\geq 3\sqrt{n+m}L, we have ∑k∈Jλk≥3n+m−η4n+m>12\sum_{k\in J}\lambda_{k}\geq\frac{3\sqrt{n+m}-\eta}{4\sqrt{n+m}}>\frac{1}{2}. Now the result follows from (18). ∎

Thus, given that the maximum of the function γ(z)\gamma(z) is small, we can find some convex combination of the z(k)z^{(k)}’s in the cutting plane method that is a good approximation to the saddle point of ff. And it turns out that the maximum of γ\gamma goes to 0 as T→∞T\rightarrow\infty, and at the same convergence rate as the cutting plane method for convex minimization.

Consider solving the convex-concave game by the cutting plane method. Assume that at certain step TT we have

Denote G=X×YG=\mathcal{X}\times\mathcal{Y} for simplicity. First, we note that γ(z)<β(∥x∥∞−R)≤0\gamma(z)<\beta(\|x\|_{\infty}-R)\leq 0 for z∉B∞(0,R)z\notin B_{\infty}(0,R) since we include all constraints of ∂B∞(0,R)\partial B_{\infty}(0,R) into the definition of γ\gamma. Hence, it suffices to consider γ\gamma over B∞(0,R)B_{\infty}(0,R).

Notice that vol(Gα)=αm+nvol(G)>vol(P(T))\mathsf{vol}(G^{\alpha})=\alpha^{m+n}\mathsf{vol}(G)>\mathsf{vol}(P^{(T)}). Therefore, there is some w∈Gα∖P(T)w\in G^{\alpha}\setminus P^{(T)}. This point ww is cut off by some γ(k)(z)\gamma^{(k)}(z):

for some z(k)∈B∞(0,R)z^{(k)}\in B_{\infty}(0,R) (by Line 7 of the algorithm). It follows that

where we used ∥g(k)∥≤max⁡(β,L)≤β\|g^{(k)}\|\leq\max(\beta,L)\leq\beta and both z(k)z^{(k)} and zz are in B∞(0,R)B_{\infty}(0,R). It follows that

Combining Theorem C.4, Lemma C.6, C.7 and C.8, we obtain the following theorem which states that solving convex-concave games is exactly as fast as minimizing convex functions.

with high probability in n+mn+m where T\mathcal{T} is the cost of computing subgradient ∇f\nabla f.

We run our cutting plane method for T=(n+m)log⁡(n+mϵRr)T=(n+m)\log\left(\frac{n+m}{\epsilon}\frac{R}{r}\right) iterations. By Theorem C.4, we obtain P(T)P^{(T)} with volume

in O((n+m)3log⁡(n+mϵRr))O((n+m)^{3}\log(\frac{n+m}{\epsilon}\frac{R}{r})) time. Notice that

Lemma C.6 shows in O((n+m)ω+o(1)log⁡(n+mη))=O((n+m)ω+o(1)log⁡(n+mϵRr))O((n+m)^{\omega+o(1)}\log(\frac{n+m}{\eta}))=O((n+m)^{\omega+o(1)}\log(\frac{n+m}{\epsilon}\frac{R}{r})) time, we can find λ\lambda such that

for all z∈B∞(0,R)z\in B_{\infty}(0,R). Using this λ\lambda, Lemma C.7 shows that, by taking a convex combination w.r.t. λ\lambda, we can find (x^,y^)(\widehat{x},\widehat{y}) for which

Now our result follows by replacing ϵ\epsilon with ϵ/54\epsilon/54, which doesn’t change the asymptotic runtime. ∎

Next we give a slightly refined runtime in the case where the domain is a ball using a result of Nemirovski [Nem95].

with high probability in n+mn+m where T\mathcal{T} is the cost of computing ∇f\nabla f.

By [Nem95, Theorem 5.5.4], we can minimize such a function in time O(T+n+mϵ)O(\frac{\mathcal{T}+n+m}{\epsilon}). On the other hand, Theorem C.9 shows we can minimize it in time

By using the first result when ϵ≥1n+m\epsilon\geq\frac{1}{n+m} and using the second result when ϵ≤1n+m\epsilon\leq\frac{1}{n+m}, we have the promised runtime. ∎

Appendix D Applications of Cutting Plane Method

∑i∈[n]xi,j=1\sum_{i\in[n]}x_{i,j}=1 for every agent j∈[n]j\in[n], i.e. every good is fully sold.

pi=∑j∈[n]xi,jpjp_{i}=\sum_{j\in[n]}x_{i,j}p_{j} for every agent i∈[n]i\in[n], i.e. the money spent by agent ii equals to his income pip_{i}.

pi>0p_{i}>0 for every i∈[n]i\in[n], i.e. prices are positive.

∀i∈[n]\forall i\in[n], if xi,j>0x_{i,j}>0 then ui,j/pj=max⁡j′∈[n]ui,j′/pj′u_{i,j}/p_{j}=\max_{j^{\prime}\in[n]}u_{i,j^{\prime}}/p_{j^{\prime}}, i.e. agent ii only buys good that attains the best bang-per-bucks.

To ensure the existence of an equilibrium, we assume the following. Consider the directed graph G=(V,E)G=(V,E) where V=[n]V=[n] and directed edges E={(i,j):ui,j>0}E=\{(i,j):u_{i,j}>0\}.

For each agent ii, there exist j,j′∈[n]j,j^{\prime}\in[n] such that ui,j>0u_{i,j}>0 and uj′,i>0u_{j^{\prime},i}>0, i.e. each i∈Gi\in G has at least one incoming edge and one outgoing edge.

For every strongly connected component S⊆GS\subseteq G, if ∣S∣=1|S|=1 then there is a loop incident to the node in SS.

A market equilibrium always exists under the above assumptions.

The celebrated result of Arrow and Debreu [AD54] shows the existence of a market equilibrium for a broad class of utility functions. From the computational aspects, computing the equilibrium of a market equilibrium in the case of linear utility functions admits a long line of research (see Table 9), leading to both weakly and strongly polynomial runtimes.

which is further equivalent to the following convex-concave game

Notice that the convex-concave game formulation above has O(n)O(n) variables. The following upper bound on equilibrium prices is due to [DGV16].

Assume all utilities are integers ≤U\leq U and we let Δ=(nU)n\Delta=(nU)^{n}. Then there exists equilibrium prices pp that are quotient of two integers ≤Δ\leq\Delta, along with allocations xx that are quotients of two integers ≤Δ2\leq\Delta^{2}.

Now using Theorem C.9, we need O(n2log⁡(nU))O(n^{2}\log(nU)) iterations and the first order oracle requires O(m)O(m) operations. Therefore, the total number of operations is O(mn2log⁡(nU))O(mn^{2}\log(nU)). We formally state our result as follows.

There exists a weakly polynomial algorithm that computes a market equilibrium in linear exchange markets in time O(mn2log⁡(nU))O(mn^{2}\log(nU)).

D.2 Fisher markets with spending constraint utilities

In the Fisher market model with spending constraint utilities, there are nBn_{B} buyers and nGn_{G} perfectly divisible goods. There is a unitThis is without loss of generality since the goods are divisible. supply of each good. Each buyer i∈[nB]i\in[n_{B}] has a budget BiB_{i}. The utility of a buyer depends on the prices, as follows. The utility is additive across goods, that is, the total utility for a bundle of goods is the sum of utilities for each good separately. For a given good, the utility function is divided into segments; each segment ll has a constant rate of utility ui,j,lu_{i,j,l}, and a budget Bi,j,lB_{i,j,l}. The utility of the buyer for xi,j,lx_{i,j,l} amount of good j∈[nG]j\in[n_{G}] under segment l∈[L]l\in[L] is ui,j,lxi,j,lu_{i,j,l}x_{i,j,l} , but is subject to the constraint that pjxi,j,l≤Bi,j,lp_{j}x_{i,j,l}\leq B_{i,j,l}. Denote n:=nB+nGn:=n_{B}+n_{G} the total number of buyers and goods, and mm the total number of segments among all pair (i,j)(i,j).

The second equilibrium condition, market clearance, is that ∑i,lxi,j,l=1\sum_{i,l}x_{i,j,l}=1 for all j∈[nG]j\in[n_{G}].

The Fisher market with spending constraint utilities problem was introduced in [Vaz10] where they gave a weakly poly time algorithm that takes O(n3(n+m)2log⁡U)O(n^{3}(n+m)^{2}\log U) max-flow computations, where U=max⁡i∈[nB],j∈[nG],l∈[L]ui,j,lU=\max_{i\in[n_{B}],j\in[n_{G}],l\in[L]}u_{i,j,l}. A convex formulation of the problem was first given in the unpublished manuscript [BDX10]. A strongly poly time algorithm (which is also the best weakly polynomial running time) was given in [Vég16]which achieves O(mn3+m2(m+nlog⁡n)log⁡m)O(mn^{3}+m^{2}(m+n\log n)\log m) number of operations.

The problem of computing a market equilibrium in Fisher markets with spending constraint utilities problem can be captured by the following convex program due to [BDX10].

An optimum solution to the above convex program corresponds to an equilibrium for the Fisher market with spending constraint utilities with allocation given by xi,j,l=bi,j,l/pjx_{i,j,l}=b_{i,j,l}/p_{j}.

We transform the convex program above to a convex-concave saddle point which allows us to apply the cutting plane method. Let ηj,λi\eta_{j},\lambda_{i} be the Lagrange multipliers for the two equality constraints and μi,j,l≥0\mu_{i,j,l}\geq 0 be the Lagrange multipliers for the inequalities bi,j,l≤Bi,j,lb_{i,j,l}\leq B_{i,j,l} in the above convex formulation. We have the above convex program is equivalent to

where the last step is because Bi,j,l≥0B_{i,j,l}\geq 0. Now applying Theorem C.9, we need O(n2log⁡(nU))O(n^{2}\log(nU)) iterations and the first order oracle takes O(m)O(m) operations. So the total number of operations is O(mn2log⁡(nU))O(mn^{2}\log(nU)). We formally state our result as follows:

There exists a weakly polynomial algorithm that computes a market equilibrium in Fisher markets with spending constraint utilities in time O(mn2log⁡(nU))O(mn^{2}\log(nU)).

D.3 Walrasian equilibrium for general buyer valuations and fixed supply

Recently Paes Leme and Wong [LW17] studied the problem of computing Walrasian equilibrium in a market with arbitrary buyers’ valuation functions viv_{i} and fixed supply ss of indivisible goods. They showed that such equilibria are characterized by the minima of the following convex program, which can be solved in polynomial time via a suitable extension of the cutting plane methods.

Let [m][m] and [n][n] be the set of buyers and goods respectively. The setting of the problem is as follows.

To study this problem computationally, one must specify the information about the market available to the algorithm. Paes Leme and Wong showed that this problem can be solved in polynomial time assuming the aggregate demand oracle.

Given prices pp, the aggregate demand is given by ∑i∈[m]x(i)\sum_{i\in[m]}x^{(i)}, where

is a utility-maximizing bundle for buyer ii.

One approach to computing Walrasian equilibrium is by formalating the problem as the following convex program. Previous works applied subgradient descent methods to this program to obtain pseudopolynomial time algorithms [Par99, PU02, AM02]. In contrast, Paes Leme and Wong showed that this program can in fact be solved in weakly polynomial time.

Here pp denotes the prices and uiu_{i} can be thought of as the utility of buyer ii, ∀i∈[m]\forall i\in[m]. This convex program can clearly be solved with access to the demand oracle of each buyer ii, i.e. given pp, return arg⁡max⁡xvi(x)−p⋅x\arg\max_{x}v_{i}(x)-p\cdot x, which serves as a separation oracle.

The main result of Paes Leme and Wong is that this can be done via the weaker aggregate demand oracle, i.e. given pp, return ∑ix(i)\sum_{i}x^{(i)}, where

Their algorithm is based on a suitable extension of standard cutting plane methods:

to compute Walrasian prices whenever it exists using only access to an aggregate demand oracle. Here TADT_{AD} denotes the runtime of the aggregate demand oracle, nn denotes the number of goods, M=max⁡i∈[m],0≤x≤s∣vi(x)∣M=\max_{i\in[m],0\leq x\leq s}|v_{i}(x)| and S=max⁡j∈[n]sjS=\max_{j\in[n]}s_{j} (ss and viv_{i} are integer-valued).

As in previous applications, n2n^{2} iterations of cutting plane are required as ϵ\epsilon has to be taken to be exponentially small which results in an overall runtime overhead of O~(n6)\widetilde{O}(n^{6}). By leveraging our faster cutting plane method, we obtain the following improved result:

to compute Walrasian prices whenever it exists using only access to an aggregate demand oracle.

Same as Paes Leme-Wong except that we invoke our cutting plane method for convex minimization in Theorem C.1 instead of LSW’s. ∎