27
Algorithms for lattices Markus Kirschmer RWTH Aachen University June 2016 Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 1 / 27

RWTH Aachen University - phpLDAPadmin (1.2.1.1) › ~haensch › index_files › Kirschmer.pdf1 Abilinearspace(V,) is a finite dimensional vector space V over K equipped with some

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • Algorithms for lattices

    Markus Kirschmer

    RWTH Aachen University

    June 2016

    Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 1 / 27

  • Bilinear spaces

    Let K be an algebraic number field with ring of integers ZK . Let ⌦ be theset of places of K and P denotes the prime ideals of ZK .

    Definition1 A bilinear space (V,�) is a finite dimensional vector space V over K

    equipped with some regular bilinear form � : V ⇥ V ! K.2 Two bilinear spaces (V,�) and (V 0,�0) are said to be isometric, if

    there exists some isomorphism ' 2 HomK(V, V 0) such that

    0('(x),'(y)) = �(x, y) for all x, y 2 V .

    Then ' is called an isometry.

    3 O(V,�) = {' : V ! V | ' an isometry} the orthogonal group of(V,�).

    Given a place v 2 ⌦, let Kv and Vv := V ⌦K Kv be the completions of Kand V at v.

    Then � extends to some bilinear form � : Vv ⇥ Vv ! Kv.Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 2 / 27

  • Theorem (Local-Global Principle, Hasse-Kneser-Landherr-Springer)

    The spaces (V,�) and (V

    0,�

    0) are isometric if and only if the completions

    (Vv,�) and (V0v ,�

    0) are isometric for every place v of K.

    This yields classifications of global bilinear spaces via the followinginvariants:

    1 The rank m of V .2 The determinant.3 The signature of (Vv,�) at the real places v of K.4 The finite set {p 2 P | Hasse(Vp,�) = �1}.

    Definition

    A bilinear space (V,�) over K is said to be (totally positive) definite if

    1K is totally real

    2�(x, x) is totally positive for all nonzero x 2 V .

    We will concentrate on definite spaces for most of the talk.Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 3 / 27

  • Deciding if two bilinear spaces are isometric is trivial (compare invariants!).

    Constructing one with given invariants is more di�cult:1 The case m = 1 is trival (determinant).2 If m � 3 the local-global principle yields some a 2 K⇤ represented by

    �. So(V,�) = hai ? (V 0,�0)

    for some space (V 0,�0) for which we know its invariants.3 So this leaves the case m = 2:

    1 Let S = {v 2 ⌦ | Hasse(Vv,�) = �1}.2 Let a 2 K⇤ such that a /2 (K⇤v )2 for all v 2 S.3 There exists some b 2 K⇤ supported at (S \ P) [ {q} with q “small”

    such that{v 2 ⌦ | (a, b)v = �1} = S

    and ha, bi has the correct signature at the real places of K.One can find such a b using linear algebra over F2 provided that oneknown tha class group Cl(K) and generator for the unit group Z⇤K .

    4 Then (V,�) ⇠=

    ha, bi.This is the same as “Finding a quaternion algebra with givenramification”.

    Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 4 / 27

  • Definition

    Let L be a lattice in a bilinear space (V,�), i.e. a finitely generatedZK-submodule of V such that KL = V .

    1 The dual L# = {x 2 V | �(x, L) ✓ ZK} is also a lattice.2

    L is called unimodular if L = L#.

    3 More generally, if L = aL# for some fractional ideal a of ZK , then Lis called a-modular.

    4 Lattices L,L0 in bilinear spaces (V,�) and (V 0,�0) are isometric ifthere exists some isometry ' : (V,�) ! (V 0,�) such that '(L) = L0.

    5 The automorphism group of L is

    Aut(L) = {' : L ! L | ' an isometry } .

    Similarly, one can define isometries between Lp and L0p whereLp = L⌦ZK ZKp is the completion of L at a prime ideal p of ZK .

    Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 5 / 27

  • Pseudo bases

    A lattice L in V is represented e�ciently on a computer using apseudo-basis

    L =

    mM

    i=1

    aixi where xi 2 V and fractional ideals ai of K.

    Using pseudo-bases one can perform basic operations like comparison,addition, intersection,...But is also good for taking completions at p 2 P, since Lp has thebasis

    (⇡

    ordp(a1)x1, . . . ,⇡

    ordp(am)xm)

    where ⇡ 2 K denotes a uniformizer of p.Pseudo bases are also useful for local “manipulations”. For example,to compute maximal sublattices X1, . . . , Xr of L that contain pL, dothis:

    1 Let M be the lattice with the basis above basis.2 Since M is free and M/pM ⇠

    =

    (ZK/p)m, one can write down themaximal sublattices Y1, . . . , Yr of M that contain pM .

    3 Set Xi = (Yi + pL) \ L.Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 6 / 27

  • Jordan decomposition

    A variation of the Gram-Schmidt orthogonalization shows that

    Lp⇠=

    L0 ? L1 ? . . . ? Lswhere Li is pi-modular.

    If p - 2, then the isometry class of Lp is uniquely determined by

    rank(L0), . . . , rank(Ls) and det(L0), . . . , det(Ls) .

    The description of the isometry classes in the case p | 2 is much moreinvolved and is due to O’Meara.

    Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 7 / 27

  • Example

    Suppose K = Q. Let L and L0 be lattices with Gram matrices✓

    1 1/2

    1/2 8

    ◆and

    ✓2 1/2

    1/2 4

    ◆.

    The envelopping quadratic spaces of L and L0 are isometric and Lp ⇠= L0pfor all primes p but L 6⇠

    =

    L

    0 since L represents 1 while L0 does not.

    So the local-global principle does not hold for lattices. This leads to thefollowing definition.

    Definition

    The class and the genus of a lattice L in a bilinear space (V,�) are

    cls(L) = {L0 ⇢ V | L0 a lattice such that L ⇠=

    L

    0}gen(L) = {L0 ⇢ V | L0 a lattice such that Lp ⇠= L0p for all p 2 P} .

    Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 8 / 27

  • Theorem (Borel)

    The genus decomposes into finitely many isometry classes

    gen(L) =h]

    i=1

    cls(Li)

    and h(L) = h(gen(L)) = h is called the class number of L or of gen(L).

    The local-global principle holds for L if and only if h = 1. Otherwise hmeasures “by how much” it fails.

    Problems1 Find some lattice in a given genus.

    2 Decide if L0 2 cls(L).3 Find representatives L1, . . . , Lh of the isometry classes in gen(L).

    Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 9 / 27

  • A lattice M in (V,�) is called maximal, if �(x, x) 2 ZK for all x 2 M andM is maximal with this property. The maximal lattices always form asingle genus.

    Finding a lattice L in a genus G given by invariants1 Let M be a maximal lattice in (V,�).

    2 Let P = {p 2 P | Lp 6⇠= Mp for L 2 G}.3 For p 2 P , find a sublattice X(p) of M such that

    X

    (p)p

    ⇠=

    Lp for L 2 G and X(p)q = Mq for q 6= p .4

    L :=

    Tp2P X

    (p) 2 G does the trick.

    Step (3) is easy if p - 2 (manipulate a Jordan decomposition of M).For p | 2, one can do it like that: Let Y be a lattice with Yp ⇠= Lp.Construct a minimal chain of overlattices

    Y = Y

    (0) ( Y (1) ( . . . ( Y (r)

    such that Y (r)p is maximal and Y(i) ✓ p�1Y (i�1).

    Find a lattice X(r�1) between pM and M such that X(r�1)p ⇠= Y (r�1)p etc.Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 10 / 27

  • Computing isometries of definite lattices I

    Suppose first K = Q and let L be a lattice in a definite space (V,�).Let (b1, . . . , bm) be a basis of L and B > 0.

    First: Enumerate LB := {x 2 L | �(x, x) B}The Finke-Pohst method is based on the Cholesky decomposition: Thereare qi,j 2 Q such that

    �(x, x) =

    mX

    i=1

    qi,i

    0

    @xi +

    mX

    j=i+1

    qijxj

    1

    A2

    for all x =P

    i xibi 2 L.

    Then �(x, x) B implies x2mqm,m B. Hence there are only finitelymany possibilities for xm.

    Similarly, qm�1,m�1(xm�1 + qm�1,mxm)2 B � qm,mx2m. Thus for fixedxm there are only finitely many possibilities for xm�1, etc.

    So LB is finite and can be enumerated by backtracking.Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 11 / 27

  • Computing isometries of definite lattices II

    The following algorithm computes an isometry ' : L ! L0 between latticesL,L

    0 in definite spaces (V,�) and (V 0,�0).

    Plesken & Souvignier1 Let B > 0 such that LB := {x 2 L | �(x, x) B} generates L.2 Suppose {b1, . . . , bm} ✓ LB generates V , so ' is uniquely

    determined by '(bi) 2 L0B.3 If '(b1), . . . ,'(bi�1) are already chosen, pick '(bi) 2 L0B such that

    �(bi, bj) = �0('(bi),'(bj)) for all 1 j i .

    If no such image '(bi) exists, backtrack and choose a di↵erent imagefor bi�1.

    A modification can be used to compute generators of Aut(L).

    Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 12 / 27

  • There are several tricks that speed up this search

    1 Every isometry ' must respect the fingerprint

    #{y 2 L=D | �(x, y) = c}for D 2 {'(x, x) | x 2 LB} and c 2 {'(x, y) | x, y 2 LB}.

    2 R. Bacher associates to any v 2 L with ` := �(v, v) a polynomialBv(T ) 2 Z[T ] as follows.For w 2 Wv := {x 2 L | �(x, x) = `,�(x, v) = `/2}. Let

    nw = #{(x, y) 2 W 2v | �(x,w) = �(y, v) = �(x, y) = `/2}.Then Bv(T ) :=

    Pw2Wv T

    nw . Since Bv is defined by scalar products,we have Bv = B'(v) for each isometry '.

    3 W. Unger uses J. Leon’s ideas on partition refinement to speed up thebacktrack search in recent versions of Magma.

    4' induces isometries between certain canonical sub/overlattices of Land L0. E.g. between ⇢p(L) and ⇢p(L0) where ⇢p is Watson p-maps(more later).

    Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 13 / 27

  • Computing isometries of definite lattices III

    Obvious changes to the above method only computes isometries L ! Lwhich preserve some additional bilinear forms.

    Suppose now K 6= Q and let L be a ZK-lattice in a definite bilinear space(V,�). For a 2 K,

    �a : V ⇥ V ! Q, (x, y) 7! TrK/Q(a�(x, y))

    defines a bilinear form on the Q-vector space VQ.

    Note that �1 is positive definite. Further, for any Z-linear map ' : L ! L,the following statements are equivalent:

    ' is an isometry in (V,�).

    ' is an isometry in (VQ,�1) which preserves �a where K = Q(a).The maps ' satisfying the latter property can be enumerated as seenbefore.

    Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 14 / 27

  • How to compute h(L)?

    Problem:

    The orthogonal group O(V,�) does not have the strong approximationproperty.

    1 For an anisotropic vector v 2 V , the reflection

    ⌧v : V ! V, w 7! w � 2�(w, v)�(v, v)

    v

    is isometry on (V,�) and O(V,�) is generated by reflections.2 The spinor norm is the homomorphism defined by

    ✓ : O(V,�) ! K⇤/(K⇤)2, ⌧v 7! �(v, v) .The subgroup

    S(V,�) = {' 2 O(V,�) | det(') = 1 and ✓(') = 1}does have the strong approximation property.

    Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 15 / 27

  • 1 Two lattices L and M in (V,�) are said to be in the same spinorgenus if there exists some ' 2 O(V,�) such that

    '(L)p = �p(Mp) with �p 2 S(Vp,�) for all p 2 P.

    The spinor genus of L is denoted by sgen(L).

    2 Every genus is a finite union of spinor genera.

    3 Every spinor genus is a finite union of isometry classes.

    Step (2) from above is completely understood and can be madeexplicit in terms of a ray class groups of K and the spinor normgroups of Lp. The latter can be computed by work of Kneser and Beli.

    If (V,�) is indefinite, then cls(L) = sgen(L).

    So we have to discuss step (3) for definite spaces.

    Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 16 / 27

  • Representatives of the isometry classes in sgen(L).

    Let (V,�) be definite and let L be a lattice in (V,�) and let p 2 P.W.l.o.g. L ✓ L#, p - 2, Lp is unimodular and (Vp,�) is isotropic.Definition

    A lattice L0 in V is called a p-neighbour of L, if L0p is unimodular and

    L/(L \ L0) ⇠=

    L

    0/(L \ L0) ⇠

    =

    ZK/p as ZK-modules.

    1 There exists an explicit finite subset X ⇢ L such that{{y 2 L | �(x, y) 2 p}+ p�1x | x 2 X}

    is the set of all p-neighbours of L.

    This allows us to compute the set of all p-neighbours quickly.2 Every p-neighbour of L lies in gen(L).3 Every isometry class in sgen(L) is represented by an iterated

    p-neighbour of L.

    Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 17 / 27

  • Hermitian spaces

    Let E be one of the following K-algebras with involution : E ! E:1

    E = K and = idK .

    2E/K a quadratic field extension with Gal(E/K) = {idE , }.

    3E a quaternion algebra over K (i.e. a four-dimensional central simpleK-algebra) and the canonical involution on E.

    Definition

    A hermitian space is a finite dimensional (left) vector space V over Eequipped with a regular sesquilinear form � : V ⇥ V ! E such that

    �(↵x+ x

    0, y) = ↵�(x, y) + �(x

    0, y) for all ↵ 2 E and x, x0, y 2 V ,

    �(x, y) = �(y, x) for all x, y 2 V .

    Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 18 / 27

  • Definite lattices with class number BLet O be a maximal order in E and let L be a lattice in a hermitian space(V �) over E.

    1 The definitions of isometries, genera, class numbers, etc. carry overto hermitian lattices.

    2 The algorithms from before can be extended to lattices in hermitianspaces.

    3 If (V,�) is indefinite, then the class number of L is again known apriori and depends only on some invariants of L and E (strongapproximation).

    4 If (V,�) is definite, the class number of L is not known a priori, butit can be computed using Kneser’s method just as before.

    GoalClassify all one-class genera of lattices in definite hermitian spaces.

    Known: There are only finitely many such genera (up to similarity).Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 19 / 27

  • Watson’s transformations

    Suppose E = K. For p 2 P define

    ⇢p(L) := L+ (p�1

    L \ pL#)

    If Lp = L0 ? . . . ? Ls is a Jordan decomposition, thenh(L) � h(⇢p(L)).⇢p(Lp) = (L0 ? p�1L2) ? (L1 ? p�1L3) ? p�1(L4 ? . . . ? Ls)⇢p(L) = L () Lp = L0 ? L1 if this is the case, then Lp is calledsquare-free.

    Idea:It su�ces to enumerate the definite, square-free hermitian lattices withclass number 1.

    Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 20 / 27

  • One-class genera

    Definition

    If gen(L) =Uh

    i=1 cls(Li), then Mass(L) :=Ph

    i=11

    #Aut(Li)is the mass of

    L.

    To avoid case distinctions, suppose that E/K is a CM-extension withn = [K : Q]. The other cases work along the same lines.

    Let � be the non-trivial character of Gal(E/K). Set

    LK(1, s) = ⇣K(s) the Dedekind zeta funkcion of K

    LK(�, s) = ⇣E(s)/⇣K(s) the L-function attached to �

    Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 21 / 27

  • Siegels Maßformel

    Theorem (Siegel, 1935)

    Let L be a lattice in a definite hermitian space over E of rank m. Then

    Mass(L) = 21�nm ·mY

    i=1

    |LK(�i, 1� i)| ·Y

    p

    �(Lp)

    with some local factors �(Lp) 2 Q>0.

    The local factors are known in almost all cases, e.g.

    if 2 /2 p or p is unramified in E (Gan&Yu).if Lp is maximal (Shimura).

    if 2 2 p is ramified in E and Kp/Q2 is unramified (Cho).if Lp is square-free (K.)

    Fact: �(Lp) 2 12Z and if �(Lp) = 12 then m is odd and p ramifies in E.Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 22 / 27

  • The possible spaces

    Suppose L is square-free, has rank m � 3 and h(L) B. Siegel’s Maßformula and the analytic class number formula show that

    B � #µ(E) ·Mass(L)�

    ✓2⇡

    �m

    ◆n· d(m2�1)/2K · NrK/Q(dE/K)m

    0�1/2 ·Y

    p

    �(Lp)

    | {z }�1

    . (?)

    where

    µ(E) = roots of unity in E⇤.

    m

    0=

    m(m�(�1)m)4 � 3.

    �m =Qm

    i=1(2⇡)i

    (i�1)! .

    dK = absolute value of the discriminant of K.

    dE/K = relative discriminant of E/K.

    Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 23 / 27

  • The possible spaces

    1 (?) yields an upper bound on the root discriminant d1/nK . For exampleB = 2 implies that m 16 and

    m 3 4 5 6 7 8 9 ...

    d

    1/nK < 9.13 6.83 5.49 4.59 3.95 3.47 3.09

    J. Voight lists all totally real number fields K with d1/nK 14, K.2 For fixed K, (?) yields all possibilities for dE/K . Class field theory E.

    3 If det(Vp,�) /2 Nr(E⇤p ), then

    p | dE/K or �(Lp) � 12

    Nr(p)m�1 .

    Hence (?) yields all possibilities for

    {p | det(Vp,�) /2 Nr(E⇤p )} .All in all: Only finitely many combinations for K,E, (V,�).

    Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 24 / 27

  • The squarefree lattices in (V,�) with class number B

    Let L be a squarefree lattice in a definite hermitian space (V,�) with classnumber B.

    Let M be a maximal lattice in (V,�). W.l.o.g. L ✓ M .If Mp 6= Lp then

    p | dE/K or �(Lp) � 12

    Nr(p)m�1 .

    Hence (?) yields all possibilities for

    {p 2 P | Mp 6= Lp} .

    This gives a bound a 2 N which does not depend on L such thataM ✓ L ✓ M .

    Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 25 / 27

  • Binary hermitian lattices

    If m = dimE(V ) = 2, one gets all possible fields K just as before. But

    B � #µ(E) ·Mass(L) � (2⇡)�2n · #Cl(O)Q ·#Cl(ZK) · d

    3/2K · ⇣K(2)

    where Q = [O⇤ : µ(E)Z⇤K ] 2 {1, 2} is Hasse’s unit undex.

    For example K = Q(p5) and B = 2 yields #Cl(O) 120. If E/Q is

    cyclic, Louboutin shows that

    NrK/Q(dE/K) < 1.68 · 1011 .Without the assumptions on E/Q the bound becomes even worse. Som = 2 is out of reach with current methods.

    If K = Q and B = 2 then #Cl(O) 48. All imaginary quadratic numberfields with class number 100 were enumerated by Watkins in his theis.So K = Q is feasible.

    Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 26 / 27

  • Some results

    Similarly, if dimK(V ) = 2 this lead to relative class number problems(Gauß) which are currently out of reach.

    In all other cases, a complete classification is possible. Below are thenumber of genera with class number one

    case h(L) = 1 max rank(L) max [K : Q] #E #K #generaE = Q 10 1884 (Watson)

    E = K 6= Q 6 5 29 4019 (Lorch)dimK(E) = 2 8 3 10 5 164

    dimK(E) = 4 4 5 69 29 �and with class number two

    case h(L) = 2 max rank(L) max [K : Q] #E #K #generaE = Q 16 7283

    E = K 6= Q 8 5 75 17.064dimK(E) = 2 9 4 19 9 406

    dimK(E) = 4 5 8 148 60 �Markus Kirschmer (RWTH Aachen University) Algorithms for lattices June 2016 27 / 27

    Bilinear spacesDefinitionsConstructing a bilinear space with given invariants

    LatticesDefinitionsGeneraFinding a lattice in a given genusIsometries and automorphism groupsKneser's neighbour method

    One-class generaHermitian spacesWatson's transformationsSiegel's mass formulaThe possible spacesThe squarefree latticesBinary hermitian latticesResults