A polynomial time algorithm to compute quantum

A polynomial time algorithm to compute quantum
invariants of 3-manifolds with bounded first Betti
number
Clément Maria
The University of Queensland
Joint work with Jonathan Spreer
Computational complexity theory
2
Complexity theory and topology
computational
’difficulty’
Input of
’size’ n
3
Complexity theory and topology
computational
’difficulty’
Algorithm in
O(poly(n)) time
Input of
’size’ n
P
’Yes/No’ questions
Does my graph admit
a bipartite matching?
Does my graph admit
a Hamiltonian cycle?
3
Complexity theory and topology
computational
’difficulty’
when given a
’hint’ of size
O(poly0 (n))
Algorithm in
O(poly(n)) time
Input of
’size’ n
NP
P
’Yes/No’ questions
Does my graph admit
a bipartite matching?
Does my graph admit
a Hamiltonian cycle?
3
Complexity theory and topology
computational
’difficulty’
..
.
polynomial
hierarchy
when given a
’hint’ of size
O(poly0 (n))
Algorithm in
O(poly(n)) time
Input of
’size’ n
NP
P
’Yes/No’ questions
Does my graph admit
a bipartite matching?
Does my graph admit
a Hamiltonian cycle?
3
Complexity theory and topology
computational
’difficulty’
#P
..
.
polynomial
hierarchy
when given a
’hint’ of size
O(poly0 (n))
Algorithm in
O(poly(n)) time
Input of
’size’ n
NP
P
’Yes/No’ questions
’How many’ questions
Does my graph admit
a bipartite matching?
How many bipartite matchings
does my graph admit?
Does my graph admit
a Hamiltonian cycle?
How many Hamiltonian cycle
does my graph admit?
3
Complexity theory and topology
computational
’difficulty’
#P
..
.
polynomial
hierarchy
when given a
’hint’ of size
O(poly0 (n))
Algorithm in
O(poly(n)) time
Input of
’size’ n
NP
P
’Yes/No’ questions
’How many’ questions
Does my graph admit
a bipartite matching?
How many bipartite matchings
does my graph admit?
Does my graph admit
a Hamiltonian cycle?
How many Hamiltonian cycle
does my graph admit?
3
Complexity theory and topology
computational
’difficulty’
poly(n) time
algorithm with
a #P oracle
P#P
#P
..
.
polynomial
hierarchy
when given a
’hint’ of size
O(poly0 (n))
Algorithm in
O(poly(n)) time
Input of
’size’ n
NP
P
’Yes/No’ questions
’How many’ questions
Does my graph admit
a bipartite matching?
How many bipartite matchings
does my graph admit?
Does my graph admit
a Hamiltonian cycle?
How many Hamiltonian cycle
does my graph admit?
3
Complexity theory and topology
computational
’difficulty’
Toda’s theorem
poly(n) time
algorithm with
a #P oracle
P#P
#P
..
.
polynomial
hierarchy
when given a
’hint’ of size
O(poly0 (n))
Algorithm in
O(poly(n)) time
Input of
’size’ n
NP
P
’Yes/No’ questions
’How many’ questions
Does my graph admit
a bipartite matching?
How many bipartite matchings
does my graph admit?
Does my graph admit
a Hamiltonian cycle?
How many Hamiltonian cycle
does my graph admit?
3
Complexity theory and topology
computational
’difficulty’
#P − hard
Toda’s theorem
poly(n) time
algorithm with
a #P oracle
P#P
#P
..
.
polynomial
hierarchy
when given a
’hint’ of size
O(poly0 (n))
Algorithm in
O(poly(n)) time
Input of
’size’ n
NP
P
’Yes/No’ questions
’How many’ questions
Does my graph admit
a bipartite matching?
How many bipartite matchings
does my graph admit?
Does my graph admit
a Hamiltonian cycle?
How many Hamiltonian cycle
does my graph admit?
3
Complexity theory and topology
computational
’difficulty’
#P − hard
Toda’s theorem
poly(n) time
algorithm with
a #P oracle
P#P
#P
..
.
polynomial
hierarchy
when given a
’hint’ of size
O(poly0 (n))
Algorithm in
O(poly(n)) time
Input of
’size’ n
NP
Homology groups
Alexander polynomial
P
’Yes/No’ questions
’How many’ questions
Does my graph admit
a bipartite matching?
How many bipartite matchings
does my graph admit?
Does my graph admit
a Hamiltonian cycle?
How many Hamiltonian cycle
does my graph admit?
3
Complexity theory and topology
computational
’difficulty’
#P − hard
Toda’s theorem
poly(n) time
algorithm with
a #P oracle
P#P
#P
..
.
polynomial
hierarchy
when given a
’hint’ of size
O(poly0 (n))
Algorithm in
O(poly(n)) time
Input of
’size’ n
3-sphere recognition
NP
Unknot recognition
Homology groups
Alexander polynomial
P
’Yes/No’ questions
’How many’ questions
Does my graph admit
a bipartite matching?
How many bipartite matchings
does my graph admit?
Does my graph admit
a Hamiltonian cycle?
How many Hamiltonian cycle
does my graph admit?
3
Complexity theory and topology
computational
’difficulty’
#P − hard
Toda’s theorem
poly(n) time
algorithm with
a #P oracle
P#P
#P
..
.
polynomial
hierarchy
when given a
’hint’ of size
O(poly0 (n))
Algorithm in
O(poly(n)) time
Input of
’size’ n
Knot genus
3-sphere recognition
NP
Unknot recognition
Homology groups
Alexander polynomial
P
’Yes/No’ questions
’How many’ questions
Does my graph admit
a bipartite matching?
How many bipartite matchings
does my graph admit?
Does my graph admit
a Hamiltonian cycle?
How many Hamiltonian cycle
does my graph admit?
3
Complexity theory and topology
computational
’difficulty’
#P − hard
Toda’s theorem
poly(n) time
algorithm with
a #P oracle
P#P
#P
Jones polynomial
quantum invariants
Turaev-Viro invariant (TV4,1 )
more ’algebraic’
..
.
polynomial
hierarchy
when given a
’hint’ of size
O(poly0 (n))
Algorithm in
O(poly(n)) time
Input of
’size’ n
Knot genus
Normal surface approach
3-sphere recognition
NP
very ’combinatorial’
Unknot recognition
Homology groups
Alexander polynomial Easy stuff
P
’Yes/No’ questions
’How many’ questions
Does my graph admit
a bipartite matching?
How many bipartite matchings
does my graph admit?
Does my graph admit
a Hamiltonian cycle?
How many Hamiltonian cycle
does my graph admit?
3
Complexity theory and topology
computational
’difficulty’
#P − hard
Toda’s theorem
poly(n) time
algorithm with
a #P oracle
P#P
#P
Jones polynomial
quantum invariants
Turaev-Viro invariant (TV4,1 )
more ’algebraic’
X
Y
exponentially many
combinatorial states θ
on a triangulation
∆ ∈ tetrahedra
..
.
polynomial
hierarchy
when given a
’hint’ of size
O(poly0 (n))
Algorithm in
O(poly(n)) time
Input of
’size’ n
Knot genus
weightθ (∆)
Normal surface approach
3-sphere recognition
NP
very ’combinatorial’
Unknot recognition
Homology groups
Alexander polynomial Easy stuff
P
’Yes/No’ questions
’How many’ questions
Does my graph admit
a bipartite matching?
How many bipartite matchings
does my graph admit?
Does my graph admit
a Hamiltonian cycle?
How many Hamiltonian cycle
does my graph admit?
3
Complexity theory and topology
computational
’difficulty’
#P − hard
Toda’s theorem
poly(n) time
algorithm with
a #P oracle
#P
..
.
polynomial
hierarchy
when given a
’hint’ of size
O(poly0 (n))
Algorithm in
O(poly(n)) time
Input of
’size’ n
#P
P
Jones polynomial
quantum invariants
Turaev-Viro invariant (TV4,1 )
more ’algebraic’
X
Brute force
2
O(n)
Y
-algorithm exponentially many
combinatorial states θ
on a triangulation
Knot genus
weightθ (∆)
∆ ∈ tetrahedra
almost like counting
Normal surface approach
3-sphere recognition
NP
very ’combinatorial’
Unknot recognition
Homology groups
Alexander polynomial Easy stuff
P
’Yes/No’ questions
’How many’ questions
Does my graph admit
a bipartite matching?
How many bipartite matchings
does my graph admit?
Does my graph admit
a Hamiltonian cycle?
How many Hamiltonian cycle
does my graph admit?
3
Complexity theory and topology
computational
’difficulty’
#P − hard
Toda’s theorem
poly(n) time
algorithm with
a #P oracle
#P
..
.
polynomial
hierarchy
when given a
’hint’ of size
O(poly0 (n))
Algorithm in
O(poly(n)) time
Input of
’size’ n
#P
P
Jones polynomial
quantum invariants
Turaev-Viro invariant (TV4,1 )
more ’algebraic’
X
Brute force
2
O(n)
Y
-algorithm exponentially many
combinatorial states θ
on a triangulation
Knot genus
weightθ (∆)
∆ ∈ tetrahedra
almost like counting
Normal surface approach
3-sphere recognition
NP
very ’combinatorial’
Unknot recognition
Homology groups
Alexander polynomial Easy stuff
P
’Yes/No’ questions
’How many’ questions
Does my graph admit
a bipartite matching?
How many bipartite matchings
does my graph admit?
Does my graph admit
a Hamiltonian cycle?
How many Hamiltonian cycle
does my graph admit?
3
Complexity theory and topology
computational
’difficulty’
#P − hard
Toda’s theorem
poly(n) time
algorithm with
a #P oracle
#P
..
.
polynomial
hierarchy
when given a
’hint’ of size
O(poly0 (n))
Algorithm in
O(poly(n)) time
Input of
’size’ n
#P
P
Jones polynomial
quantum invariants
Turaev-Viro invariant (TV4,1 )
more ’algebraic’
X
Brute force
2
O(n)
Y
-algorithm exponentially many
combinatorial states θ
on a triangulation
Knot genus
weightθ (∆)
∆ ∈ tetrahedra
almost like counting
Normal surface approach
3-sphere recognition
NP
very ’combinatorial’
Unknot recognition
Homology groups
Alexander polynomial Easy stuff
P
’Yes/No’ questions
’How many’ questions
Does my graph admit
a bipartite matching?
How many bipartite matchings
does my graph admit?
Does my graph admit
a Hamiltonian cycle?
How many Hamiltonian cycle
does my graph admit?
3
Complexity theory and topology
computational
’difficulty’
#P − hard
Toda’s theorem
poly(n) time
algorithm with
a #P oracle
#P
For manifolds
..
.
with bounded
polynomial
hierarchy
dim(H1(M, F2))
when given a
’hint’ of size
O(poly0 (n))
Algorithm in
O(poly(n)) time
Input of
’size’ n
#P
P
Jones polynomial
quantum invariants
Turaev-Viro invariant (TV4,1 )
more ’algebraic’
X
Brute force
2
O(n)
Y
-algorithm exponentially many
combinatorial states θ
on a triangulation
Knot genus
weightθ (∆)
∆ ∈ tetrahedra
almost like counting
Normal surface approach
3-sphere recognition
NP
very ’combinatorial’
Unknot recognition
Homology groups
Alexander polynomial Easy stuff
P
’Yes/No’ questions
’How many’ questions
Does my graph admit
a bipartite matching?
How many bipartite matchings
does my graph admit?
Does my graph admit
a Hamiltonian cycle?
How many Hamiltonian cycle
does my graph admit?
3
Complexity theory and topology
computational
’difficulty’
#P − hard
Toda’s theorem
poly(n) time
algorithm with
a #P oracle
#P
P
For manifolds
..
.
with bounded
polynomial
hierarchy
dim(H1(M, F2))
when given a
’hint’ of size
O(poly0 (n))
Algorithm in
O(poly(n)) time
Input of
’size’ n
#P
Jones polynomial
quantum invariants
Turaev-Viro invariant (TV4,1 )
more ’algebraic’
Theorem ( [M., Spreer ’17]
X)
Brute force
Y
weightθ (∆)
many ∆ ∈ tetrahedra
2
-algorithm exponentially
2 ) memory algorithm to
There is a O(2β1combinatorial
n3 ) time O(nstates
θ
almost like counting
on, aontriangulation
compute TV4,q (T)
a n-tetrahedra triangulation T
O(n)
with β1 = dim H1 (T, F2 ).
Knot genus
Normal surface approach
3-sphere recognition
NP
very ’combinatorial’
Unknot recognition
Homology groups
Alexander polynomial Easy stuff
P
’Yes/No’ questions
’How many’ questions
Does my graph admit
a bipartite matching?
How many bipartite matchings
does my graph admit?
Does my graph admit
a Hamiltonian cycle?
How many Hamiltonian cycle
does my graph admit?
3
Algorithm for the Turaev-Viro invariant TV4
4
(i) Interpretation of the Turaev-Viro invariant TV4
1-cocycles
θ mod 2
Combinatorial states Adm(T, 4) on a triangulation T:
- Admissible colourings {edges} → {0, 1, 2}
in bijection with
generalised normal surfaces with tetrahedra given above.
TV4,q =
∑
θ∈Adm(T,4)


∏
v vertex
|v|θ
∏
e edge
|e|θ
∏
f triangle
|f|θ
∏

|t|θ 
t terahedron
5
(i) Interpretation of the Turaev-Viro invariant TV4
1-cocycles
θ mod 2
Naive algorithm in O(3n ):
(i) Enumerate all colourings {edges} → {0, 1, 2}.
(ii) Check admissibility.
(iii) Evaluate weights & sum.
TV4,q =
∑
θ∈Adm(T,4)


∏
v vertex
|v|θ
∏
e edge
|e|θ
∏
f triangle
|f|θ
∏

|t|θ 
t terahedron
5
(i) Interpretation of the Turaev-Viro invariant TV4
1-cocycles
θ mod 2
Today:
(i) Partition gen. normal surfaces w.r.t. their TV4 weight (topology).
(ii) Characterise the space of admissible colourings.
(iii) Evaluate weights efficiently.
TV4,q =
∑
θ∈Adm(T,4)


∏
v vertex
|v|θ
∏
e edge
|e|θ
∏
f triangle
|f|θ
∏

|t|θ 
t terahedron
5
(i) Interpretation of the Turaev-Viro invariant TV4
1-cocycles
θ mod 2
Today:
(i) Partition gen. normal surfaces w.r.t. their TV4 weight (topology).
(ii) Characterise the space of admissible colourings.
(iii) Evaluate weights efficiently.
TV4,q =
∑
θ∈Adm(T,4)


∏
v vertex
|v|θ
∏
e edge
|e|θ
∏
f triangle
|f|θ
∏

|t|θ 
t terahedron
5
(i) Interpretation of the Turaev-Viro invariant TV4
1-cocycles
θ mod 2
Lemma ( [M, Spreer ’17] )
Let θ ∈ Adm(T, 4), then its weight satisfies:
√
√
|T|θ = (−1)#oct. · zχ(θ mod 2) , for constant z ∈ { 2, − 2}
where #oct. denotes the number of octagons of θ , and χ(θ mod 2) the
Euler characteristic of the surface associated to the reduction mod 2 of θ .
5
(i) Partition of Adm(T, 4) at cohomology classes
Assume T is a 1 vertex triangulation of a closed 3-manifold.
−→ Fix a cohomology class [θ̂] ∈ H1 (T, F2 ).
6
(i) Partition of Adm(T, 4) at cohomology classes
Assume T is a 1 vertex triangulation of a closed 3-manifold.
−→ Fix a cohomology class [θ̂] ∈ H1 (T, F2 ).
Let Adm(T, 4, θ̂) be the set of colourings θ ∈ Adm(T, 4) s.t.:
θ mod 2 = θ̂
6
(i) Partition of Adm(T, 4) at cohomology classes
Assume T is a 1 vertex triangulation of a closed 3-manifold.
−→ Fix a cohomology class [θ̂] ∈ H1 (T, F2 ).
Let Adm(T, 4, θ̂) be the set of colourings θ ∈ Adm(T, 4) s.t.:
θ mod 2 = θ̂
For a 1-vertex triangulation T, we compute in polynomial time the partial
Turaev-Viro sum:
TV4 (T, [θ̂]) =
∑
|T|θ
θ∈Adm( T,4,θ̂)
6
(i) Partition of Adm(T, 4) at cohomology classes
Assume T is a 1 vertex triangulation of a closed 3-manifold.
−→ Fix a cohomology class [θ̂] ∈ H1 (T, F2 ).
Let Adm(T, 4, θ̂) be the set of colourings θ ∈ Adm(T, 4) s.t.:
θ mod 2 = θ̂
For a 1-vertex triangulation T, we compute in polynomial time the partial
Turaev-Viro sum:
∑
TV4 (T, [θ̂]) =
|T|θ
θ∈Adm( T,4,θ̂)
and we reconstruct the Turaev-Viro invariant of T by summing over all
the 2β1 cohomology classes:
TV4 (T) =
∑
θ∈Adm(T,4)
|T|θ =
∑
[θ̂]∈H1 (T,F
TV4 (T, [θ̂])
2)
6
(ii) Characterisation of the space Adm(T, 4, θ̂)
Fix a cohomology class [θ̂] ∈ H1 (T, F2 ):
- E0 containing edges coloured 1 by θ̂ ,
.......................fixed.
- E1 containing edges coloured 0 occurring in a (0, 0, 0) triangle,
- E2 containing edges coloured 0 only occurring in (0, 1, 1) triangles.
7
(ii) Characterisation of the space Adm(T, 4, θ̂)
Fix a cohomology class [θ̂] ∈ H1 (T, F2 ):
- E0 containing edges coloured 1 by θ̂ ,
.......................fixed.
- E1 containing edges coloured 0 occurring in a (0, 0, 0) triangle,
- E2 containing edges coloured 0 only occurring in (0, 1, 1) triangles.
Characterisation of the space of colourings Adm(T, 4, θ̂):
|E |+|E2 |
Set edge colours 0 → 2, linear system in F2 1
∈ E2
For every (0, 0, 0) triangle (face) in θ̂ :
⊇ Adm(T, 4, θ̂).
∈ E1
θ(e1 )
2
+
θ(e2 )
2
+
θ(e3 )
2
= 0 in F2
7
(iii) Evaluation of weights at a cohomology class
Compute the value of TV4 (T, [θ̂]):
|T|θ = (−1)#oct. · zχ(θ mod 2)
xi
yi
8
(iii) Evaluation of weights at a cohomology class
Compute the value of TV4 (T, [θ̂]):
|T|θ = (−1)#oct. · zχ(θ mod 2)
xi
yi
The following form computes the parity of the number of octagons #oct.
in a colouring θ reducing to θ̂ :
θ ∈ Adm(T, 4, [θ̂]) 7−→
s
∑
θ̂(xi ) θ̂(yi )
i=1
2
2
∈ F2
where xi and yi are opposite 0 coloured edges in θ̂ in an octagoncoloured tetrahedron.
8
(iii) Evaluation of weights at a cohomology class
Compute the value of TV4 (T, [θ̂]):
|T|θ = (−1)#oct. · zχ(θ mod 2)
xi
yi
The following form computes the parity of the number of octagons #oct.
in a colouring θ reducing to θ̂ :
θ ∈ Adm(T, 4, [θ̂]) 7−→
s
∑
θ̂(xi ) θ̂(yi )
i=1
2
2
∈ F2
where xi and yi are opposite 0 coloured edges in θ̂ in an octagoncoloured tetrahedron.
Count the zeros of the quadratic form!
8
The algorithm, in a nutshell
- Note that colouring weights depend only, up to a sign, of the
reduced colouring modulo 2.
√
√
|T|θ = (−1)#oct. · zχ(θ mod 2) , z ∈ { 2, − 2}
9
The algorithm, in a nutshell
- Note that colouring weights depend only, up to a sign, of the
reduced colouring modulo 2.
√
√
|T|θ = (−1)#oct. · zχ(θ mod 2) , z ∈ { 2, − 2}
- Partition colourings by reduction modulo 2 into Adm(T, 4, [θ̂]) and
compute partial sum.
9
The algorithm, in a nutshell
- Note that colouring weights depend only, up to a sign, of the
reduced colouring modulo 2.
√
√
|T|θ = (−1)#oct. · zχ(θ mod 2) , z ∈ { 2, − 2}
- Partition colourings by reduction modulo 2 into Adm(T, 4, [θ̂]) and
compute partial sum.
▶ The set of colourings Adm(T, 4, [θ̂]) obeys a system of linear
equations in F2 .
9
The algorithm, in a nutshell
- Note that colouring weights depend only, up to a sign, of the
reduced colouring modulo 2.
√
√
|T|θ = (−1)#oct. · zχ(θ mod 2) , z ∈ { 2, − 2}
- Partition colourings by reduction modulo 2 into Adm(T, 4, [θ̂]) and
compute partial sum.
▶ The set of colourings Adm(T, 4, [θ̂]) obeys a system of linear
equations in F2 .
▶
The (−1)#oct. is given by the zeros of a quadratic form in F2 .
s
∑
i=1
θ̂(xi ) θ̂(yi )
2
2
xi
∈ F2
yi
9
More complexity for TV4
(a) n-variables 3CNF formula C
∧
i (xi,1
−→ (b) n-component link −→
∨ xi,2 ∨ xi,3 )
−→ (c) 3-manifold T via surgery, poly(n) tetrahedra, β1 = n
−→ TV4 (T) gives the number of satisfying instances of C.
10
More complexity for TV4
(a) n-variables 3CNF formula C −→ (b) n-component link −→
Reduction to poly(n) counting problems
∧
|T|θ = (−1)#oct. · zχ(θ mod 2)
∨ xi,2 ∨ xi,3 )
∑
−
n
(b +
Write TV4 (T) =
m − bm ) · z , where:
i (xi,1
m∈Z
−→even
(c) 3octagons
-manifoldcolourings
T via surgery,
poly(
) tetrahedra,
• Count
θ with
χ(θnmod
2) = m:β1 = n
Input: 3-manifold triangulation T, integer m
Output: b+
m
• Count odd octagons colourings with χ(θ mod 2) = m:
Input: 3-manifold triangulation T, integer m
Output: b−
m
−→ TV4 (T) gives the number of satisfying instances of C.
10
Conclusion
11
Conclusion
- Topology: new interpretation of TV4
12
Conclusion
- Topology: new interpretation of TV4
- Complexity: first algorithm, in 3-manifold topology, parameterised
by a topological parameter.
12
Conclusion
- Topology: new interpretation of TV4
- Complexity: first algorithm, in 3-manifold topology, parameterised
by a topological parameter.
- Polynomial time algorithm to distinguish between manifolds
belonging to certain families.
12
Conclusion
- Topology: new interpretation of TV4
- Complexity: first algorithm, in 3-manifold topology, parameterised
by a topological parameter.
- Polynomial time algorithm to distinguish between manifolds
belonging to certain families.
- Practice: computing TV4 is as fast as computing homology.
12
Conclusion
- Topology: new interpretation of TV4
- Complexity: first algorithm, in 3-manifold topology, parameterised
by a topological parameter.
- Polynomial time algorithm to distinguish between manifolds
belonging to certain families.
- Practice: computing TV4 is as fast as computing homology.
- Experimentally allows to distinguish ∼ twice as many manifolds (in
censuses) as homology alone.
12
Conclusion
- Topology: new interpretation of TV4
- Complexity: first algorithm, in 3-manifold topology, parameterised
by a topological parameter.
- Polynomial time algorithm to distinguish between manifolds
belonging to certain families.
- Practice: computing TV4 is as fast as computing homology.
- Experimentally allows to distinguish ∼ twice as many manifolds (in
censuses) as homology alone.
- ...
Thank you!
12