Computing Sarkisov links between 4-dimensional terminal wps =========================================================== We describe the web of Sarkisov links available from http://grdb.co.uk/Downloads see section titled: Sarkisov links in dimension 4 (*) It records the output of a collection of 1,089,104 Sarkisov links between the 4-dimensional weighted projective spaces (wps). This is described in Gavin Brown, Jaroslaw Buczynski and Alexander Kasprzyk, "Toric Sarkisov Links", 2022. The list of 35,947 terminal 4-dimensional wps is also available from (*). The Magma code to compute Sarkisov links from any such wps X is in 'sarkisov4.tar.gz' also available from (*). The Sarkisov links recorded above are produced by running (in Magma), for example on P(1,3,11,20,26), > load "sarkisov4.m"; > X := WPS(Rationals(),[1,3,11,20,26]); > numdata,toricvars := SarkisovLinks(X : max_discrep := 2); (takes approx 15 seconds) on each of the wps. The numerical data described below is printed to screen, and that is the data recorded at (*). This numerical data is recorded in the output sequence 'numdata'. The toric varieties that appear in the link are recorded as Magma output in the sequence 'toricvars'. That is: for each X we calculate: (1) all point blowups of discrepancy at most 5 ("max_discrep := 5"); (2) for each smooth toric 1-stratum, the usual blowup; (3) for each singular toric 1-stratum, all blowups of least discrepancy; (2) for each smooth toric 2-stratum, the usual blowup; (3) for each singular toric 2-stratum, all blowups of least discrepancy; and then extend each 2-ray game, recording those that result in a (terminal) Sarkisov link, and discarding those which lead to non-terminal singularities. Each Sarkisov link in the output records the following data: start: the initial wps X blowup: the weights of the terminal extraction X <- Y1 .. then any antiflip / flop / flip given by their weights .. then blowdown of mfs (= Mori fibre space) with weights and image data. E.g.1 ----- wps(1,1,1,1,1) blowup(-1,1,1,1,1) mfs(4,3) tv(1,0,0,0,0,1)(1,1,1,1,1,0) base_wps(1,1,1,1) reports a link: X <- Y -> Z start: X = P^4 = P(1,1,1,1,1) blowup: the blowup X <- Y with weights (-1,1,1,1,1) = usual point blowup Mori fibre space mfs(4,3) Y -> Z to a base wps Z = P^3 = P(1,1,1,1) For Mori fibre spaces, we include the weights of Y as tv(row1)(row2), leaving the polarisation implicit. E.g.2 ----- wps(1,1,1,1,1)[0,1/3,2/3,2/3,1/3] blowup(-3,1,2,3,10) antiflip(3,1,-1,-2,-9) antiflip(3,2,1,-1,-8) blowdown(3,3,2,1,-7) wps(8,10,9,7,3) reports a link: X <- Y1 - -> Y2 - -> Y3 -> Z start: "fake" wps X = P^4 / (Z/3)(0,1,2,2,1) blowup: weighted blowup (-3,1,2,3,10) codim 1 steps: antiflip with weights (3,1,-1,-2,-9) [i.e. replace P(3,1) by P(1,2,9)] followed by antiflip with weights (3,2,1,-1,-8) [i.e. replace P(3,2,1) by P(1,8)] blowdown: weighted (3,3,2,1,-7) end of link: P(3,7,8,9,10)