README for TQFT, 1th January, 2004. TQFT is a program that computes the action of the mapping class group of a surface on its Verlinde modules. It is written by Norbert A'Campo and can be freely downloaded from http://www.geometrie.ch/TQFT and redistributed under the terms of GPL v.2 (see 'copyright' file for details). Content: I. References II. System requirements III. Installation IV. How to run the program V. A sample session VI. Elements of infinite order VII. Integral bases and matrices (added 1.1.2004) I. References. -------------- Information about the action of the mapping class group on Verlinde modules can be obtained from: 1. E. Verlinde, Fusion rules and modular transformations in 2d conformal field theory, Nucl. Phys. B 300(1988), 360-376. 2. T. Kohno, Topological invariants for 3-manifolds using representations of mapping class groups I, Topology 31(1992), 203-230. 3. M.F. Atiyah, Topological quantum field theories, Publ. Math. IHES 68(1989), 175-186. 4. C. Blanchet, N. Habegger, G. Masbaum, P. Vogel, Topological quantum field theories derived from the Kauffman bracket, Topology 34(1995), 883-927. 5. J.D. Roberts, Skeins and mapping class groups, Math. Proc. Camb. Phil. Soc. 115(1994), 53-77. 6. W.B.R. Lickorish, Skeins and handlebodies, Pac. J. Math. 159(1993), 337-350. 7. C. Blanchet, G. Masbaum, Topological quantum field theories for surfaces with spin structure, Duke Math. J., 82(1996),229-267. 8. G. Masbaum, An element of infinite order in TQFT-representations of mapping class groups, Cont. Math. 223(1999), 137-139. 9. L.H. Kauffman, Knots, spin networks and 3-manifold invariants, (preprint) 1990. 10. Louis Funar, On TQFT representations of the mapping class groups, Pacific Journal of Math., 188(1999), 251-274. 11. Adam S. Sikora, Skein modules and TQFT, http://www.math.buffalo.edu/~asikora/Papers/skein.ps 12. Stephen Savin, Quantum Algebra and Topology, http://www.arxiv.org/abs/q-alg/9506002 13. R.F. Picken & P.A. Semi\~ao, TQFT - a new direction in algebraic topology, http://arxiv.org/pdf/math.QA/9912085 14. Patrick Gilmer, Gregor Masbaum and Paul van Wamelen, Integral bases for TQFT modules and unimodular representations of mapping class groups, http://arXiv.org/math.QA/0207093 II. System requirements. ----------------------- a) PARI/GP version 2.2.0 or higher (2.2.5 or higher recommended). Can be freely downloaded from http://www.parigp-home.de Since tqft.gp is a PARI/GP script, it is essential to have this package installed before making any attempts to run tqft.gp. III. Installation. ------------------ a) Download the latest version of tqft-x.y.z.tar.gz from http://www.geometrie.ch/TQFT Place the file called tqft-x.y.z.tar.gz somewhere in your home directory and unpack it with the command: 'tar xfzv tqft-x.y.z.tar.gz'. Directory tqft-0.0.1 should appear, where x.y.z is the version downloaded. Go into this directory with the command: 'cd tqft-x.y.z'. b) Make sure that an appropriate version of PARI/GP is installed on your system. c) Please give feedback (problems, wishes, errors, ...) to Norbert.Acampo@unibas.ch. IV. How to run the program. --------------------------- a) Start PARI's programmable calculator in the directory containing the files tqft.gp, 00README and copyright: whitney: /home/nac/TQFT 102 >gp64 -q (09:04) gp > b) Read tqft.gp into the pari session: whitney: /home/nac/TQFT 102 >gp64 -q (09:04) gp > read(tqft) time = 0 ms. (09:10) gp > c) Look at the file tqft.pdf or tqft.ps and read the comments in the script file tqft.gp and compare with the output of: (09:10) gp > BV([0,1,1,1,4]) time = 0 ms. [9 1 10 1 1 0] [1 2 11 1 2 3] [2 3 11 2 1 2] [3 4 12 1 3 5] [4 5 12 3 1 4] [5 6 13 1 4 9] [6 7 14 4 5 8] [7 8 14 5 4 7] [8 9 13 4 1 6] (09:13) gp > d) We will study an example of smaller size: First initialize the level k=3 and the so-theory with the command: (09:13) gp > init_so(3) time = 0 ms. [3, A^4 - A^3 + A^2 - A + 1] (09:15) gp > The global variables klevel=3 and POL= A^4 - A^3 + A^2 - A + 1 are now set. e) Initialize a tree and input color: (09:15) gp > init_boom([0,1,1],2) time = 20 ms. 20 (09:17) gp > The dimension of the corresponding module is 20. Global variables BoomMatrix and BoomBasis are computed and set. We can have a look: (09:17) gp > BoomMatrix time = 0 ms. [5 1 6 1 1 0] [1 2 7 1 2 3] [2 3 7 2 1 2] [3 4 8 1 3 5] [4 5 8 3 1 4] (09:19) gp > BoomBasis time = 0 ms. [[[0, 0, 0, 2, 2, 2, 0, 2], 1], [[0, 2, 0, 2, 2, 2, 2, 2], 2], [[0, 2, 2, 0, 2, 2, 2, 2], 3], [[0, 2, 2, 2, 2, 2, 2, 0], 4], [[0, 2, 2, 2, 2, 2, 2, 2], 5], [[2, 0, 2, 0, 2, 2, 2, 2], 6], [[2, 0, 2, 2, 0, 2, 2, 2], 7], [[2, 0, 2, 2, 2, 2, 2, 0], 8], [[2, 0, 2, 2, 2, 2, 2, 2], 9], [[2, 2, 0, 0, 0, 2, 2, 0], 10], [[2, 2, 0, 2, 0, 2, 2, 2], 11], [[2, 2, 0, 2, 2, 2, 2, 2], 12], [[2, 2, 2, 0, 2, 2, 0, 2], 13], [[2, 2, 2, 0, 2, 2, 2, 2], 14], [[2, 2, 2, 2, 0, 2, 0, 2], 15], [[2, 2, 2, 2, 0, 2, 2, 2], 16], [[2, 2, 2, 2, 2, 2, 0, 0], 17], [[2, 2, 2, 2, 2, 2, 0, 2], 18], [[2, 2, 2, 2, 2, 2, 2, 0], 19], [[2, 2, 2, 2, 2, 2, 2, 2], 20]] (09:19) gp > h) The matrix of the twist around the edge 1 of the graph is computed by: (09:19) gp > twA(1) time = 0 ms. [Mod(1, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [0 Mod(1, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 Mod(1, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 Mod(1, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 0 Mod(1, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 Mod(A^2, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 Mod(A^2, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 Mod(A^2, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 Mod(A^2, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 Mod(A^2, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 Mod(A^2, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 Mod(A^2, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 Mod(A^2, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 Mod(A^2, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 Mod(A^2, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Mod(A^2, A^4 - A^3 + A^2 - A + 1) 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Mod(A^2, A^4 - A^3 + A^2 - A + 1) 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Mod(A^2, A^4 - A^3 + A^2 - A + 1) 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Mod(A^2, A^4 - A^3 + A^2 - A + 1) 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Mod(A^2, A^4 - A^3 + A^2 - A + 1)] (09:24) gp > i) The matrix of the twist around hole 1 by: (09:26) gp > twB(1) time = 280 ms. [Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 Mod(-2/5*A^3 - 1/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) Mod(-2/5*A^3 - 1/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A - 2/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0] [0 Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0 0 Mod(6/5*A^3 - 2/5*A^2 + 3/5*A - 4/5, A^4 - A^3 + A^2 - A + 1) Mod(2/5*A^3 - 4/5*A^2 + 1/5*A + 2/5, A^4 - A^3 + A^2 - A + 1) Mod(6/5*A^3 - 2/5*A^2 + 3/5*A - 4/5, A^4 - A^3 + A^2 - A + 1) Mod(-4/5*A^3 + 3/5*A^2 - 2/5*A + 1/5, A^4 - A^3 + A^2 - A + 1) Mod(2/5*A^3 - 4/5*A^2 + 1/5*A + 2/5, A^4 - A^3 + A^2 - A + 1) Mod(-8/5*A^3 + 11/5*A^2 - 4/5*A - 3/5, A^4 - A^3 + A^2 - A + 1)] [0 0 Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 Mod(-2/5*A^3 - 1/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) 0 0 Mod(-2/5*A^3 - 1/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A - 2/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0] [0 0 0 Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 Mod(6/5*A^3 - 2/5*A^2 + 3/5*A - 4/5, A^4 - A^3 + A^2 - A + 1) Mod(2/5*A^3 - 4/5*A^2 + 1/5*A + 2/5, A^4 - A^3 + A^2 - A + 1) 0 0 Mod(6/5*A^3 - 2/5*A^2 + 3/5*A - 4/5, A^4 - A^3 + A^2 - A + 1) Mod(-4/5*A^3 + 3/5*A^2 - 2/5*A + 1/5, A^4 - A^3 + A^2 - A + 1) 0 Mod(2/5*A^3 - 4/5*A^2 + 1/5*A + 2/5, A^4 - A^3 + A^2 - A + 1) 0 Mod(-8/5*A^3 + 11/5*A^2 - 4/5*A - 3/5, A^4 - A^3 + A^2 - A + 1)] [0 0 0 0 Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 Mod(14/5*A^3 - 3/5*A^2 + 7/5*A - 11/5, A^4 - A^3 + A^2 - A + 1) Mod(-6/5*A^3 + 2/5*A^2 - 3/5*A + 4/5, A^4 - A^3 + A^2 - A + 1) 0 0 Mod(22/5*A^3 - 4/5*A^2 + 11/5*A - 18/5, A^4 - A^3 + A^2 - A + 1) Mod(-8/5*A^3 + 1/5*A^2 - 4/5*A + 7/5, A^4 - A^3 + A^2 - A + 1) Mod(14/5*A^3 - 3/5*A^2 + 7/5*A - 11/5, A^4 - A^3 + A^2 - A + 1) Mod(-8/5*A^3 + 1/5*A^2 - 4/5*A + 7/5, A^4 - A^3 + A^2 - A + 1) Mod(-6/5*A^3 + 2/5*A^2 - 3/5*A + 4/5, A^4 - A^3 + A^2 - A + 1) Mod(2/5*A^3 + 1/5*A^2 + 1/5*A - 3/5, A^4 - A^3 + A^2 - A + 1)] [0 0 0 0 0 Mod(A^2, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [Mod(-2/5*A^3 - 1/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) Mod(-2/5*A^3 - 1/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A - 2/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0] [Mod(-2/5*A^3 - 1/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 Mod(-2/5*A^3 - 1/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A - 2/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0] [Mod(-14/5*A^3 + 3/5*A^2 - 7/5*A + 11/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 Mod(-14/5*A^3 + 3/5*A^2 - 7/5*A + 11/5, A^4 - A^3 + A^2 - A + 1) Mod(-14/5*A^3 + 3/5*A^2 - 7/5*A + 11/5, A^4 - A^3 + A^2 - A + 1) Mod(6/5*A^3 + 3/5*A^2 + 3/5*A - 4/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0] [0 0 Mod(-2/5*A^3 - 1/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) 0 0 Mod(-2/5*A^3 - 1/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A - 2/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0] [0 0 0 Mod(6/5*A^3 - 2/5*A^2 + 3/5*A - 4/5, A^4 - A^3 + A^2 - A + 1) Mod(2/5*A^3 - 4/5*A^2 + 1/5*A + 2/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 Mod(6/5*A^3 - 2/5*A^2 + 3/5*A - 4/5, A^4 - A^3 + A^2 - A + 1) Mod(2/5*A^3 - 4/5*A^2 + 1/5*A + 2/5, A^4 - A^3 + A^2 - A + 1) Mod(-4/5*A^3 + 3/5*A^2 - 2/5*A + 1/5, A^4 - A^3 + A^2 - A + 1) Mod(-8/5*A^3 + 11/5*A^2 - 4/5*A - 3/5, A^4 - A^3 + A^2 - A + 1)] [0 0 0 Mod(14/5*A^3 - 3/5*A^2 + 7/5*A - 11/5, A^4 - A^3 + A^2 - A + 1) Mod(-6/5*A^3 + 2/5*A^2 - 3/5*A + 4/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) 0 0 Mod(14/5*A^3 - 3/5*A^2 + 7/5*A - 11/5, A^4 - A^3 + A^2 - A + 1) Mod(-6/5*A^3 + 2/5*A^2 - 3/5*A + 4/5, A^4 - A^3 + A^2 - A + 1) Mod(22/5*A^3 - 4/5*A^2 + 11/5*A - 18/5, A^4 - A^3 + A^2 - A + 1) Mod(-8/5*A^3 + 1/5*A^2 - 4/5*A + 7/5, A^4 - A^3 + A^2 - A + 1) Mod(-8/5*A^3 + 1/5*A^2 - 4/5*A + 7/5, A^4 - A^3 + A^2 - A + 1) Mod(2/5*A^3 + 1/5*A^2 + 1/5*A - 3/5, A^4 - A^3 + A^2 - A + 1)] [0 0 Mod(-2/5*A^3 - 1/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 Mod(-2/5*A^3 - 1/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) 0 0 Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A - 2/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0] [0 0 Mod(-14/5*A^3 + 3/5*A^2 - 7/5*A + 11/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 Mod(-14/5*A^3 + 3/5*A^2 - 7/5*A + 11/5, A^4 - A^3 + A^2 - A + 1) 0 0 Mod(-14/5*A^3 + 3/5*A^2 - 7/5*A + 11/5, A^4 - A^3 + A^2 - A + 1) Mod(6/5*A^3 + 3/5*A^2 + 3/5*A - 4/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0] [0 Mod(6/5*A^3 - 2/5*A^2 + 3/5*A - 4/5, A^4 - A^3 + A^2 - A + 1) 0 Mod(6/5*A^3 - 2/5*A^2 + 3/5*A - 4/5, A^4 - A^3 + A^2 - A + 1) Mod(-4/5*A^3 + 3/5*A^2 - 2/5*A + 1/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 Mod(2/5*A^3 - 4/5*A^2 + 1/5*A + 2/5, A^4 - A^3 + A^2 - A + 1) 0 0 Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 Mod(2/5*A^3 - 4/5*A^2 + 1/5*A + 2/5, A^4 - A^3 + A^2 - A + 1) Mod(-8/5*A^3 + 11/5*A^2 - 4/5*A - 3/5, A^4 - A^3 + A^2 - A + 1)] [0 Mod(14/5*A^3 - 3/5*A^2 + 7/5*A - 11/5, A^4 - A^3 + A^2 - A + 1) 0 Mod(22/5*A^3 - 4/5*A^2 + 11/5*A - 18/5, A^4 - A^3 + A^2 - A + 1) Mod(-8/5*A^3 + 1/5*A^2 - 4/5*A + 7/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 Mod(-6/5*A^3 + 2/5*A^2 - 3/5*A + 4/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) Mod(14/5*A^3 - 3/5*A^2 + 7/5*A - 11/5, A^4 - A^3 + A^2 - A + 1) Mod(-6/5*A^3 + 2/5*A^2 - 3/5*A + 4/5, A^4 - A^3 + A^2 - A + 1) Mod(-8/5*A^3 + 1/5*A^2 - 4/5*A + 7/5, A^4 - A^3 + A^2 - A + 1) Mod(2/5*A^3 + 1/5*A^2 + 1/5*A - 3/5, A^4 - A^3 + A^2 - A + 1)] [0 Mod(6/5*A^3 - 2/5*A^2 + 3/5*A - 4/5, A^4 - A^3 + A^2 - A + 1) 0 0 Mod(2/5*A^3 - 4/5*A^2 + 1/5*A + 2/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 Mod(6/5*A^3 - 2/5*A^2 + 3/5*A - 4/5, A^4 - A^3 + A^2 - A + 1) Mod(-4/5*A^3 + 3/5*A^2 - 2/5*A + 1/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 Mod(2/5*A^3 - 4/5*A^2 + 1/5*A + 2/5, A^4 - A^3 + A^2 - A + 1) Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) 0 0 Mod(-8/5*A^3 + 11/5*A^2 - 4/5*A - 3/5, A^4 - A^3 + A^2 - A + 1)] [0 Mod(22/5*A^3 - 4/5*A^2 + 11/5*A - 18/5, A^4 - A^3 + A^2 - A + 1) 0 Mod(14/5*A^3 - 3/5*A^2 + 7/5*A - 11/5, A^4 - A^3 + A^2 - A + 1) Mod(-8/5*A^3 + 1/5*A^2 - 4/5*A + 7/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 Mod(14/5*A^3 - 3/5*A^2 + 7/5*A - 11/5, A^4 - A^3 + A^2 - A + 1) Mod(-8/5*A^3 + 1/5*A^2 - 4/5*A + 7/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 Mod(-6/5*A^3 + 2/5*A^2 - 3/5*A + 4/5, A^4 - A^3 + A^2 - A + 1) 0 Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) Mod(-6/5*A^3 + 2/5*A^2 - 3/5*A + 4/5, A^4 - A^3 + A^2 - A + 1) Mod(2/5*A^3 + 1/5*A^2 + 1/5*A - 3/5, A^4 - A^3 + A^2 - A + 1)] [0 Mod(14/5*A^3 - 3/5*A^2 + 7/5*A - 11/5, A^4 - A^3 + A^2 - A + 1) 0 0 Mod(-6/5*A^3 + 2/5*A^2 - 3/5*A + 4/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 Mod(22/5*A^3 - 4/5*A^2 + 11/5*A - 18/5, A^4 - A^3 + A^2 - A + 1) Mod(-8/5*A^3 + 1/5*A^2 - 4/5*A + 7/5, A^4 - A^3 + A^2 - A + 1) 0 0 Mod(14/5*A^3 - 3/5*A^2 + 7/5*A - 11/5, A^4 - A^3 + A^2 - A + 1) Mod(-8/5*A^3 + 1/5*A^2 - 4/5*A + 7/5, A^4 - A^3 + A^2 - A + 1) 0 Mod(-6/5*A^3 + 2/5*A^2 - 3/5*A + 4/5, A^4 - A^3 + A^2 - A + 1) Mod(-2/5*A^3 + 4/5*A^2 - 1/5*A + 3/5, A^4 - A^3 + A^2 - A + 1) Mod(2/5*A^3 + 1/5*A^2 + 1/5*A - 3/5, A^4 - A^3 + A^2 - A + 1)] [0 Mod(58/5*A^3 - 11/5*A^2 + 29/5*A - 47/5, A^4 - A^3 + A^2 - A + 1) 0 Mod(58/5*A^3 - 11/5*A^2 + 29/5*A - 47/5, A^4 - A^3 + A^2 - A + 1) Mod(-36/5*A^3 + 7/5*A^2 - 18/5*A + 29/5, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 Mod(58/5*A^3 - 11/5*A^2 + 29/5*A - 47/5, A^4 - A^3 + A^2 - A + 1) Mod(-36/5*A^3 + 7/5*A^2 - 18/5*A + 29/5, A^4 - A^3 + A^2 - A + 1) 0 0 Mod(58/5*A^3 - 11/5*A^2 + 29/5*A - 47/5, A^4 - A^3 + A^2 - A + 1) Mod(-36/5*A^3 + 7/5*A^2 - 18/5*A + 29/5, A^4 - A^3 + A^2 - A + 1) Mod(58/5*A^3 - 11/5*A^2 + 29/5*A - 47/5, A^4 - A^3 + A^2 - A + 1) Mod(-36/5*A^3 + 7/5*A^2 - 18/5*A + 29/5, A^4 - A^3 + A^2 - A + 1) Mod(-36/5*A^3 + 7/5*A^2 - 18/5*A + 29/5, A^4 - A^3 + A^2 - A + 1) Mod(4*A^3 + 2*A - 3, A^4 - A^3 + A^2 - A + 1)] (09:26) gp > j) ?slalom shows the code for the command slalom: (09:26) gp > ?slalom slalom(boom, k, inp) = local(res, dim, m, slalomA); if(TYPE!=k,if(k>0,init_so(k,1),init_su(-k,1))); DO_S_matr=1;init_boom(boom,inp);dim=matsize(BoomBasis)[2]; res=s2t(twB(1));if(BoomLengte>1,for(r=2,BoomLengte, res=mult_sparse(res,twB(r))););slalomA=vector(dim+2); slalomA[1]=[dim,dim,"M"];slalomA[dim+2]=[0,0,0]; for(u=2,dim+1,m=mu(BoomBasis[u-1][1][1],POL)*\ prod(ii=2,BoomLengte,mu(BoomBasis[u-1][1][2*BoomLengte-1+ii],POL)); slalomA[u]=[u-1,u-1,1/m]);mult_sparse(res,slalomA); If you wish to see the code for mult_sparse do: (09:27) gp > ?mult_sparse mult_sparse(t, s) = local(res, u, a, b, i); a=matsize(t)[1];b=matsize(t)[2]; u=2;i=s[u][1];res=matrix(a,b); while(i>0,res[,s[u][2]]=res[,s[u][2]]+s[u][3]*t[,i];u++;i=s[u][1]);res (09:29) gp > k) try the command "T=slalom([0,1,1],3,2);T" which computes the product of the matrices of the twists twA(1),twA(7),twA(8),twB(1),twB(2),twB(3). This product is the action in TQFT of the monodromy of the E_6 plane curve singularity {y^3-x^4=0} with level k=3 and input color at the boundary inp=2: (09:42) gp > T=slalom([0,1,1],3,2);lift(T) time = 480 ms. [1/5*A^3 - 1/5*A^2 - 3/5 -1/5*A^3 - 2/5*A + 2/5 0 0 0 0 3/5*A^3 + 1/5*A - 1/5 3/5*A^3 + 1/5*A - 1/5 -2/5*A^3 + 1/5*A - 1/5 0 0 0 0 0 1/5*A^2 + 2/5*A + 1/5 -3/5*A^2 + 4/5*A - 3/5 1/5*A^2 + 2/5*A + 1/5 1/5*A^2 - 3/5*A + 1/5 -3/5*A^2 + 4/5*A - 3/5 7/5*A^2 - 11/5*A + 7/5] [-2/5*A^3 + 2/5*A^2 + 1/5 -3/5*A^3 - 1/5*A + 1/5 0 0 0 0 -1/5*A^3 - 2/5*A + 2/5 -1/5*A^3 - 2/5*A + 2/5 -1/5*A^3 + 3/5*A - 3/5 0 0 0 0 0 3/5*A^2 + 1/5*A + 3/5 1/5*A^2 - 3/5*A + 1/5 3/5*A^2 + 1/5*A + 3/5 -2/5*A^2 + 1/5*A - 2/5 1/5*A^2 - 3/5*A + 1/5 -4/5*A^2 + 7/5*A - 4/5] [0 0 -1/5*A^3 - 2/5*A^2 - 1/5*A 1/5*A^3 - 1/5*A^2 - 3/5 -3/5*A^3 + 3/5*A^2 - 1/5 0 0 0 0 1/5*A^3 - 1/5*A^2 - 3/5 -1/5*A^3 - 2/5*A + 2/5 0 1/5*A^3 - 1/5*A^2 - 3/5 1/5*A^3 - 1/5*A^2 + 2/5 0 0 3/5*A^3 + 1/5*A - 1/5 1/5*A^3 - 3/5*A + 3/5 -2/5*A^3 + 1/5*A - 1/5 -4/5*A^3 + 7/5*A - 7/5] [0 0 3/5*A^3 + 1/5*A - 1/5 1/5*A^3 - 1/5*A^2 - 3/5 1/5*A^3 - 3/5*A + 3/5 0 0 0 0 1/5*A^2 + 2/5*A + 1/5 -4/5*A^3 + 1/5*A^2 - 1/5*A + 4/5 2/5*A^3 + 1/5*A^2 - 4/5*A + 2/5 1/5*A^2 + 2/5*A + 1/5 1/5*A^2 - 3/5*A + 1/5 -4/5*A^3 + 3/5*A^2 - 2/5*A + 6/5 1/5*A^3 - 2/5*A^2 + 3/5*A - 4/5 1/5*A^2 + 2/5*A + 1/5 2/5*A^3 - 2/5*A^2 - 1/5 1/5*A^2 - 3/5*A + 1/5 -3/5*A^3 + 3/5*A^2 - 1/5] [0 0 4/5*A^3 - 4/5*A^2 - 7/5 4/5*A^3 - 4/5*A^2 - 7/5 -4/5*A^3 + 1/5*A^2 - 1/5*A + 4/5 0 0 0 0 7/5*A^3 + 4/5*A - 4/5 7/5*A^2 + 4/5*A + 7/5 -1/5*A^3 - 3/5*A^2 - 3/5*A - 1/5 7/5*A^3 + 4/5*A - 4/5 -3/5*A^3 - 1/5*A + 1/5 7/5*A^3 + 11/5*A^2 + 11/5*A + 7/5 -3/5*A^3 - 4/5*A^2 - 4/5*A - 3/5 11/5*A^3 + 7/5*A^2 + 11/5*A -4/5*A^3 - 4/5*A^2 - 6/5*A - 1/5 -4/5*A^3 - 3/5*A^2 - 4/5*A 1/5*A^3 + 1/5*A^2 + 4/5*A - 1/5] [0 0 0 0 0 -3/5*A^3 + 2/5*A^2 - 2/5*A + 3/5 0 -1/5*A^3 - 2/5*A^2 - 1/5*A 3/5*A^3 - 4/5*A^2 + 3/5*A 0 0 0 -1/5*A^3 - 2/5*A^2 - 1/5*A 3/5*A^3 - 4/5*A^2 + 3/5*A 0 0 1/5*A^3 - 1/5*A^2 - 3/5 -3/5*A^3 + 3/5*A^2 - 1/5 -3/5*A^3 + 3/5*A^2 - 1/5 -11/5*A^3 + 11/5*A^2 - 7/5] [-1/5*A^3 - 2/5*A^2 - 1/5*A -2/5*A^3 + 2/5*A^2 + 1/5 0 0 0 0 -3/5*A^3 + 2/5*A^2 - 2/5*A + 3/5 -1/5*A^3 - 2/5*A^2 - 1/5*A -1/5*A^3 + 3/5*A^2 - 1/5*A 0 0 0 0 0 -1/5*A^3 - 2/5*A^2 - 1/5*A 3/5*A^3 - 4/5*A^2 + 3/5*A 1/5*A^3 - 1/5*A^2 - 3/5 1/5*A^3 - 1/5*A^2 + 2/5 -3/5*A^3 + 3/5*A^2 - 1/5 7/5*A^3 - 7/5*A^2 + 4/5] [1/5*A^3 - 1/5*A^2 - 3/5 -1/5*A^3 - 2/5*A + 2/5 0 0 0 1/5*A^3 - 1/5*A^2 - 3/5 1/5*A^3 - 1/5*A^2 - 3/5 -3/5*A^2 - 1/5*A - 3/5 -2/5*A^3 + 2/5*A^2 + 1/5 0 0 0 3/5*A^3 + 1/5*A - 1/5 1/5*A^3 - 3/5*A + 3/5 3/5*A^3 + 1/5*A - 1/5 1/5*A^3 - 3/5*A + 3/5 4/5*A^3 - 1/5*A^2 + 1/5*A - 4/5 -1/5*A^3 - 2/5*A + 2/5 -2/5*A^3 + 3/5*A^2 - 3/5*A + 2/5 3/5*A^3 - 4/5*A + 4/5] [-7/5*A^3 - 4/5*A^2 - 7/5*A -4/5*A^3 + 4/5*A^2 + 7/5 0 0 0 -4/5*A^3 - 3/5*A^2 - 4/5*A -7/5*A^3 - 4/5*A^2 - 7/5*A -11/5*A^3 - 7/5*A^2 - 11/5*A 3/5*A^3 + 4/5*A^2 + 4/5*A + 3/5 0 0 0 4/5*A^3 - 4/5*A^2 - 7/5 -2/5*A^3 + 2/5*A^2 + 1/5 7/5*A^3 - 7/5*A^2 - 11/5 -1/5*A^3 + 1/5*A^2 + 3/5 11/5*A^3 - 11/5*A^2 - 18/5 -7/5*A^3 + 4/5*A^2 - 1/5*A + 8/5 -3/5*A^3 + 3/5*A^2 + 4/5 1/5*A^3 - 2/5*A^2 + 3/5*A - 4/5] [0 0 1/5*A^3 - 1/5*A^2 - 3/5 3/5*A^3 + 1/5*A - 1/5 1/5*A^3 - 3/5*A + 3/5 0 0 0 0 -1/5*A^3 - 2/5*A^2 - 1/5*A -2/5*A^3 + 2/5*A^2 + 1/5 0 1/5*A^3 - 1/5*A^2 - 3/5 1/5*A^3 - 1/5*A^2 + 2/5 0 0 3/5*A^3 + 1/5*A - 1/5 1/5*A^3 - 3/5*A + 3/5 -2/5*A^3 + 1/5*A - 1/5 -4/5*A^3 + 7/5*A - 7/5] [0 0 -2/5*A^3 + 2/5*A^2 + 1/5 4/5*A^3 + 3/5*A - 3/5 -2/5*A^3 + 1/5*A - 1/5 0 0 0 0 2/5*A^3 - 1/5*A^2 + 2/5*A -1/5*A^3 + 1/5*A^2 + 3/5 0 -2/5*A^3 + 2/5*A^2 + 1/5 3/5*A^3 - 3/5*A^2 + 1/5 0 0 4/5*A^3 + 3/5*A - 3/5 -2/5*A^3 + 1/5*A - 1/5 -1/5*A^3 - 2/5*A + 2/5 3/5*A^3 - 4/5*A + 4/5] [0 0 0 14/5*A^3 - 3/5*A^2 + 7/5*A - 11/5 -6/5*A^3 + 2/5*A^2 - 3/5*A + 4/5 0 0 0 0 0 0 -2/5*A^3 + 4/5*A^2 - 1/5*A + 3/5 0 0 14/5*A^3 - 3/5*A^2 + 7/5*A - 11/5 -6/5*A^3 + 2/5*A^2 - 3/5*A + 4/5 22/5*A^3 - 4/5*A^2 + 11/5*A - 18/5 -8/5*A^3 + 1/5*A^2 - 4/5*A + 7/5 -8/5*A^3 + 1/5*A^2 - 4/5*A + 7/5 2/5*A^3 + 1/5*A^2 + 1/5*A - 3/5] [0 0 1/5*A^3 - 1/5*A^2 - 3/5 3/5*A^3 + 1/5*A - 1/5 1/5*A^3 - 3/5*A + 3/5 1/5*A^3 - 1/5*A^2 - 3/5 0 3/5*A^3 + 1/5*A - 1/5 1/5*A^3 - 3/5*A + 3/5 1/5*A^3 - 1/5*A^2 - 3/5 -1/5*A^3 - 2/5*A + 2/5 0 -3/5*A^2 - 1/5*A - 3/5 -2/5*A^3 + 2/5*A^2 + 1/5 0 0 4/5*A^3 - 1/5*A^2 + 1/5*A - 4/5 -2/5*A^3 + 3/5*A^2 - 3/5*A + 2/5 -1/5*A^3 - 2/5*A + 2/5 3/5*A^3 - 4/5*A + 4/5] [0 0 -7/5*A^3 - 4/5*A^2 - 7/5*A 7/5*A^3 - 7/5*A^2 - 11/5 -1/5*A^3 + 1/5*A^2 + 3/5 -4/5*A^3 - 3/5*A^2 - 4/5*A 0 4/5*A^3 - 4/5*A^2 - 7/5 -2/5*A^3 + 2/5*A^2 + 1/5 -7/5*A^3 - 4/5*A^2 - 7/5*A -4/5*A^3 + 4/5*A^2 + 7/5 0 -11/5*A^3 - 7/5*A^2 - 11/5*A 3/5*A^3 + 4/5*A^2 + 4/5*A + 3/5 0 0 11/5*A^3 - 11/5*A^2 - 18/5 -3/5*A^3 + 3/5*A^2 + 4/5 -7/5*A^3 + 4/5*A^2 - 1/5*A + 8/5 1/5*A^3 - 2/5*A^2 + 3/5*A - 4/5] [3/5*A^3 + 1/5*A - 1/5 3/5*A^2 + 1/5*A + 3/5 0 1/5*A^3 + 3/5*A^2 + 3/5*A + 1/5 1/5*A^3 - 2/5*A^2 - 2/5*A + 1/5 0 1/5*A^3 - 1/5*A^2 - 3/5 3/5*A^3 + 1/5*A - 1/5 -2/5*A^3 + 1/5*A - 1/5 0 0 -3/5*A^3 + 1/5*A^2 + 1/5*A - 3/5 0 0 -1/5*A^3 - 2/5*A^2 - 1/5*A -3/5*A^3 + 3/5*A^2 - 1/5 3/5*A^3 + 1/5*A - 1/5 -2/5*A^3 + 1/5*A - 1/5 -2/5*A^3 + 1/5*A^2 - 2/5*A 3/5*A^3 - 4/5*A^2 + 3/5*A] [4/5*A^3 - 4/5*A^2 - 7/5 11/5*A^3 + 7/5*A - 7/5 0 22/5*A^3 - 4/5*A^2 + 11/5*A - 18/5 -8/5*A^3 + 1/5*A^2 - 4/5*A + 7/5 0 -4/5*A^3 - 3/5*A^2 - 4/5*A 4/5*A^3 - 4/5*A^2 - 7/5 -1/5*A^3 + 1/5*A^2 + 3/5 0 0 -6/5*A^3 + 2/5*A^2 - 3/5*A + 4/5 0 0 -4/5*A^3 - 3/5*A^2 - 4/5*A 3/5*A^2 + 1/5*A + 3/5 18/5*A^3 - 7/5*A^2 + 7/5*A - 18/5 -7/5*A^3 + 3/5*A^2 - 3/5*A + 7/5 -2*A^3 + 3/5*A^2 - 4/5*A + 8/5 A^3 - 2/5*A^2 + 1/5*A - 2/5] [1/5*A^2 + 2/5*A + 1/5 -4/5*A^3 + 1/5*A^2 - 1/5*A + 4/5 1/5*A^2 + 2/5*A + 1/5 1/5*A^2 + 2/5*A + 1/5 2/5*A^3 - 2/5*A^2 - 1/5 1/5*A^2 + 2/5*A + 1/5 1/5*A^2 + 2/5*A + 1/5 3/5*A^3 + 1/5*A^2 + 3/5*A -2/5*A^2 + 1/5*A - 2/5 1/5*A^2 + 2/5*A + 1/5 -4/5*A^3 + 1/5*A^2 - 1/5*A + 4/5 1/5*A^3 - 2/5*A^2 + 3/5*A - 4/5 3/5*A^3 + 1/5*A^2 + 3/5*A -2/5*A^2 + 1/5*A - 2/5 1/5*A^2 + 2/5*A + 1/5 2/5*A^3 - 2/5*A^2 - 1/5 4/5*A^3 + 3/5*A - 3/5 1/5*A^3 - 2/5*A^2 - 2/5*A + 1/5 1/5*A^3 - 2/5*A^2 - 2/5*A + 1/5 -3/5*A^3 - 1/5*A^2 + 7/5*A - 1] [11/5*A^3 + 7/5*A - 7/5 11/5*A^2 + 7/5*A + 11/5 7/5*A^3 + 4/5*A - 4/5 11/5*A^3 + 7/5*A^2 + 11/5*A -4/5*A^3 - 4/5*A^2 - 6/5*A - 1/5 7/5*A^3 + 4/5*A - 4/5 11/5*A^3 + 7/5*A - 7/5 18/5*A^3 + 11/5*A - 11/5 -7/5*A^3 - 1/5*A^2 - 6/5*A + 3/5 7/5*A^3 + 4/5*A - 4/5 7/5*A^2 + 4/5*A + 7/5 -3/5*A^3 - 4/5*A^2 - 4/5*A - 3/5 11/5*A^3 - 4/5*A^2 + 4/5*A - 11/5 -4/5*A^3 - 3/5*A + 3/5 11/5*A^3 + 7/5*A - 7/5 -4/5*A^3 - 3/5*A^2 - 4/5*A 22/5*A^3 - 4/5*A^2 + 11/5*A - 18/5 -11/5*A^3 - 7/5*A + 7/5 -8/5*A^3 - 3/5*A^2 - 7/5*A + 3/5 2/5*A^3 + 4/5*A^2 + 2/5*A] [7/5*A^3 + 4/5*A - 4/5 7/5*A^2 + 4/5*A + 7/5 11/5*A^3 + 7/5*A - 7/5 11/5*A^3 + 7/5*A - 7/5 -4/5*A^3 - 3/5*A^2 - 4/5*A 7/5*A^3 + 4/5*A - 4/5 7/5*A^3 + 4/5*A - 4/5 11/5*A^3 - 4/5*A^2 + 4/5*A - 11/5 -4/5*A^3 - 3/5*A + 3/5 11/5*A^3 + 7/5*A - 7/5 11/5*A^2 + 7/5*A + 11/5 -3/5*A^3 - 4/5*A^2 - 4/5*A - 3/5 18/5*A^3 + 11/5*A - 11/5 -7/5*A^3 - 1/5*A^2 - 6/5*A + 3/5 11/5*A^3 + 7/5*A^2 + 11/5*A -4/5*A^3 - 4/5*A^2 - 6/5*A - 1/5 22/5*A^3 - 4/5*A^2 + 11/5*A - 18/5 -8/5*A^3 - 3/5*A^2 - 7/5*A + 3/5 -11/5*A^3 - 7/5*A + 7/5 2/5*A^3 + 4/5*A^2 + 2/5*A] [18/5*A^3 - 18/5*A^2 - 29/5 47/5*A^3 + 29/5*A - 29/5 18/5*A^3 - 18/5*A^2 - 29/5 76/5*A^3 - 29/5*A^2 + 29/5*A - 76/5 -8*A^3 + 11/5*A^2 - 18/5*A + 36/5 11/5*A^3 - 11/5*A^2 - 18/5 18/5*A^3 - 18/5*A^2 - 29/5 29/5*A^3 - 29/5*A^2 - 47/5 -18/5*A^3 + 11/5*A^2 - 4/5*A + 22/5 18/5*A^3 - 18/5*A^2 - 29/5 47/5*A^3 + 29/5*A - 29/5 -36/5*A^3 + 7/5*A^2 - 18/5*A + 29/5 29/5*A^3 - 29/5*A^2 - 47/5 -18/5*A^3 + 11/5*A^2 - 4/5*A + 22/5 76/5*A^3 - 29/5*A^2 + 29/5*A - 76/5 -8*A^3 + 11/5*A^2 - 18/5*A + 36/5 21*A^3 - 58/5*A^2 + 29/5*A - 123/5 -58/5*A^3 + 22/5*A^2 - 22/5*A + 58/5 -58/5*A^3 + 22/5*A^2 - 22/5*A + 58/5 29/5*A^3 - 7/5*A^2 + 14/5*A - 5] (11:04) gp > The monodromy of E_6 is of order 12. We verify (remember that TQFT are projective): (09:43) gp > T^12 time = 370 ms. [Mod(-A^3, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [0 Mod(-A^3, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 Mod(-A^3, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 Mod(-A^3, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 0 Mod(-A^3, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 Mod(-A^3, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 Mod(-A^3, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 Mod(-A^3, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 Mod(-A^3, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 Mod(-A^3, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 Mod(-A^3, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 Mod(-A^3, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 Mod(-A^3, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 Mod(-A^3, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 Mod(-A^3, A^4 - A^3 + A^2 - A + 1) 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Mod(-A^3, A^4 - A^3 + A^2 - A + 1) 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Mod(-A^3, A^4 - A^3 + A^2 - A + 1) 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Mod(-A^3, A^4 - A^3 + A^2 - A + 1) 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Mod(-A^3, A^4 - A^3 + A^2 - A + 1) 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Mod(-A^3, A^4 - A^3 + A^2 - A + 1)] (09:44) gp > l) Working with the tree [0,1,2,3, ... ,g-1] enables you to compute the action on the Verlinde modules of the standard Lickorish and Humphries generators of the mapping class group. In our numbering are twB(1),twA(2g+1),twB(2), .... ,twA(2g+g-1),twB(g),twA(g) the images of the Humphries generators A_1,A_2, ... ,A_2g and twA(g-2) is the image of the extra generator. V A sample session. ------------------ In the following example the actions T and S are the monodromy actions of the slalom knots [0,1,1,1,3] and [0,1,1,1,4], i.e. the knots 13n1291 and 13n1320 as listed by KNOTSCAPE. These knots are Conway mutant, so they have equal Jones and Kauffman polynomials. The Khovanov Homologies can be computed by the programm KhoHo of Alexander Shumakovitch, see http:www.geometrie.ch/KhoHo. It turns out that the Khovanov Homology does not distinguish these knots either. The following sample session shows that the monodromy diffeomorphisms of the fibered knots 13n1291 and 13n1320 act differently on the Verlinde modules, level = 3 in so-theory, of the fibers. The fibers have genus 5 and the matrices of the monodromy actions are not conjugate. It follows that the knots are inequivalent. At startup pari executes the commands of our file TQ as asked for in .gprc. We have two lines in TQ: 105 >cat TQ read("tqft.gp"); \\init_so(3,1); 106 >gp64 Reading GPRC: .gprc ...Done. GP/PARI CALCULATOR Version 2.2.6 (development) x86_64 running linux (C portable kernel) 64-bit version compiled: Jun 23 2003, gcc-3.2.2 20030313 (Red Hat Linux 3.2.2-10) (readline v4.3 enabled, extended help available) Copyright (C) 2003 The PARI Group PARI/GP is free software, covered by the GNU General Public License, and comes WITHOUT ANY WARRANTY WHATSOEVER. Type ? for help, \q to quit. Type ?12 for how to get moral (and possibly technical) support. realprecision = 38 significant digits seriesprecision = 16 significant terms format = g0.38 parisize = 7500000000, primelimit = 1000000 (16:48) gp > T=slalom([0,1,1,1,3],3,0); time = 20,660 ms. (16:52) gp > S=slalom([0,1,1,1,4],3,0); time = 20,560 ms. (16:53) gp > t=trace(T) time = 10 ms. Mod(5*A^3 + 3*A - 3, A^4 - A^3 + A^2 - A + 1) (16:53) gp > s=trace(S) time = 0 ms. Mod(5*A^3 + 3*A - 3, A^4 - A^3 + A^2 - A + 1) (16:53) gp > d1=t-s time = 0 ms. 0 (16:53) gp > d2=trace(T^2-S^2) time = 1mn, 48,720 ms. 0 (16:55) gp > d3=trace(T^3-S^3) time = 4mn, 27,940 ms. Mod(-9*A^3 + 6*A^2 - 3*A + 12, A^4 - A^3 + A^2 - A + 1) (17:00) gp > VI Elements of infinite order. ---------------------------- The matrix [2,1;1,1] acts on the 1-punctured torus. The action on the so- module of level 5 and input color 2 is of infinite order: whitney: /home/nac/TQFT 109 >gp64 -q (17:00) gp > init_so(5,0) time = 0 ms. [5, A^6 - A^5 + A^4 - A^3 + A^2 - A + 1] (17:00) gp > init_boom([0],2); time = 0 ms. (17:00) gp > t=twA(1)/twB(1) time = 10 ms. [Mod(-3/7*A^5 - 1/7*A^4 - 2/7*A^3 + 5/7*A^2 - 1/7*A + 4/7, A^6 - A^5 + A^4 - A^3 + A^2 - A + 1) Mod(-3/7*A^5 - 1/7*A^4 - 2/7*A^3 + 5/7*A^2 - 1/7*A - 3/7, A^6 - A^5 + A^4 - A^3 + A^2 - A + 1)] [Mod(3/7*A^5 + 1/7*A^4 + 2/7*A^3 + 2/7*A^2 + 1/7*A + 3/7, A^6 - A^5 + A^4 - A^3 + A^2 - A + 1) Mod(-4/7*A^5 + 1/7*A^4 + 2/7*A^3 + 2/7*A^2 + 1/7*A + 3/7, A^6 - A^5 + A^4 - A^3 + A^2 - A + 1)] (17:00) gp > a=trace(t) time = 0 ms. Mod(-A^5 + A^2 + 1, A^6 - A^5 + A^4 - A^3 + A^2 - A + 1) (17:00) gp > d=matdet(t) time = 0 ms. Mod(1, A^6 - A^5 + A^4 - A^3 + A^2 - A + 1) (17:00) gp > normk(a) time = 0 ms. 2.2469796037174670610500097680084796213 (17:01) gp > The command normk(a) computes the maximal absolut value of s(a) over the embeddings of Q[A]/(POL) into C. (10:49) gp > ?normk normk(a) = local(kk, mx); kk=2*klevel+4; mx=0;for(i=0,kk/2-1,if(gcd(1+2*i,kk)==1, mx=max(mx,abs(subst(lift(a),A,exp(2*Pi*(2*i+1)*I/kk))))));mx (10:51) gp > Since the dimension of the module is 2, determinant(t)=1, normk(trace(t)) > 2, we conclude that t is of infinite order. VII. Integral bases and matrices -------------------------------- The file extra.gp contains the functions saturb(boom,k,inp). The function saturb(boom,k,inp) compute an integral bases for the so_module of the fibersurface of the tree boom with one by inp colored puncture and for the odd level k. The case inp=0 corresponds to a surface without punctures. The case boom=[0,1, ... ,g-1] corresponds to the ladder labeling of the generators in the mapping class group. whitney: /home/nac/TQFT 104 >gp64 (13:23) gp > S=saturb([0,1],3,0); so, KLEVEL= 3, POL= A^4 - A^3 + A^2 - A + 1 iter=1 , index= 625 , 5*A - 5 iter=2 , index= 5 , -A^3 - 1 iter=3 , index= 1 , 1 time = 130 ms. The collumns of the matrix s=S[1] are a bases of a lattice in (Q(A)/(POL)^5 that is invariant under the mapping class group. (13:23) gp > s=S[1]; time = 0 ms. (13:23) gp > lift(s) time = 0 ms. [1 4/5*A^3 + 2/5*A^2 + 2/5*A - 6/5 4/5*A^3 + 2/5*A^2 + 2/5*A - 6/5 4/5*A^3 + 2/5*A^2 + 2/5*A - 6/5 4/5*A^3 - 4/5*A^2 - 2/5] [0 2/5*A^3 + 1/5*A^2 + 1/5*A - 3/5 0 0 2/5*A^3 - 2/5*A^2 - 1/5] [0 0 2/5*A^3 + 1/5*A^2 + 1/5*A - 3/5 0 2/5*A^3 - 2/5*A^2 - 1/5] [0 0 0 2/5*A^3 + 1/5*A^2 + 1/5*A - 3/5 2/5*A^3 - 2/5*A^2 - 1/5] [0 0 0 0 -2/5*A^3 + 2/5*A^2 + 1/5] The matrix of the Coxeter element with respect to the basis of admissible colorings is not with integral entries in Q(A)/(POL). (13:23) gp > c=coxeter([0,1],3,0); so, KLEVEL= 3, POL= A^4 - A^3 + A^2 - A + 1 time = 30 ms. (13:23) gp > lift(c) time = 0 ms. [1/5*A^2 + 2/5*A + 1/5 1/5*A^3 + 1/5*A^2 - 1/5*A - 1/5 -2/5*A^2 + 1/5*A - 2/5 1/5*A^3 + 1/5*A^2 - 1/5*A - 1/5 -3/5*A^3 + 7/5*A^2 - 7/5*A + 3/5] [-2/5*A^2 + 1/5*A - 2/5 3/5*A^3 - 2/5*A^2 + 2/5*A - 3/5 -1/5*A^2 - 2/5*A - 1/5 -2/5*A^3 + 3/5*A^2 - 3/5*A + 2/5 1/5*A^3 - 4/5*A^2 + 4/5*A - 1/5] [-2/5*A^2 + 1/5*A - 2/5 -2/5*A^3 + 3/5*A^2 - 3/5*A + 2/5 -1/5*A^2 - 2/5*A - 1/5 3/5*A^3 - 2/5*A^2 + 2/5*A - 3/5 1/5*A^3 - 4/5*A^2 + 4/5*A - 1/5] [-2/5*A^2 + 1/5*A - 2/5 3/5*A^3 - 2/5*A^2 + 2/5*A - 3/5 -1/5*A^2 + 3/5*A - 1/5 3/5*A^3 - 2/5*A^2 + 2/5*A - 3/5 1/5*A^3 - 4/5*A^2 + 4/5*A - 1/5] [-3/5*A^2 - 1/5*A - 3/5 7/5*A^3 - 3/5*A^2 + 3/5*A - 7/5 -4/5*A^2 - 3/5*A - 4/5 7/5*A^3 - 3/5*A^2 + 3/5*A - 7/5 -6/5*A^3 + 4/5*A^2 - 4/5*A + 6/5] The matrix 1/s*c*s has integral entries. (13:24) gp > 1/s*c*s; time = 10 ms. (13:24) gp > lift(%) time = 0 ms. [5*A^2 + 5 13*A^3 - 5*A^2 + 8*A - 14 13*A^3 - 9*A^2 + 5*A - 18 13*A^3 - 5*A^2 + 8*A - 14 9*A^3 - 9*A^2 - 13] [A^3 + A^2 2*A^3 - 3*A^2 + A - 4 -3*A^2 - A - 3 A^3 - 2*A^2 - 3 -A^3 - 2*A^2 - 2*A - 1] [A^3 + A^2 A^3 - 2*A^2 - 3 -3*A^2 - A - 3 2*A^3 - 3*A^2 + A - 4 -A^3 - 2*A^2 - 2*A - 1] [A^3 + A^2 2*A^3 - 3*A^2 + A - 4 -3*A^2 - 3 2*A^3 - 3*A^2 + A - 4 -A^3 - A^2 - 3*A - 1] [-A^2 - A - 1 -5*A^3 + A^2 - 2*A + 4 -5*A^3 + 3*A^2 - A + 6 -5*A^3 + A^2 - 2*A + 4 -4*A^3 + 4*A^2 - A + 6]