Breaking Locality Accelerates Block Gauss-Seidel
Stephen Tu, Shivaram Venkataraman, Ashia C. Wilson, Alex Gittens, Michael I. Jordan, Benjamin Recht
Introduction
The randomized Gauss-Seidel method is a commonly used iterative algorithm to compute the solution of an linear system by updating a single coordinate at a time in a randomized order. While this approach is known to converge linearly to the true solution when is positive definite (see e.g. ), in practice it is often more efficient to update a small block of coordinates at a time due to the effects of cache locality.
In extending randomized Gauss-Seidel to the block setting, a natural question that arises is how one should sample the next block. At one extreme a fixed partition of the coordinates is chosen ahead of time. The algorithm is restricted to randomly selecting blocks from this fixed partitioning, thus favoring data locality. At the other extreme we break locality by sampling a new set of random coordinates to form a block at every iteration.
Our first contribution in this paper is to show that, when compared to the random coordinate selection model, the fixed partition model can perform very poorly in terms of iteration complexity to reach a pre-specified error. Specifically, we present a family of instances (similar to the matrices recently studied by Lee and Wright ) where non-accelerated Gauss-Seidel with random coordinate selection performs arbitrarily faster than both non-accelerated and even accelerated Gauss-Seidel, using any fixed partition. Our result thus shows the importance of the sampling strategy and that acceleration cannot make up for a poor choice of sampling distribution.
In the process of deriving our results, we also develop a general proof framework for randomized accelerated methods based on Wilson et al. which avoids the use of estimate sequences in favor of an explicit Lyapunov function. Using our proof framework we are able to recover recent results on accelerated coordinate descent. Furthermore, our proof framework allows us to immediately transfer our results on Gauss-Seidel over to the randomized accelerated Kaczmarz algorithm, extending a recent result by Liu and Wright on updating a single constraint at a time to the block case.
Finally, we empirically demonstrate that despite its theoretical nuances, accelerated Gauss-Seidel using random coordinate selection can provide significant speedups in practical applications over Gauss-Seidel with fixed partition sampling, as well as the classical conjugate-gradient (CG) algorithm. As an example, for a kernel ridge regression (KRR) task in machine learning on the augmented CIFAR-10 dataset (), acceleration with random coordinate sampling performs up to faster than acceleration with a fixed partitioning to reach an error tolerance of , with the gap substantially widening for smaller error tolerances. Furthermore, it performs over faster than conjugate-gradient on the same task.
Background
We assume that we are given an matrix which is positive definite, and an dimensional response vector . We also fix an integer which denotes a block size. Under the assumption of being positive definite, the function is strongly convex and smooth. Recent analysis of Gauss-Seidel proceeds by noting the connection between Gauss-Seidel and (block) coordinate descent on . This is the point of view we will take in this paper.
We first describe the sketching framework of and show how it yields rates on Gauss-Seidel when blocks are chosen via a fixed partition or randomly at every iteration. While we will only focus on the special case when the sketch matrix represents column sampling, the sketching framework allows us to provide a unified analysis of both cases.
Under the assumptions stated above, show that for every , the sequence (1) satisfies
2 Accelerated rates for fixed partition Gauss-Seidel
Based on the interpretation of Gauss-Seidel as block coordinate descent on the function , we can use Theorem 1 of Nesterov and Stich to recover a procedure and a rate for accelerating (1) in the fixed partition case; the specific details are discussed in Section A.4.2 of the appendix. We will refer to this procedure as ACDM.
The convergence guarantee of the ACDM procedure is that for all ,
Results
We now present the main results of the paper. All proofs are deferred to the appendix.
Our first result is to construct instances where Gauss-Seidel with fixed partition sampling runs arbitrarily slower than random coordinate sampling, even if acceleration is used.
Consider the family of positive definite matrices given by with defined as . The family exhibits a crucial property that for every permutation matrix . Lee and Wright recently exploited this invariance to illustrate the behavior of cyclic versus randomized permutations in coordinate descent.
We explore the behavior of Gauss-Seidel as the matrices become ill-conditioned. To do this, we consider a particular parameterization which holds the minimum eigenvalue equal to one and sends the maximum eigenvalue to infinity via the sub-family . Our first proposition characterizes the behavior of Gauss-Seidel with fixed partitions on this sub-family.
Next, we perform a similar calculation under the random column sampling model.
Our next proposition states that the rate of Gauss-Seidel from (2) is tight order-wise in that for any instance there always exists a starting point which saturates the bound.
2 A Lyapunov analysis of accelerated Gauss-Seidel and Kaczmarz
Motivated by our findings, our goal is to understand the behavior of accelerated Gauss-Seidel under random coordinate sampling. In order to do this, we establish a general framework from which the behavior of accelerated Gauss-Seidel with random coordinate sampling follows immediately, along with rates for accelerated randomized Kaczmarz and the accelerated coordinate descent methods of and .
For conciseness, we describe a simpler version of our framework which is still able to capture both the Gauss-Seidel and Kaczmarz results, deferring the general version to the full version of the paper. Our general result requires a bit more notation, but follows the same line of reasoning.
Consider the following sequence defined by the recurrence
where are independent realizations of and is a parameter to be chosen. Following , we construct a candidate Lyapunov function for the sequence (10) defined as
The following theorem demonstrates that is indeed a Lyapunov function for .
holds for a.e. , where . Set in (10) as , with
We now proceed to specialize Theorem 3.4 to both the Gauss-Seidel and Kaczmarz settings.
Note that in the setting of Theorem 3.5, by the definition of and , it is always the case that . Therefore, the iteration complexity of acceleration is at least as good as the iteration complexity without acceleration.
We conclude our discussion of Gauss-Seidel by describing the analogue of Proposition 3.3 for Algorithm 1, which shows that our analysis in Theorem 3.5 is tight order-wise. The following proposition applies to ACDM as well; we show in the full version of the paper how ACDM can be viewed as a special case of Algorithm 1.
2.2 Accelerated Kaczmarz
The argument for Theorem 3.5 can be slightly modified to yield a result for randomized accelerated Kaczmarz in the sketching framework, for the case of a consistent overdetermined linear system.
Specifically, suppose we are given an matrix which has full column rank, and . Our goal is to recover the unique satisfying . To do this, we apply a similar line of reasoning as . We set and , where again is our random sketching matrix. At first, it appears our choice of is problematic since we do not have access to and , but a quick calculation shows that . Hence, with , the sequence (10) simplifies to
The remainder of the argument proceeds nearly identically, and leads to the following theorem.
Specialized to the setting of where each row of has unit norm and is sampled uniformly at every iteration, it can be shown (Section A.5.1) that and . Hence, the above theorem states that the iteration complexity to reach error is , which matches Theorem 5.1 of order-wise. However, Theorem 3.7 applies in general for any sketching matrix.
3 Specializing accelerated Gauss-Seidel to random coordinate sampling
Let be an positive definite matrix and let satisfy . We have that
We can now combine Theorem 3.5 with (5) to derive the following upper bound on the iteration complexity of accelerated Gauss-Seidel with random coordinates as
We conclude our results by illustrating our bounds on a simple example. Consider the sub-family , with
Related Work
We split the related work into two broad categories of interest: (a) work related to coordinate descent (CD) methods on convex functions and (b) randomized solvers designed for solving consistent linear systems.
When is positive definite, Gauss-Seidel can be interpreted as an instance of coordinate descent on a strongly convex quadratic function. We therefore review related work on both non-accelerated and accelerated coordinate descent, focusing on the randomized setting instead of the more classical cyclic order or Gauss-Southwell rule for selecting the next coordinate. See for a discussion on non-random selection rules, for a comparison of random selection versus Gauss-Southwell, and for efficient implementations of Gauss-Southwell.
Nesterov’s original paper in first considered randomized CD on convex functions, assuming a partitioning of coordinates fixed ahead of time. The analysis included both non-accelerated and accelerated variants for convex functions. This work sparked a resurgence of interest in CD methods for large problems. Most relevant to our paper are extensions to the block setting , handling arbitrary sampling distributions , and second order updates for quadratic functions .
For accelerated CD, Lee and Sidford generalize the analysis of Nesterov . While the analysis of was limited to selecting a single coordinate at a time, several follow on works generalize to block and non-smooth settings. More recently, both Allen-Zhu et al. and Nesterov and Stich independently improve the results of by using a different non-uniform sampling distribution. One of the most notable aspects of the analysis in is a departure from the (probabilistic) estimate sequence framework of Nesterov. Instead, the authors construct a valid Lyapunov function for coordinate descent, although they do not explicitly mention this. In our work, we make this Lyapunov point of view explicit. The constants in our acceleration updates arise from a particular discretization and Lyapunov function outlined from Wilson et al. . Using this framework makes our proof particularly transparent, and allows us to recover results for strongly convex functions from and as a special case.
From the numerical analysis side both the Gauss-Seidel and Kaczmarz algorithm are classical methods. Strohmer and Vershynin were the first to prove a linear rate of convergence for randomized Kaczmarz, and Leventhal and Lewis provide a similar kind of analysis for randomized Gauss-Seidel. Both of these were in the single constraint/coordinate setting. The block setting was later analyzed by Needell and Tropp . More recently, Gower and Richtárik provide a unified analysis for both randomized block Gauss-Seidel and Kaczmarz in the sketching framework. We adopt this framework in this paper. Finally, Liu and Wright provide an accelerated analysis of randomized Kaczmarz once again in the single constraint setting and we extend this to the block setting.
Experiments
In this section we experimentally validate our theoretical results on how our accelerated algorithms can improve convergence rates. Our experiments use a combination of synthetic matrices and matrices from large scale machine learning tasks.
Setup. We run all our experiments on a 4 socket Intel Xeon CPU E7-8870 machine with 18 cores per socket and 1TB of DRAM. We implement all our algorithms in Python using numpy, and use the Intel MKL library with 72 OpenMP threads for numerical operations. We report errors as relative errors, i.e. . Finally, we use the best values of and found by tuning each experiment.
We implement fixed partitioning by creating random blocks of coordinates at the beginning of the experiment and cache the corresponding matrix blocks to improve performance. For random coordinate sampling, we select a new block of coordinates at each iteration.
For our fixed partition experiments, we restrict our attention to uniform sampling. While Gower and Richtárik propose a non-uniform scheme based on , for translation-invariant kernels this reduces to uniform sampling. Furthermore, as the kernel block Lipschitz constants were also roughly the same, other non-uniform schemes also reduce to nearly uniform sampling.
Our first set of experiments numerically verify the separation between fixed partitioning sampling versus random coordinate sampling.
Figure 2 shows the progress per iteration on solving , with the defined in Section 3.1. Here we set , , , and . Figure 2 verifies our analytical findings in Section 3.1, that the fixed partition scheme is substantially worse than uniform sampling on this instance. It also shows that in this case, acceleration provides little benefit in the case of random coordinate sampling. This is because both and are order-wise , and hence the rate for accelerated and non-accelerated coordinate descent coincide. However we note that this only applies for matrices where is as large as it can be (i.e. ), that is instances for which Gauss-Seidel is already converging at the optimal rate (see , Lemma 4.2).
2 Kernel ridge regression
We next evaluate how fixed partitioning and random coordinate sampling affects the performance of Gauss-Seidel on large scale machine learning tasks. We use the popular image classification dataset CIFAR-10 and evaluate a kernel ridge regression (KRR) task with a Gaussian kernel. Specifically, given a labeled dataset , we solve the linear system with , where are tunable parameters (see e.g. for background on KRR). The key property of KRR is that the kernel matrix is positive semi-definite, and hence Algorithm 1 applies.
For the CIFAR-10 dataset, we augment the datasetSimilar to https://github.com/akrizhevsky/cuda-convnet2. to include five reflections, translations per-image and then apply standard pre-processing steps used in image classification . We finally apply a Gaussian kernel on our pre-processed images and the resulting kernel matrix has coordinates.
Results from running 500 iterations of random coordinate sampling and fixed partitioning algorithms are shown in Figure 4. Comparing convergence across iterations, similar to previous section, we see that un-accelerated Gauss-Seidel with random coordinate sampling is better than accelerated Gauss-Seidel with fixed partitioning. However we also see that using acceleration with random sampling can further improve the convergence rates, especially to achieve errors of or lower.
We also compare the convergence with respect to running time in Figure 4. Fixed partitioning has better performance in practice random access is expensive in multi-core systems. However, we see that this speedup in implementation comes at a substantial cost in terms of convergence rate. For example in the case of CIFAR-10, using fixed partitions leads to an error of after around 7000 seconds. In comparison we see that random coordinate sampling achieves a similar error in around 4500 seconds and is thus faster. We also note that this speedup increases for lower error tolerances.
3 Comparing Gauss-Seidel to Conjugate-Gradient
We also compared Gauss-Seidel with random coordinate sampling to the classical conjugate-gradient (CG) algorithm. CG is an important baseline to compare with, as it is the de-facto standard iterative algorithm for solving linear systems in the numerical analysis community. While we report the results of CG without preconditioning, we remark that the performance using a standard banded preconditioner was not any better. However, for KRR specifically, there have been recent efforts to develop better preconditioners, and we leave a more thorough comparison for future work. The results of our experiment are shown in Figure 4. We note that Gauss-Seidel both with and without acceleration outperform CG. As an example, we note that to reach error on CIFAR-10, CG takes roughly 7000 seconds, compared to less than 2000 seconds for accelerated Gauss-Seidel, which is a improvement.
4 Kernel ridge regression on smaller datasets
In addition to using the large CIFAR-10 augmented dataset, we also tested our algorithms on the smaller MNISThttp://yann.lecun.com/exdb/mnist/ dataset. To generate a kernel matrix, we applied the Gaussian kernel on the raw MNIST pixels to generate a matrix with rows and columns.
Results from running 500 iterations of random coordinate sampling and fixed partitioning algorithms are shown in Figure 5. We plot the convergence rates both across time and across iterations. Comparing convergence across iterations we see that random coordinate sampling is essential to achieve errors of or lower. In terms of running time, similar to the CIFAR-10 experiment, we see that the benefits in fixed partitioning of accessing coordinates faster comes at a cost in terms of convergence rate, especially to achieve errors of or lower.
5 Effect of block size
We next analyze the importance of the block size for the accelerated Gauss-Seidel method. As the values of and change for each setting of , we use a smaller MNIST matrix for this experiment. We apply a random feature transformation to generate an matrix with features. We then use and as inputs to the algorithm. Figure 2 shows the wall clock time to converge to error as we vary the block size from to .
Increasing the block-size improves the amount of progress that is made per iteration but the time taken per iteration increases as (Line 5, Algorithm 1). However, using efficient BLAS-3 primitives usually affords a speedup from systems techniques like cache blocking. We see the effects of this in Figure 2 where using performs better than using . We also see that these benefits reduce for much larger block sizes and thus is slower.
6 Computing the μ𝜇\mu and ν𝜈\nu constants
In our last experiment, we explicitly compute the and constants from Theorem 3.5 for a few positive definite matrices constructed as follows.
Linearly spaced eigenvalues. We first draw uniformly at random from orthogonal matrices. We then construct for , where is diag(linspace(1, 10, 16)), is diag(linspace(1, 100, 16)), and is diag(linspace(1, 1000, 16)).
Tridiagonal matrix. We let be a tridiagonal matrix with the diagonal value equal to one, and the off diagonal value equal to for . The matrix has a minimum eigenvalue of .
Figure 6 shows the results of our computation for the linearly spaced eigenvalues ensemble, the random Wishart ensemble and the other deterministic structured matrices. Alongside with the actual values, we plot the bound given for each instance by Lemma 3.8. From the figures we see that our bound is quite close to the computed value of for circulant matrices and for random matrices with linearly spaced eigenvalues with small . We plan to extend our analysis to derive a tighter bound in the future.
Conclusion
In this paper, we extended the accelerated block Gauss-Seidel algorithm beyond fixed partition sampling. Our analysis introduced a new data-dependent parameter which governs the speed-up of acceleration. Specializing our theory to random coordinate sampling, we derived an upper bound on which shows that well conditioned blocks are a sufficient condition to ensure speedup. Experimentally, we showed that random coordinate sampling is readily accelerated beyond what our bound suggests.
The most obvious question remains to derive a sharper bound on the constant from Theorem 3.5. Another interesting question is whether or not the iteration complexity of random coordinate sampling is always bounded above by the iteration complexity with fixed coordinate sampling.
We also plan to study an implementation of accelerated Gauss-Seidel in a distributed setting . The main challenges here are in determining how to sample coordinates without significant communication overheads, and to efficiently estimate and . To do this, we wish to explore other sampling schemes such as shuffling the coordinates at the end of every epoch .
Acknowledgements
We thank Ross Boczar for assisting us with Mathematica support for non-commutative algebras, Orianna DeMasi for providing useful feedback on earlier drafts of this manuscript, and the anonymous reviewers for their helpful feedback. ACW is supported by an NSF Graduate Research Fellowship. BR is generously supported by ONR awards N00014-11-1-0723 and N00014-13-1-0129, NSF award CCF-1359814, the DARPA Fundamental Limits of Learning (Fun LoL) Program, a Sloan Research Fellowship, and a Google Research Award. This research is supported in part by DHS Award HSHQDC-16-3-00083, NSF CISE Expeditions Award CCF-1139158, DOE Award SN10040 DE-SC0012463, and DARPA XData Award FA8750-12-2-0331, and gifts from Amazon Web Services, Google, IBM, SAP, The Thomas and Stacey Siebel Foundation, Apple Inc., Arimo, Blue Goji, Bosch, Cisco, Cray, Cloudera, Ericsson, Facebook, Fujitsu, HP, Huawei, Intel, Microsoft, Mitre, Pivotal, Samsung, Schlumberger, Splunk, State Farm and VMware.
References
Appendix A.1 Preliminaries
In what follows, unless stated otherwise, whenever we discuss a partition of we assume that the partition is given by , where
This is without loss of generality because for any arbitrary equal sized partition of , there exists a permutation matrix such that all our results apply by the change of variables and .
Appendix A.2 Proofs for Separation Results (Section 3.1)
Recall the family of positive definite matrices defined in (17) as
We first gather some elementary formulas. By the matrix inversion lemma,
The fact that the right hand side is independent of is the key property which makes our calculations possible. Indeed, we have that
With these formulas in hand, our next proposition gathers calculations for the case when represents uniformly choosing columns without replacement.
First, we have the following elementary expectation calculations,
To compute , we simply plug (24) and (25) into (21). After simplification,
From this formula for , (22) follows immediately.
Next, we note for any , using the properties that , , and , we have that
Taking expectations of both sides of the above equation and using the formulas in (24), (25), (26), and (27),
We now set , , and from (28) to reach the desired formula for (23). ∎
Consider the family of positive definite matrices from (18), and let , , and be described as in the preceding paragraph. We have that
Once again, the expectation calculations are
A.2.2 Proof of Proposition 3.3
Unrolling this recursion yields for all ,
Choose , where is an eigenvector of with eigenvalue . Now by Jensen’s inequality,
Appendix A.3 Proofs for Convergence Results (Section 3.2)
It is easily verified that is a fixed point of the aforementioned dynamical system. Our goal for now is to describe conditions on , , and such that the sequence of updates (31a), (31b), and (31c) converges to this fixed point. As described in Wilson et al. , our main strategy for proving convergence will be to introduce the following Lyapunov function
Furthermore, suppose that satisfies
Then as long as we set such that satisfies for almost every ,
we have that defined in (32) satisfies for all ,
First, recall the following two point equality valid for any vectors in a real inner product space ,
Above, (40a) follows from -strong convexity, (40b) and (40e) both use the definition of the sequence (31), (40c) follows from -Lipschitz gradients, (40d) uses the two-point inequality (37), and the last inequality follows from the assumption of . The claim (36) now follows by re-arrangement. ∎
Next, we describe how to recover Theorem 3.5 from Theorem A.3.1. We do this by applying Theorem A.3.1 to the function .
It remains to check the gradient inequality (33) and compute the strong convexity and Lipschitz parameters. These computations fall directly from the calculations made in Theorem 1 of , but we replicate them here for completeness.
To check the gradient inequality (33), because is a quadratic function, its second order Taylor expansion is exact. Hence for almost every ,
Hence the inequality (33) holds with equality.
The strong convexity bound now follows since
Hence, we can upper bound as follows
On the other hand, we have that . Putting the inequalities together,
where the first inequality holds by Jensen’s inequality. The claimed inequality (14) now follows.
A.3.2 Proof of Proposition 3.6
We first state and prove an elementary linear algebra fact which we will use below in our calculations.
Let be diagonal matrices, and define . The eigenvalues of are given by the union of the eigenvalues of the matrices
where denote the -th diagonal entry of respectively.
Now we proceed with the proof of Proposition 3.6. Define . It is easy to see from the definition of Algorithm 1 that satisfies the recurrence
Define . By taking and iterating expectations,
Denote the matrix . Unrolling the recurrence above yields that
Write the SVD of as . Both and are orthonormal matrices. It is easy to see that is given by
Suppose we choose to be a right singular vector of corresponding to the maximum singular value . Then we have that
where denotes the spectral radius. The first inequality is Jensen’s inequality, and the second inequality uses the fact that the spectral radius is bounded above by any matrix norm. The eigenvalues of are the -th power of the eigenvalues of which, using the similarity transform (42) along with Proposition A.3.2, are given by the eigenvalues of the matrices defined as
where the first inequality holds since and the second inequality holds since for non-negative .
Appendix A.4 Recovering the ACDM Result from Nesterov and Stich [15]
We next show how to recover Theorem 1 of Nesterov and Stich using Theorem A.3.1, in the case of . A nearly identical argument can also be used to recover the result of Allen-Zhu et al. under the strongly convex setting in the case of . Our argument proceeds in two steps. First, we prove a convergence result for a simplified accelerated coordinate descent method which we introduce in Algorithm 2. Then, we describe how a minor tweak to ACDM shows the equivalence between ACDM and Algorithm 2.
Now consider the following accelerated randomized coordinate descent algorithm in Algorithm 2.
Theorem A.3.1 is readily applied to Algorithm 2 to give a convergence guarantee which matches the bound of Theorem 1 of Nesterov and Stich. We sketch the argument below.
We next compute the constant defined in (34). We do this by checking the sufficient condition that for . Doing so yields that , since
To complete the argument, we set as the strong convexity constant and as the Lipschitz gradient constant of with respect to the norm. It is straightforward to check that
Above, (a) follows by the convexity of the maximum eigenvalue, (b) holds since , (c) uses the fact that for any matrix satisfying and positive semi-definite, we have , and (d) follows since for any symmetric matrix . Using the fact that for any non-negative , the inequality immediately follows. To conclude the proof, it remains to calculate the requirement on via (35). Since , we have that , and hence the requirement is that .
A.4.2 Relating Algorithm 2 to ACDM
For completeness, we replicate the description of the ACDM algorithm from Nesterov and Stich in Algorithm 3. We make one minor tweak in the initialization of the sequence which greatly simplifies the exposition of what follows.
We first write the sequence produced by Algorithm 3 as
Since , the update simplifies to
Hence as long as (which is satisfied by our modification), we have that for all . With this identity, we have that for all . Therefore, (44) simplifies to
We now calculate the value of . At every iteration, we have that
Combining these identities, we have shown that (43a), (43b), and (43c) simplifies to
This sequence directly coincides with the sequence generated by Algorithm 2 after a simple relabeling.
A.4.3 Accelerated Gauss-Seidel for fixed partitions from ACDM
We now describe Algorithm 4, which is the specialization of ACDM (Algorithm 3) to accelerated Gauss-Seidel in the fixed partition setting.
Appendix A.5 A Result for Randomized Block Kaczmarz
We first describe the randomized accelerated block Kaczmarz algorithm in Algorithm 5. Our main convergence result concerning Algorithm 5 is presented in Theorem A.5.1.
Hence the gradient inequality (33) holds with equality. ∎
We first state a proposition which will be useful in our analysis of .
We will prove that for every ,
from which the claim immediately follows. By Schur complements, (48) holds iff
Since the eigenvalues of a Kronecker product are given by the Cartesian product of the individual eigenvalues, (48) holds. ∎
where (a) follows from Proposition A.5.2. Hence, . On the other hand,
Appendix A.6 Proofs for Random Coordinate Sampling (Section 3.3)
Our primary goal in this section is to provide a proof of Lemma 3.8. Along the way, we prove a few other results which are of independent interest. We first provide a proof of the lower bound claim in Lemma 3.8.
Since trace commutes with expectation and respects the positive semi-definite ordering, taking trace of both sides of (49) yields that
Next, the upper bound relies on the following lemma, which generalizes Lemma 2 of .
Our proof follows the strategy in the proof of Theorem 3.2 from . First, write . Since , we have by generalized Schur complements (see e.g. Theorem 1.20 from ) and the fact that expectation preserves the semi-definite order,
We are now in a position to prove the upper bound of Lemma 3.8. We apply Lemma A.6.2 to to conclude, using the fact that , that
Again, since conjugation by preserves semi-definite ordering, we have that
Using the fact that for positive definite matrices we have iff , (53) is equivalent to
Conjugating both sides by and taking expectations,
Next, letting denote the index set associated to , for every we have
Plugging this calculation back into (54) yields the desired upper bound of Lemma 3.8.