. There is no doubt that clustering is a task in high demand throughout many fields, ranging from bioinformatics, to image analysis and data compression. Along with modern developments and the necessity of large high-dimensional datasets, which due to their nature result in overfitting of many machine learning algorithms, it is crucial that one reduces the complexity of the algorithms involving these datasets. The authors of [BDM09] are of the first to address the issue of clustering in such datasets with provably accurate approximation results, by proposing a simple pre-processing step to the "k-means" clustering algorithm; also known as Lloyd's method [Llo82] -probably the most widely used and popular clustering algorithm. Other references which followed this series of work are [DF09] , [BZD10] , [BZMD14] and [CEM + 15]. . Though simple, the k-means clustering problem is an NP-hard optimization problem, which means it is very unlikely that there exists an efficient algorithm that solves it [DF09] , [ADHP09] , [MNV12] . This holds true even for the simplest case when k = 2 [DFK + 04]. Approximation algorithms to k-means have been around for a while; e.g. [KSS04] and [AV06] , though algorithm 4 [BDM09] was the first provably accurate feature selection algorithm for k-means clustering. Feature selection for clustering seeks to identify those features that have the most discriminative power among the set of all features. On the other hand, feature extraction for clustering seeks to create artificial feature which encompass most of the power (hopefully) of all the original features. . The k-means problem is also referred to as vector quantization, originating in signal processing for applications related to data compression [DF09] . The goal of finding the optimal set of centroids {µ i } i∈N k for N k := {1, · · · , k}, is equivalent to finding a representative codebook. . We present four dimensionality reduction algorithms for the k-means clustering problem, along with their theoretical guarantees. Two feature selection algorithms are described in §3, and two feature extraction algorithms in §4. We start off in §2 by first formulating the k-means problem in terms of linear algebra, and give some of the necessary dimensionality reduction tools, lemmas and subroutine algorithms which will be needed for analysing our four main algorithms. We finally give some concluding remarks and mention some improvements which have taken place in §5.
. We first recall the basic k-means problem and algorithm. The main idea of the algorithm is that for a given finite set of points P = {x 1 , · · · , x n } R d , one can define an objective or cost function with respect to a specified distance; and seek a partition of P into k disjoint non-empty subsets C 1 , · · · , C k , which minimizes this cost. By C we denote the collection of these clusters. The cost function for distance d(x, y) = x − y 2 , is usually defined as
at iteration t, for {µ (t−1) i } i∈N k R d , the set of centroids determined at the previous iteration
x ∈ C i } the centroid of the cluster to which x belongs. We drop the indicator of the iteration number where it is clear from the context. The k-means algorithm is presented in algorithm 1, and we also formally define the k-means clustering problem, whose objective is to compute the optimal k-partition of P C opt = arg min C F(P, C) .
. It is also worth noting that the above objective function depends only on the pairwise distances of the points from the corresponding center point, which is tempting to associate it with the Johnson-Lindenstrauss lemma [JL84] . The main reason is that if all pair-wise distances are preserved, then all clusterings and partitions of the n points -hence also the optimal partition -are preserved by the same factor. By the Johnson-Lindenstrauss lemma it straightforward that one can project the data down to O(log(n)/ε 2 ) dimensions, and guarantee a clustering error which is not more than a factor of (1 + ε) of the optimal clustering error. Definition 1. The indicator matrices X ∈ R n×k have exactly one non-zero entry per row, which denotes membership. That is, for i ∈ N n and j ∈ N k : x i of P belongs to the j th cluster if and only if X ij = 0.
Furthermore, the nonzero entries of X are X ij = 1/ √ s j ; where s j = |C j | = X (j) 0 . By X (j) we denote the j th column of X, and by X (i) the i th row of X. Consequently, the columns of X are normalized and pairwise orthogonal; thus X T X = I k . Additionally
for A ∈ R n×d the matrix representing P; i.e. A = x 1 · · · x n T . We interchange between F(P, C)
and F(A, X); as the respective arguments of F represent the same objects. The vectors X (i) X T A ∈ R 1×d match the corresponding centroid that {x i } i∈Nn belong to; for all i ∈ N n [ORSS13] , i.e.
Input: P = {x 1 , · · · , x n } R d a finite set of points, k the number of clusters
Here is a simple example for such an indicator matrix : for k = 3 and n = 6, assume that
1/3 0 1/3 1/3 0 0 0 1 0 0 0 0 1/3 0 1/3 1/3 0 0 1/3 0 1/3 1/3 0 0 0 0 0 0 1/2 1/2 0 0 0
and we make the following observations:
• XX T is symmetric with repeated rows and columns (as indicated with the colors corresponding to the same cluster)
• if P is permuted in such a way that the points in the same cluster are with consecutive indices (or permute X after the clustering); XX T is block-diagonal, and may be easier to work with. Definition 2 (k-means clustering problem). Given the matrix A = x 1 · · · x n T ∈ R n×d for P = {x i } i∈Nn ; and k ∈ Z + the number of clusters, find the indicator matrix X opt ∈ R n×k such that
where X denotes the set of all n × k indicator matrices X. The optimal value of the k-means clustering objective is
Definition 3 (k-means γ-approximation algorithm). An algorithm is a γ-approximation for the k-means clustering problem (with γ ≥ 1), if it takes as inputs A and k, and returns an indicator matrix X γ for which
where δ γ ∈ [0, 1) is the failure probability of the algorithm.
. The main idea of speeding many machine learning algorithms, is to reduce the complexity of certain linear algebraic operations. A common way of doing so, is to reduce the dimension of the space in which the operations take place, where the cost of doing so is to settle for an approximate solution. In practice this may yield better results, as due to large datasets, a lot of the information may be redundant and we may run into issues such as overfitting.
. Dimensionality reduction is achieved by projecting the dataset into a space of lower dimension, i.e. apply a (linear) transformation P : R d → R r for r < d by using a (maybe randomized) projection P ∈ R r×d . By applying P on P we getP = {x 1 , · · · ,x n } R r forx i = Px i . For our purposes, once the new datasetP is constructed, we perform k-means on it to approximate the optimal partition
for some γ > 0. That is, by reducing the dimension and then performing k-means; we get a γapproximation of the optimal clustering.
The more common dimensionality reduction approaches for k-means clustering, are:
• feature selection: a small subset r of the actual d features from the data are selected.
• feature extraction: a small set of r artificial features is constructed for each d-dimensional data sample.
In §3 we present two provably accurate feature selection algorithms for k-means clustering, and in §4 two provably accurate feature extractions algorithms for k-means clustering.
. Before we move on to the actual algorithms, we give some notation and lemmata. Most of them are taken from [BDM09] and [BZMD14] , in which the proofs may be found.
The singular value decomposition (SVD) of a matrix A ∈ R m×n is a powerful tool used in numerical analysis. Some even describe it as both the "Swiss Army Knife" and the "Rolls-Royce" of matrix decompositions [GMDL06] , [LKT18] . Assuming the usual conventions of this decomposition, the SVD of A ∈ R m×n with rank
Where clear from the context, we drop the subscript indicating the matrix whose SVD parts we are dealing with. A known fact which has many applications throughout numerical linear algebra and machine learning; e.g. PCA, is that
The "k" here is not referring to the number of clusters we require by the k-means algorithm. We overload the use of "k" to refer also to the rank approximation of lower-rank approximations of a matrix, as this is how it is referred to in most of the literature. An important decomposition which was used in [DFK + 99] to give an upper bound to the approximation of the problem they consider, is
which for the approximate cluster indicator matrixX opt , results in
for P X :=X optX T opt and P X ⊥ := (I m −X optX T opt ) projection matrices. Furthermore, A k is an orthogonal projection of A and A ρ−k is its residual, and by the Pythagorean theorem we have
F . . Constructing the exact SVD takes cubic time, which is not ideal. Below we give a statement for the existence of fast relative-error Frobenius norm SVD approximations, and then present such an algorithm. Similar algorithms along with further details may be found in [BDMI14] and [Sar06] .
Lemma 5 ( [BZMD14] ). Given A ∈ R n×d with rank(A) = ρ, a target rank 2 ≤ k < ρ, and error parameter ε ∈ (0, 1), there exists a randomized algorithm that computes Z ∈ R d×k such that
We denote the proposed algorithm by Z = FastFrobeniusSVD(A, k, ε) which takes time O(ndk/ε).
. We point out that in lemma 2.4 we retrieve the rank-k matrix AZZ T , which is almost as good an approximation to A (in expectation) with A k . By comparing it with
. We also give algorithm 3, a randomized sampling algorithm which will be used as a subroutine in one of the dimensionality reduction k-means algorithms we will present. The main idea is that the rows of the input matrix comprise the data samples of dimension d; from which we sample based on a distribution defined in the algorithm, and then rescale the sampled rows accordingly. We refer to this algorithm as RandomizedSampling, which takes O(nd) time to compute the distribution {p i } i∈Nn , and O(n + r) time to implement the sampling procedure via the technique in [Vos91] . In total, RandomizedSampling(A, r) takes O(nd) time.
Input: A ∈ R n×d with n > k, and integer parameter r < n the number of sampled rows Output: Sampling matrix Ω ∈ {0, 1} n×r , and diagonal rescaling matrix S ∈ R r×r Initialize:
. Lastly, we present six lemmas before we proceed to the main algorithms. The lemmas are self contained and explanatory, though if one wishes further details on the intuition or the significance and importance of the lemmas, as well as their proofs, she or he may refer to [BDM09] , [BZD10] and [BZMD14] .
Lemma 6 ( [BZMD14] ). Let V ∈ R n×k with n > k and V T V = I k , δ ∈ (0, 1), r ∈ (4k ln(2k/δ), n], and [Ω, S] = RandomizedSampling(V, r). Then, for all i = 1, · · · , k
Then run [Ω, S] = RandomizedSampling(Z, r), and we have
Lemma 9 ( [BDM09] ). Assume that for A ∈ R n×d , parameters ε ∈ (0, 1) and k the number of clusters, we retrieve S and Ω from algorithm 4. Let c 0 and c 1 be absolute constants, based on [RV07] theorem 3.1 (take them to be "sufficiently large") 1 . If the sampling parameter r satisfies r ≥ 2c 1 c 2 0 k ε 2 · log( c 1 c 2 0 k ε 2 ) =: ζ then the following four statements all hold simultaneously, with probability at least 1/2:
Lemma 10 ( [BZMD14] ). Fix any matrix Y ∈ R n×d , k > 1 and ε > 0. Let Π ∈ R d×r be a rescaled random sign matrix with r = c 0 k/ε 2 ; for c 0 ≥ 100, with entries
The following then simultaneously hold, with probability at least 0.97:
There exists aẼ ∈ R n×d such that: . Since we are interested in feature selection, we instead deal with the normalized right leverage scores of Al
k for all i = 1, 2, · · · , k (3.1) which characterize the importance of the corresponding feature; with respect to the k-means objective (2.1). The scores l i k i=1 form a probability distribution, as k i=1l i = 1. . The following algorithm is the first provably accurate feature selection algorithm for k-means clustering 2 [BDM09] , which dates back to 2009. Its quality-of-approximation result is given in theorem 12. Theorem 12. Run algorithm 4 with appropriate A, ε and r, to getÃ in time O(nd · min{n, d}). If we run any γ-approximation algorithm (γ ≥ 1) for the k-means clustering problem on inputsÃ and k, whose failure probability is δ γ , the resulting cluster indicator matrix Xγ satisfies 3
There was a discrepancy here, as in [BZMD14] the authors also claim to have presented the first provably accurate feature selection algorithm for k-means clustering. Ironically, three authors are mutual in the two papers.
3 In [BDM09] the theorem claims that the approximation factor is 1 + (1 + ε)γ , though [BZMD14] claims that the corresponding error had a fixable bug, and that the factor is in fact 1 + (2 + ε)γ . The corrected bound is attained if we change the bound on η 2 1 from γ(1 + ε)Fopt to γ(2 + ε)Fopt.
Input: A ∈ R n×d for n points and d features, number of clusters k, parameter ε ∈ (0, 1) Output:Ã ∈ R n×r , with r = Θ k log(k/ε)/ε 2 Compute V k ∈ R d×k , the top k right singular vectors of A Compute the normalized leverage scores l i d i=1 as in (3.1) for t=1 to r do keep the i th feature with probabilityl i , and scale it by 1/ rl i ⊲ run i.i.d. random trials end returnÃ ∈ R n×r , consisting of the selected (rescaled) r feature vectors as its columns . Like RandomizedSampling, algorithm 4 can also be defined as the product of a sampling and a rescaling matrix. We perform r trials (without replacement) according to the distribution l i k i=1 . The sampling matrix Ω ∈ {0, 1} d×r has as its i th column the standard basis vector e i(j) of length r; for i(j) ∈ N d the feature drawn at the j th trial. The rescaling matrix S ∈ R r×r is a diagonal matrix with S ii = 1/ rl i(j) . The projected matrix is then defined asÃ = A · (ΩS) ∈ R n×r , i.e.
we project A onto the row-span of Π := ΩS ∈ R d×r . . The main idea behind the proof of theorem 12 is to split A into A k + A ρ−k ; as in (2.3), by the Pythagorean theorem 4 we then get
since the subspaces image A k − XγX T γ A k and image A ρ−k − XγX T γ A ρ−k are perpendicular, and then bound the terms η 1 and η 2 . This resembles the ideas from [DFK + 04], one of the first provably accurate randomized algorithms. . To bound η 1 various facts are used: lemma 9, the triangle inequality, the fact that (I n − XγX T γ ) is a projection matrix, the strong submultiplicativity property relating · F with · 2 (i.e. WY F ≤ W 2 Y F for any pair of matrices W and Y), invariance of norms, and definition 3 is used to replace X opt with Xγ; while also introducing a √ γ multiplicative factor. The strong submultiplicativity property is also know as spectral multiplicity, and it holds because multiplying by a matrix can scale each row or column, and hence the Frobenius norm, by at most the matrix's spectral norm. This analysis results in the bound η 2 1 ≤ γ(2 + ε)F opt . Thereafter, to bound η 2 2 we note that
where ♯ follows from (2.2), and since P X ⊥ γ := (I n −XγX T γ ) is a projection matrix
All in all, we get η 2 1 + η 2 2 ≤ 1 + (1 + ε)γ F opt . Theorem 12 fails only if lemma 9 or the γ-approximation k-means clustering algorithms fail, which happens with probability at most 1/2 + δ γ . The time it takes to run algorithm 4 is O(nd · min{n, d}), which is the time it takes to construct V k ; in order to compute the leverage scores.
. The next randomized feature selection algorithm we present for k-means clustering, uses the FastFrobeniusSVD(·, ·) and RandomizedSampling(·, ·) algorithms as subroutines. Furthermore, one could replace the first step of algorithm 5 with the exact SVD of A, as was done in algorithm 4, and the results will be asymptotically the same; whether one uses the SVD or FastFrobeniusSVD on algorithm 5. The latter though, which is what we present, gives a considerably faster algorithm.
Algorithm 5: Randomized Feature Selection, Based on FastFrobeniusSVD [BZMD14] Input: A ∈ R n×d for n points and d features, number of clusters k, parameter ε ∈ (0, 1/3) Output:Ã ∈ R n×r , with r = O k log(k)/ε 2 1. Let Z = FastFrobeniusSVD(A, k, ε); where Z ∈ R d×r ⊲ Lemma 5 2. Let r = c 1 · 4k · ln(200k)/ε 2 ⊲ c 1 a sufficiently large constant 3. Let [Ω, S] = RandomizedSampling(Z, r); where Ω ∈ {0, 1} d×r and S ∈ R r×r ⊲ Lemma 6 returnÃ = A · (ΩS) ∈ R n×r , which consists of r rescaled columns of A Theorem 13. Let A ∈ R n×d and k be the inputs of the k-means clustering problem, and let ε ∈ (0, 1/3). By using algorithm 5, constructÃ ∈ R n×r in O(ndk/ε + k ln(k)/ε 2 log(k ln(k)/ε)) time, with r = O(k log(k)/ε 2 ). Run any γ-approximation k-means algorithms with failure probability δ γ onÃ, k, and construct Xγ. Then
. The following discussion resembles the one in line 4, though we give it for completeness and to introduce an alternative but equivalent characterization. Theorem 13 formally argues that the clustering obtained in a lower dimensional space will be close enough to that which would be obtained after running the k-means method in the original higher dimension, i.e.
is achieved with (relatively) high probability for Cγ the partition obtained after running the γapproximation k-means algorithm on the lower dimensional space. Within the approximation factor 1 + (2 + ε)γ , the term γ ≥ 1 is due to the fact that the k-means algorithm is performed in the lower dimensional space and does not recover the optimal partition, and the (2 + ε) factor is an artifact of running k-means in the lower dimensional space. . We give an overview of the proof. From lemma 5 we have that E = A(I d − ZZ T ) and that (EZ) T = 0 k×n , thus
so by the Pythagorean theorem 4 it follows that
. To bound θ 2 2 , as was done in the term η 2 2 of algorithm 5 in §3.1, we may drop the P X ⊥ γ term within the Frobenius norm. Then, by applying Markov's inequality 4 on (2.4); on the nonnegative
By the optimality of the SVD (2.2), and the fact that rank(X opt X T opt A) ≤ k, it follows that
i.e. θ 2 2 ≤ (1 + 100ε) · F opt with probability 0.99. . For θ 1 , one needs to invoke the lemma 8, the triangle inequality, drop P X ⊥ γ as was done for θ 2 2 , use the strong submultiplicativity property, and replaces X opt with Xγ; while also introducing a √ γ multiplicative factor -Xγ gives a γ-approximation to the optimal k-means clusteringÃ = A · (ΩS) = AΠ; thus any other n × k indicator matrix satisfies
All in all, by the above and assuming that γ ≤ 1 (in order to compute the failure probability) we obtain θ 1 ≤ √ γ (I m − X opt X T opt )Ã F · (ZΠ) † 2 + Ẽ F and by using lemmas 6 and 7 with appropriate parameters δ and ε, after performing "elementary" algebra, we conclude that
Putting the two bounds together and under the assumption that γ ≤ 1, we get
Again by selecting the appropriate parameters, and applying the union bound on lemma 7 and Markov's inequality on (2.4), we get a failure probability of 0.8 + δ γ . Hence, we attain the bound in theorem 13 with probability at least 0.2 − δ γ .
. Our first feature extraction algorithm, relies on projecting the matrix A ∈ R n×d which is comprised of the points P, into a space of dimension r = O(k/ε 2 ) < d, in time O(nd⌈ε −2 k/ log(n)⌉), such that the objective value of the optimal k-partition C opt of P is preserved within a factor of 2 + ε, with constant probability.
. The projection takes place by post-multiplying A by a matrix Π ∈ {±1/ √ r} d×r whose entries are essentially realizations of a Rademacher random variable, which are then rescaled by 1/ √ r. That is, Π ij = 1/ √ r with probability 0.5; and Π ij = −1/ √ r with probability 0.5. It takes O(nk/ε 2 ) time to generate Π, and the multiplication is done by the mailman algorithm [LZ09] , which will take O(nd⌈ε −2 k/ log(n)⌉) time. For a short explanation of the mailman algorithm, refer to appendix A. Algorithm 6 also resembles ideas from [Ach01] , [Ach03] , which seems to be one of the first algorithms to propose a projection matrix of this kind, while simultaneously considering how the projection; i.e. matrix multiplication, could be done relatively fast. The projection matrixΠ from [Ach01] considers entriesΠ
so that it can construct AΠ fast, whereΠ is in fact a Johnson-Lindenstrauss transform.
Algorithm 6: Randomized Feature Extraction, Based on Random Projections [BZD10] , [BZMD14] Input: A ∈ R n×d for n points and d features, number of clusters k, parameter ε ∈ (0, 1/3) Output:Ã ∈ R n×r , with r = O k/ε 2 artificial features 1. Set r ← c 2 · k/ε 2 ⊲ c 2 a sufficiently large constant 2. Generate a random matrix
where Z ∈ R d×r 4. ComputeÃ = AΠ ∈ R n×r , using the Mailman Algorithm [LZ09] returnÃ, which consists of r extracted features of each row of A Theorem 14. Let A ∈ R n×d and k be the inputs of the k-means clustering problem, and let ε ∈ (0, 1/3). By using algorithm 6, constructÃ ∈ R n×r with r = O(k/ε 2 ) in O(nd⌈ε −2 k/ log(d)⌉) time. Run any γ-approximation k-means algorithms with failure probability δ γ onÃ, k, and construct Xγ.
. Loosely speaking, in algorithm 6 it suffices to create roughly O(k) new features via a random projection, and then run some (approximate) k-means algorithm on the resultingÃ, in order to obtain F(P, Cγ ) ≤ 1 + (1 + ε)γ · F(P, C opt ) (4.1)
where the reasoning of the approximation factor 1 + (1 + ε)γ is analogous to that of (3.2). . Let us go over the main steps of the proof. Similarly to the proofs of theorems 12 and 13, the objective is separably additive into orthogonal pairs
Since the terms ξ 2 2 and η 2 2 from §3.1 are the same, we conclude that ξ 2 2 ≤ F opt . To bound ξ 2 1 , we use the same tools that were used for bounding θ 2 2 , with the exception of now using lemmas 10 with Y = (I n − X opt X T opt )A and 11 part 2; instead of lemma 8, to get identity (3.4) and
Furthermore, the parameters are scaled accordingly and the hyper-parameter c 2 is set to c 2 = 3330 · 15 2 , in order to get a failure probability of 0.04 + δ γ after applying the union bound. The probability of attaining the desired approximation accuracy, is therefore 0.96 − δ γ .
. Compared to the brief discussion in §2.1 where we described how the Johnson-Lindenstrauss could be applied, theorem 14 argues that through algorithm 6 a much smaller dimension suffices in order to preserve the optimal clustering in the data. We also point out that the pairwise distances after applying algorithm 6 are not proven to be preserved, where instead the analysis shows that if the spectral information of certain matrices is preserved; then the k-means clustering is also preserved.
. The final algorithm we present is based on the "Approximate SVD", which method and proof techniques are similar to those from [DFK + 99], where in the proposed k-means algorithm the faster FastFrobeniusSVD algorithm is used instead of the exact deterministic SVD. The quality-ofapproximation result is given in theorem 15, in which the dimension of the data points is reduced from d to the number of clusters r = k.
Algorithm 7: Randomized Feature Extraction, Based on Approximate SVD [BZMD14] Input: A ∈ R n×d for n points and d features, number of clusters k, parameter ε ∈ (0, 1) Output:Ã ∈ R n×r , with r = k artificial features 1. Let Z = FastFrobeniusSVD(A, k, ε); where Z ∈ R d×k ⊲ Lemma 5 2. ComputeÃ = AZ ∈ R n×k returnÃ, which consists of r = k extracted features of each row of A Theorem 15. Let A ∈ R n×d and k be the inputs of the k-means clustering problem, and let ε ∈ (0, 1). By using algorithm 7, constructÃ ∈ R n×k in O(ndk/ε) time. Run any γ-approximation k-means algorithms with failure probability δ γ onÃ, k, and construct Xγ. Then
. Note that the approximation result of theorem 15 is the same as that of theorem 14; i.e. (4.1), with slightly higher probability. Again, the reasoning of the approximation factor 1 + (1 + ε)γ is analogous to the one given for (3.2).
. As with all other algorithms we discussed, the first step is to separate the objective
which is the same expression we obtained in the analysis of algorithm 5, and then bound each of the two terms. After all, both algorithms 5 and 7 are based on FastFrobeniusSVD. It follows through that (3.3) is obtained, hence with probability 0.99 we have π 2 2 ≤ (1 + 100ε) · F opt . . For the first term we have
where in the first inequality we apply the submultiplicativity property and use the fact that Z T 2 = 1, the second is a similar argument to what we saw in the proof of theorem 13, and the third inequality again follows from the submultiplicativity property and the fact that Z 2 = 1. Therefore, we have π 2 1 ≤ √ γ (I n − X opt X T opt )A F 2 = γF opt and the overall error for γ ≥ 1 is
By definition 3 and using the union bound on lemma 5, the failure probability is 0.01 + δ γ , thus the probability of success is 0.99 − δ γ . By rescaling ε accordingly; we get the approximation factor of 1 + (1 + ε)γ .
. In this manuscript we saw four of the first provably accurate approximations for the k-means clustering problem. We did not discuss any implementations of these, though evaluation experiments may be found in the references from which the algorithms were taken, e.g. [BZMD14] . These are also being compared with other dimensionality reduction techniques, such as the Laplacian scores [HCN05] . A summary of the results we discussed is provided in the table below.
Appr. Factor Probab.
Lev. Scores Θ(k log(kε)/ε 2 ) nd · min{n, d} 1 + (2 + ε)γ 0.5 − δ γ . Since the first algorithm in the series of papers we summarized is based on leverage scores, it is worth pointing their importance in randomized matrix algorithms and randomized numerical linear algebra. They have been the key structural quantity which helped understand and bridge the "theory-practice gap" between theoretical work on randomized algorithms for large matrices, and applications, both numerical implementation and data-analysis applications [DM10] . To mention a few applications, they are used for low-rank matrix approximations, solving over-constrained least squares and the column subset selection problem, and speeding up Laplacian solvers [SS11] . For more details on these applications, refer to [DM10] and the references therein. . In the case where one would want to accelerate algorithm 4, he or she could use approximate leverage scores instead of computing the top k right singular vectors of A. This would of course result in a looser approximation of the k-means problem, though in practice speed may be a bigger issue. The leverage scores can be approximated in time O(nd log(n)/ε 2 )) for an error parameter ε [DMIMW12] . It would be interesting to see how good the leverage scores approximations are if we simply take Z = FastFrobeniusSVD(A, k, ε) and define the approximate scores asl i = (Z ρ ) (i) 2 2 , as well as how good an approximation we would get to the k-means problems if these were used for importance sampling.
. A few papers which we did not discuss are [BMD08] which solves the principal component problem in a similar fashion to our first two algorithms, and [WLRT08] which suggest that a sub-sampled randomized Fourier transform can be used for the design of a provably accurate feature extraction algorithm for k-means clustering. There are dozens of papers which one could relate to what we discussed, and it is not possible to list them all.
. Ever since the results we reviewed were first published, there have been substantial improvements [CEM + 15]. One of the main ideas used in [CEM + 15] is to use a reduction for results over · F , to apply them to · 2 . Column selection and random projection constructions are presented for dimensionality reduction to constructÃ = AΠ ∈ R n×r where Π ∈ R d×r is respectively a diagonal matrix that selects and re-weights the columns of A, or a random Johnson-Lindenstrauss matrix. TheseÃ matrices are rank-k projection-cost preserving sketches with two-sided error with error ε. That is, for error ε ∈ [0, 1); for all rank-k orthogonal projection matrices Π ∈ R n×n
for some c ≥ 0 that may depend on A andÃ, but not on Π. The reduction is going from ξ = F to ξ = 2. In addition to many of the ideas we have already seen, a key to their constructions is to use orthogonal projections, which by the submultiplicativity property implies that the Frobenius norm can only decrease, since all singular values of such projections are either 0 or 1. . More recently results may be found in [MMR19] and [BBCA + 19] .
. We give a brief explanation, as well as the intuition and reasoning of the name behind the mailman algorithm, which is used in algorithm 6 to speed up the matrix multiplication. . Speeding up matrix computations is a rich topic in many areas of mathematics, engineering and computer science (as we have already seen throughout this manuscript), and at their core, the problems which have probably been studied the most; are matrix-matrix and matrix-vector multiplication. The mailman algorithm deals with matrix-vector multiplication which can then be extended to matrix-matrix multiplication, where the matrix acting on the vector takes entries from a finite alphabet Σ. Prior to this work, the case of dealing with matrices over finite fields had been extensively studied; though here the vector can take real values. . Intuitively, the algorithm multiplies A ∈ Σ m×n and x ∈ R n in a manner that resembles the following "principle" when distributing mail 'first sorting the letters by address and then delivering them'. Viewing this multiplication as Ax = n i=1 A (i) x i , the columns A (i) correspond to the addresses and the entries x i to a letter addressed to it, where the sum is equivalent to the effort of walking to A (i) and delivering x i . Naively, this addition corresponds to delivering each letter one by one -results in the naive matrix-vector multiplication which takes O(mn) time -though this is not what an efficient mailman would do (specially during a pandemic such as coronavirus)! The mailman's strategy would be to:
1. first arrange his or her letters according to the shortest route including all houses 2. walk the route visiting each house only once; regardless of how many letters should be delivered to it (possibly none).
. The mailman algorithm applies this strategy, by decomposing A and exploiting the fact that matrix-matrix multiplication is associative. The decomposition we consider is mainly for performing matrix-matrix multiplication rather than the "simpler" matrix-vector multiplication. For simplicity we consider Σ = {0, 1} and assume that m = log 2 (n). There are 2 m = n distinct possible columns which each column of A could be equal to, which we append in a matrix U n ∈ Σ m×n . The matrix U n is referred to as the universal columns matrix. It follows that for every j ∈ N n there exists a unique i ∈ N n for which A (j) = U (i) n . We then define the correspondence matrix (in the sense that it indicates which letter would be delivered to which address) P ij = ½{U (i) n = A (j) } 5 , which P ∈ {0, 1} n×n has exactly n non-zero entries; one in each row and each column. Row P (j) corresponds to the column A (j) , and column P (i) to the column U (i) n . We then have the decomposition A = U P , where P encodes all the information of A since U n is fixed. . Now that we have decomposed A, we first apply x to P , which is analogous to 1. arranging the letters The second step of applying U to (P x) is analogous to 2. walking the route. Here is how we take advantage of the associativity of matrix-matrix multiplication (U n P ) ij = n l=1 (U n ) il · P lj = n l=1 (U (l) n ) i · ½{U (l) n = A (j) } 5 ½{α = β} = 1 if α = β, and ½{α = β} = 0 if α = β.