Expander graph
In graph theory, an expander graph is a sparse graph that has strong connectivity properties, quantified using vertex, edge or spectral expansion. Expander constructions have spawned research in pure and applied mathematics, with several applications to complexity theory, design of robust computer networks, and the theory of error-correcting codes.[1]
Definitions
Intuitively, an expander graph is a finite, undirected multigraph in which every subset of the vertices that is not "too large" has a "large" boundary. Different formalisations of these notions give rise to different notions of expanders: edge expanders, vertex expanders, and spectral expanders, as defined below.
A disconnected graph is not an expander, since the boundary of a connected component is empty. Every connected finite graph is an expander; however, different connected graphs have different expansion parameters. The complete graph has the best expansion property, but it has largest possible degree. Informally, a graph is a good expander if it has low degree and high expansion parameters.
Edge expansion
The edge expansion (also isoperimetric number or Cheeger constant) h(G)Script error: No such module "Check for unknown parameters". of a graph Template:Mvar on Template:Mvar vertices is defined as
- where
which can also be written as ∂S = E(S, S)Script error: No such module "Check for unknown parameters". with S := V(G) \ SScript error: No such module "Check for unknown parameters". the complement of Template:Mvar and
the edges between the subsets of vertices A,B ⊆ V(G)Script error: No such module "Check for unknown parameters"..
In the equation, the minimum is over all nonempty sets Template:Mvar of at most <templatestyles src="Fraction/styles.css" />n⁄2Script error: No such module "Check for unknown parameters". vertices and ∂SScript error: No such module "Check for unknown parameters". is the edge boundary of Template:Mvar, i.e., the set of edges with exactly one endpoint in Template:Mvar.[2]
Intuitively,
is the minimum number of edges that need to be cut in order to split the graph in two. The edge expansion normalizes this concept by dividing with smallest number of vertices among the two parts. To see how the normalization can drastically change the value, consider the following example. Take two complete graphs with the same number of vertices Template:Mvar and add Template:Mvar edges between the two graphs by connecting their vertices one-to-one. The minimum cut will be Template:Mvar but the edge expansion will be 1.
Notice that in min Template:AbsScript error: No such module "Check for unknown parameters"., the optimization can be equivalently done either over 0 ≤ Template:Abs ≤ <templatestyles src="Fraction/styles.css" />n⁄2Script error: No such module "Check for unknown parameters". or over any non-empty subset, since . The same is not true for h(G)Script error: No such module "Check for unknown parameters". because of the normalization by Template:AbsScript error: No such module "Check for unknown parameters".. If we want to write h(G)Script error: No such module "Check for unknown parameters". with an optimization over all non-empty subsets, we can rewrite it as
Vertex expansion
The vertex isoperimetric number hout(G)Script error: No such module "Check for unknown parameters". (also vertex expansion or magnification) of a graph Template:Mvar is defined as
where ∂out(S)Script error: No such module "Check for unknown parameters". is the outer boundary of Template:Mvar, i.e., the set of vertices in V(G) \ SScript error: No such module "Check for unknown parameters". with at least one neighbor in Template:Mvar.[3] In a variant of this definition (called unique neighbor expansion) ∂out(S)Script error: No such module "Check for unknown parameters". is replaced by the set of vertices in Template:Mvar with exactly one neighbor in Template:Mvar.[4]
The vertex isoperimetric number hin(G)Script error: No such module "Check for unknown parameters". of a graph Template:Mvar is defined as
where is the inner boundary of Template:Mvar, i.e., the set of vertices in Template:Mvar with at least one neighbor in V(G) \ SScript error: No such module "Check for unknown parameters"..[3]
Spectral expansion
When Template:Mvar is [[regular graph|Template:Mvar-regular]], a linear algebraic definition of expansion is possible based on the eigenvalues of the adjacency matrix A = A(G)Script error: No such module "Check for unknown parameters". of Template:Mvar, where Template:Mvar is the number of edges between vertices Template:Mvar and Template:Mvar.[5] Because Template:Mvar is symmetric, the spectral theorem implies that Template:Mvar has Template:Mvar real-valued eigenvalues λ1 ≥ λ2 ≥ … ≥ λnScript error: No such module "Check for unknown parameters".. It is known that all these eigenvalues are in [−d, d]Script error: No such module "Check for unknown parameters". and more specifically, it is known that λn = −dScript error: No such module "Check for unknown parameters". if and only if Template:Mvar is bipartite.
More formally, we refer to an Template:Mvar-vertex, Template:Mvar-regular graph with
as an (n, d, λ)Script error: No such module "Check for unknown parameters".-graph. The bound given by an (n, d, λ)Script error: No such module "Check for unknown parameters".-graph on λiScript error: No such module "Check for unknown parameters". for i ≠ 1Script error: No such module "Check for unknown parameters". is useful in many contexts, including the expander mixing lemma.
Spectral expansion can be two-sided, as above, with , or it can be one-sided, with . The latter is a weaker notion that holds also for bipartite graphs and is still useful for many applications, such as the Alon–Chung lemma.[6]
Because Template:Mvar is regular, the uniform distribution with ui = <templatestyles src="Fraction/styles.css" />1⁄nScript error: No such module "Check for unknown parameters". for all i = 1, …, nScript error: No such module "Check for unknown parameters". is the stationary distribution of Template:Mvar. That is, we have Au = duScript error: No such module "Check for unknown parameters"., and Template:Mvar is an eigenvector of Template:Mvar with eigenvalue λ1 = dScript error: No such module "Check for unknown parameters"., where Template:Mvar is the degree of the vertices of Template:Mvar. The spectral gap of Template:Mvar is defined to be d − λ2Script error: No such module "Check for unknown parameters"., and it measures the spectral expansion of the graph Template:Mvar.[7]
If we set
as this is the largest eigenvalue corresponding to an eigenvector orthogonal to Template:Mvar, it can be equivalently defined using the Rayleigh quotient:
where
is the 2-norm of the vector .
The normalized versions of these definitions are also widely used and more convenient in stating some results. Here one considers the matrix Template:SfracAScript error: No such module "Check for unknown parameters"., which is the Markov transition matrix of the graph Template:Mvar. Its eigenvalues are between −1 and 1. For not necessarily regular graphs, the spectrum of a graph can be defined similarly using the eigenvalues of the Laplacian matrix. For directed graphs, one considers the singular values of the adjacency matrix Template:Mvar, which are equal to the roots of the eigenvalues of the symmetric matrix ATAScript error: No such module "Check for unknown parameters"..
Expander families
A family of -regular graphs of increasing size is an expander family if is bounded away from zero.Template:Sfn
Relationships between different expansion properties
The expansion parameters defined above are related to each other. In particular, for any Template:Mvar-regular graph Template:Mvar,
Consequently, for constant degree graphs, vertex and edge expansion are qualitatively the same.
Cheeger inequalities
When Template:Mvar is Template:Mvar-regular, meaning each vertex is of degree Template:Mvar, there is a relationship between the isoperimetric constant h(G)Script error: No such module "Check for unknown parameters". and the gap d − λ2Script error: No such module "Check for unknown parameters". in the spectrum of the adjacency operator of Template:Mvar. By standard spectral graph theory, the trivial eigenvalue of the adjacency operator of a Template:Mvar-regular graph is λ1 = dScript error: No such module "Check for unknown parameters". and the first non-trivial eigenvalue is λ2Script error: No such module "Check for unknown parameters".. If Template:Mvar is connected, then λ2 < dScript error: No such module "Check for unknown parameters".. An inequality due to DodziukTemplate:Sfn and independently Alon and MilmanTemplate:Sfn states that[8]
In fact, the lower bound is tight. The lower bound is achieved in limit for the hypercube Template:Mvar, where h(G) = 1Script error: No such module "Check for unknown parameters". and d – λ2 = 2Script error: No such module "Check for unknown parameters".. The upper bound is (asymptotically) achieved for a cycle, where h(Cn) = 4/n = Θ(1/n)Script error: No such module "Check for unknown parameters". and d – λ2 = 2 – 2cos(2/n) ≈ (2/n)2 = Θ(1/n2)Script error: No such module "Check for unknown parameters"..[1] A better bound is given in [9] as
These inequalities are closely related to the Cheeger bound for Markov chains and can be seen as a discrete version of Cheeger's inequality in Riemannian geometry.
Similar connections between vertex isoperimetric numbers and the spectral gap have also been studied:[10]
Asymptotically speaking, the quantities <templatestyles src="Fraction/styles.css" />h2⁄dScript error: No such module "Check for unknown parameters"., houtScript error: No such module "Check for unknown parameters"., and hin2Script error: No such module "Check for unknown parameters". are all bounded above by the spectral gap O(d – λ2)Script error: No such module "Check for unknown parameters"..
Constructions
There are four general strategies for explicitly constructing families of expander graphs.[11] The first strategy is algebraic and group-theoretic, the second strategy is analytic and uses additive combinatorics, the third strategy is combinatorial and uses the zig-zag and related graph products, and the fourth strategy is based on lifts. Noga Alon showed that certain graphs constructed from finite geometries are the sparsest examples of highly expanding graphs.[12]
Margulis–Gabber–Galil
Algebraic constructions based on Cayley graphs are known for various variants of expander graphs. The following construction is due to Margulis and has been analysed by Gabber and Galil.[13] For every natural number Template:Mvar, one considers the graph Template:Mvar with the vertex set , where : For every vertex , its eight adjacent vertices are
Then the following holds:
Theorem. For all Template:Mvar, the graph Template:Mvar has second-largest eigenvalue
.
Ramanujan graphs
Script error: No such module "Labelled list hatnote". By a theorem of Alon and Boppana, all sufficiently large Template:Mvar-regular graphs satisfy , where λ2Script error: No such module "Check for unknown parameters". is the second largest eigenvalue in absolute value.[14] As a direct consequence, we know that for every fixed Template:Mvar and , there are only finitely many (n, d, λ)Script error: No such module "Check for unknown parameters".-graphs. Ramanujan graphs are Template:Mvar-regular graphs for which this bound is tight, satisfying [15]
Hence Ramanujan graphs have an asymptotically smallest possible value of λ2Script error: No such module "Check for unknown parameters".. This makes them excellent spectral expanders.
Lubotzky, Phillips, and Sarnak (1988), Margulis (1988), and Morgenstern (1994) show how Ramanujan graphs can be constructed explicitly.[16]
In 1985, Alon, conjectured that most Template:Mvar-regular graphs on Template:Mvar vertices, for sufficiently large Template:Mvar, are almost Ramanujan.[17] That is, for ε > 0Script error: No such module "Check for unknown parameters"., they satisfy
- .
In 2003, Joel Friedman both proved the conjecture and specified what is meant by "most Template:Mvar-regular graphs" by showing that [[Random regular graph|random Template:Mvar-regular graphs]] have for every ε > 0Script error: No such module "Check for unknown parameters". with probability 1 – O(n-τ)Script error: No such module "Check for unknown parameters"., where[18][19]
A simpler proof of a slightly weaker result was given by Puder.[20][21][22]
Marcus, Spielman and Srivastava,[23][24] gave a construction of bipartite Ramanujan graphs based on lifts.
In 2024 a preprint by Jiaoyang Huang, Theo McKenzieand and Horng-Tzer Yau proved that
- .
with the fraction of eigenvalues that hit the Alon-Boppana bound approximately 69% from proving that edge universality holds, that is they follow a Tracy-Widom distribution associated with the Gaussian Orthogonal Ensemble[25][26]
Zig-zag product
Script error: No such module "Labelled list hatnote". Reingold, Vadhan, and Wigderson introduced the zig-zag product in 2003.[27] Roughly speaking, the zig-zag product of two expander graphs produces a graph with only slightly worse expansion. Therefore, a zig-zag product can also be used to construct families of expander graphs. If Template:Mvar is a (n, d, λ1)Script error: No such module "Check for unknown parameters".-graph and Template:Mvar is an (m, d, λ2)Script error: No such module "Check for unknown parameters".-graph, then the zig-zag product G ◦ HScript error: No such module "Check for unknown parameters". is a (nm, d2, φ(λ1, λ2))Script error: No such module "Check for unknown parameters".-graph where Template:Mvar has the following properties.
- If λ1 < 1Script error: No such module "Check for unknown parameters". and λ2 < 1Script error: No such module "Check for unknown parameters"., then φ(λ1, λ2) < 1Script error: No such module "Check for unknown parameters".;
- φ(λ1, λ2) ≤ λ1 + λ2Script error: No such module "Check for unknown parameters"..
Specifically,[27]
Note that property (1) implies that the zig-zag product of two expander graphs is also an expander graph, thus zig-zag products can be used inductively to create a family of expander graphs.
Intuitively, the construction of the zig-zag product can be thought of in the following way. Each vertex of Template:Mvar is blown up to a "cloud" of Template:Mvar vertices, each associated to a different edge connected to the vertex. Each vertex is now labeled as (v, k)Script error: No such module "Check for unknown parameters". where Template:Mvar refers to an original vertex of Template:Mvar and Template:Mvar refers to the Template:Mvarth edge of Template:Mvar. Two vertices, (v, k)Script error: No such module "Check for unknown parameters". and (w,ℓ)Script error: No such module "Check for unknown parameters". are connected if it is possible to get from (v, k)Script error: No such module "Check for unknown parameters". to (w, ℓ)Script error: No such module "Check for unknown parameters". through the following sequence of moves.
- Zig – Move from (v, k)Script error: No such module "Check for unknown parameters". to (v, k' )Script error: No such module "Check for unknown parameters"., using an edge of Template:Mvar.
- Jump across clouds using edge Template:Mvar in Template:Mvar to get to (w, ℓ′)Script error: No such module "Check for unknown parameters"..
- Zag – Move from (w, ℓ′)Script error: No such module "Check for unknown parameters". to (w, ℓ)Script error: No such module "Check for unknown parameters". using an edge of Template:Mvar.[27]
Lifts
An [[Covering graph|Template:Mvar-lift]] of a graph is formed by replacing each vertex by Template:Mvar vertices, and each edge by a matching between the corresponding sets of vertices. The lifted graph inherits the eigenvalues of the original graph, and has some additional eigenvalues. Bilu and Linial[28][29] showed that every Template:Mvar-regular graph has a 2-lift in which the additional eigenvalues are at most in magnitude. They also showed that if the starting graph is a good enough expander, then a good 2-lift can be found in polynomial time, thus giving an efficient construction of Template:Mvar-regular expanders for every Template:Mvar.
Bilu and Linial conjectured that the bound can be improved to , which would be optimal due to the Alon–Boppana bound. This conjecture was proved in the bipartite setting by Marcus, Spielman and Srivastava,[23][24] who used the method of interlacing polynomials. As a result, they obtained an alternative construction of bipartite Ramanujan graphs. The original non-constructive proof was turned into an algorithm by Michael B. Cohen.[30] Later the method was generalized to Template:Mvar-lifts by Hall, Puder and Sawin.[31]
Randomized constructions
There are many results that show the existence of graphs with good expansion properties through probabilistic arguments. In fact, the existence of expanders was first proved by Pinsker[32] who showed that for a randomly chosen Template:Mvar vertex left Template:Mvar regular bipartite graph, Template:Abs ≥ (d – 2)Template:AbsScript error: No such module "Check for unknown parameters". for all subsets of vertices Template:Abs ≤ cdnScript error: No such module "Check for unknown parameters". with high probability, where Template:Mvar is a constant depending on Template:Mvar that is O(d-4)Script error: No such module "Check for unknown parameters".. Alon and Roichman [33] showed that for every 1 > ε > 0Script error: No such module "Check for unknown parameters"., there is some c(ε) > 0Script error: No such module "Check for unknown parameters". such that the following holds: For a group Template:Mvar of order Template:Mvar, consider the Cayley graph on Template:Mvar with c(ε) log2 nScript error: No such module "Check for unknown parameters". randomly chosen elements from Template:Mvar. Then, in the limit of Template:Mvar getting to infinity, the resulting graph is almost surely an εScript error: No such module "Check for unknown parameters".-expander.
In 2021, Alexander modified an MCMC algorithm to look for randomized constructions to produce Ramanujan graphs with a fixed vertex size and degree of regularity.[34] The results show the Ramanujan graphs exist for every vertex size and degree pair up to 2000 vertices.
In 2024 Alon produced an explicit construction for near Ramanujan graphs of every vertex size and degree pair.
Applications and useful properties
The original motivation for expanders is to build economical robust networks (phone or computer): an expander with bounded degree is precisely an asymptotic robust graph with the number of edges growing linearly with size (number of vertices), for all subsets.
Expander graphs have found extensive applications in computer science, in designing algorithms, error correcting codes, extractors, pseudorandom generators, sorting networks (Script error: No such module "Footnotes".) and robust computer networks. They have also been used in proofs of many important results in computational complexity theory, such as SL = L (Script error: No such module "Footnotes".) and the PCP theorem (Script error: No such module "Footnotes".). In cryptography, expander graphs are used to construct hash functions.
In a 2006 survey of expander graphs, Hoory, Linial, and Wigderson split the study of expander graphs into four categories: extremal problems, typical behavior, explicit constructions, and algorithms. Extremal problems focus on the bounding of expansion parameters, while typical behavior problems characterize how the expansion parameters are distributed over random graphs. Explicit constructions focus on constructing graphs that optimize certain parameters, and algorithmic questions study the evaluation and estimation of parameters.
Expander mixing lemma
Script error: No such module "Labelled list hatnote". The expander mixing lemma states that for an (n, d, λ)Script error: No such module "Check for unknown parameters".-graph, for any two subsets of the vertices S, T ⊆ VScript error: No such module "Check for unknown parameters"., the number of edges between Template:Mvar and Template:Mvar is approximately what you would expect in a random Template:Mvar-regular graph. The approximation is better the smaller λScript error: No such module "Check for unknown parameters". is. In a random Template:Mvar-regular graph, as well as in an Erdős–Rényi random graph with edge probability <templatestyles src="Fraction/styles.css" />d⁄nScript error: No such module "Check for unknown parameters"., we expect <templatestyles src="Fraction/styles.css" />d⁄n • Template:Abs • Template:AbsScript error: No such module "Check for unknown parameters". edges between Template:Mvar and Template:Mvar.
More formally, let E(S, T)Script error: No such module "Check for unknown parameters". denote the number of edges between Template:Mvar and Template:Mvar. If the two sets are not disjoint, edges in their intersection are counted twice, that is,
Then the expander mixing lemma says that the following inequality holds:
Many properties of (n, d, λ)Script error: No such module "Check for unknown parameters".-graphs are corollaries of the expander mixing lemmas, including the following.[1]
- An independent set of a graph is a subset of vertices with no two vertices adjacent. In an (n, d, λ)Script error: No such module "Check for unknown parameters".-graph, an independent set has size at most <templatestyles src="Fraction/styles.css" />λn⁄dScript error: No such module "Check for unknown parameters"..
- The chromatic number of a graph Template:Mvar, χ(G)Script error: No such module "Check for unknown parameters"., is the minimum number of colors needed such that adjacent vertices have different colors. Hoffman showed that <templatestyles src="Fraction/styles.css" />d⁄λ ≤ χ(G)Script error: No such module "Check for unknown parameters".,[35] while Alon, Krivelevich, and Sudakov showed that if d < <templatestyles src="Fraction/styles.css" />2n⁄3Script error: No such module "Check for unknown parameters"., then[36]
- The diameter of a graph is the maximum distance between two vertices, where the distance between two vertices is defined to be the shortest path between them. Chung showed that the diameter of an (n, d, λ)Script error: No such module "Check for unknown parameters".-graph is at most[37]
Expander walk sampling
Script error: No such module "Labelled list hatnote". The Chernoff bound states that, when sampling many independent samples from a random variable in the range [−1, 1]Script error: No such module "Check for unknown parameters"., with high probability the average of our samples is close to the expectation of the random variable. The expander walk sampling lemma, due to Script error: No such module "Footnotes". and Script error: No such module "Footnotes"., states that this also holds true when sampling from a walk on an expander graph. This is particularly useful in the theory of derandomization, since sampling according to an expander walk uses many fewer random bits than sampling independently.
AKS sorting network and approximate halvers
Script error: No such module "Labelled list hatnote".
Sorting networks take a set of inputs and perform a series of parallel steps to sort the inputs. A parallel step consists of performing any number of disjoint comparisons and potentially swapping pairs of compared inputs. The depth of a network is given by the number of parallel steps it takes. Expander graphs play an important role in the AKS sorting network, which achieves depth O(log n)Script error: No such module "Check for unknown parameters".. While this is asymptotically the best known depth for a sorting network, the reliance on expanders makes the constant bound too large for practical use.
Within the AKS sorting network, expander graphs are used to construct bounded depth Template:Mvar-halvers. An Template:Mvar-halver takes as input a length Template:Mvar permutation of (1, …, n)Script error: No such module "Check for unknown parameters". and halves the inputs into two disjoint sets Template:Mvar and Template:Mvar such that for each integer k ≤ <templatestyles src="Fraction/styles.css" />n⁄2Script error: No such module "Check for unknown parameters". at most Template:Mvar of the Template:Mvar smallest inputs are in Template:Mvar and at most Template:Mvar of the Template:Mvar largest inputs are in Template:Mvar. The sets Template:Mvar and Template:Mvar are an Template:Mvar-halving.
Following Script error: No such module "Footnotes"., a depth Template:Mvar Template:Mvar-halver can be constructed as follows. Take an Template:Mvar vertex, degree Template:Mvar bipartite expander with parts Template:Mvar and Template:Mvar of equal size such that every subset of vertices of size at most Template:Mvar has at least Template:SfracScript error: No such module "Check for unknown parameters". neighbors.
The vertices of the graph can be thought of as registers that contain inputs and the edges can be thought of as wires that compare the inputs of two registers. At the start, arbitrarily place half of the inputs in Template:Mvar and half of the inputs in Template:Mvar and decompose the edges into Template:Mvar perfect matchings. The goal is to end with Template:Mvar roughly containing the smaller half of the inputs and Template:Mvar containing roughly the larger half of the inputs. To achieve this, sequentially process each matching by comparing the registers paired up by the edges of this matching and correct any inputs that are out of order. Specifically, for each edge of the matching, if the larger input is in the register in Template:Mvar and the smaller input is in the register in Template:Mvar, then swap the two inputs so that the smaller one is in Template:Mvar and the larger one is in Template:Mvar. It is clear that this process consists of Template:Mvar parallel steps.
After all Template:Mvar rounds, take Template:Mvar to be the set of inputs in registers in Template:Mvar and Template:Mvar to be the set of inputs in registers in Template:Mvar to obtain an Template:Mvar-halving. To see this, notice that if a register Template:Mvar in Template:Mvar and Template:Mvar in Template:Mvar are connected by an edge Template:Mvar then after the matching with this edge is processed, the input in Template:Mvar is less than that of Template:Mvar. Furthermore, this property remains true throughout the rest of the process. Now, suppose for some k ≤ <templatestyles src="Fraction/styles.css" />n⁄2Script error: No such module "Check for unknown parameters". that more than Template:Mvar of the inputs (1, …, k)Script error: No such module "Check for unknown parameters". are in Template:Mvar. Then by expansion properties of the graph, the registers of these inputs in Template:Mvar are connected with at least Template:SfrackScript error: No such module "Check for unknown parameters". registers in Template:Mvar. Altogether, this constitutes more than Template:Mvar registers so there must be some register Template:Mvar in Template:Mvar connected to some register Template:Mvar in Template:Mvar such that the final input of Template:Mvar is not in (1, …, k)Script error: No such module "Check for unknown parameters"., while the final input of Template:Mvar is. This violates the previous property however, and thus the output sets Template:Mvar and Template:Mvar must be an Template:Mvar-halving.
See also
Notes
<templatestyles src="Reflist/styles.css" />
- ↑ a b c Script error: No such module "Footnotes".
- ↑ Definition 2.1 in Script error: No such module "Footnotes".
- ↑ a b Script error: No such module "Footnotes".
- ↑ Script error: No such module "Footnotes".
- ↑ cf. Section 2.3 in Script error: No such module "Footnotes".
- ↑ N. Alon and F. R. K. Chung, Explicit construction of linear sized tolerant networks. Discrete Math., vol. 72, pp. 15–19, 1988.
- ↑ This definition of the spectral gap is from Section 2.3 in Script error: No such module "Footnotes".
- ↑ Theorem 2.4 in Script error: No such module "Footnotes".
- ↑ B. Mohar. Isoperimetric numbers of graphs. J. Combin. Theory Ser. B, 47(3):274–291, 1989.
- ↑ See Theorem 1 and p.156, l.1 in Script error: No such module "Footnotes".. Note that λ2Script error: No such module "Check for unknown parameters". there corresponds to 2(d − λ2)Script error: No such module "Check for unknown parameters". of the current article (see p.153, l.5)
- ↑ see, e.g., Script error: No such module "Footnotes".
- ↑ Script error: No such module "Citation/CS1".
- ↑ see, e.g., p.9 of Script error: No such module "Footnotes".
- ↑ Theorem 2.7 of Script error: No such module "Footnotes".
- ↑ Definition 5.11 of Script error: No such module "Footnotes".
- ↑ Theorem 5.12 of Script error: No such module "Footnotes".
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Theorem 7.10 of Script error: No such module "Footnotes".
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b c Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
Script error: No such module "Check for unknown parameters".
- Script error: No such module "citation/CS1".
References
<templatestyles src="Refbegin/styles.css" />
Textbooks and surveys
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
Research articles
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1"..
- Script error: No such module "citation/CS1"..
- Script error: No such module "citation/CS1"..
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
Recent Applications
- Script error: No such module "citation/CS1".
External links
- Brief introduction in Notices of the American Mathematical Society
- Introductory paper by Michael Nielsen Template:Webarchive
- Lecture notes from a course on expanders (by Nati Linial and Avi Wigderson)
- Lecture notes from a course on expanders (by Prahladh Harsha)
- Definition and application of spectral gap