File:Higman-Sims-01.svg

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Original file (SVG file, nominally 800 × 800 pixels, file size: 125 KB)

Captions

Captions

Add a one-line explanation of what this file represents

Summary

[edit]
 
This diagram was created with SageMath.
Description
English: A representation of the Higman–Sims graph as an orthogonal projection from a subset of the Leech lattice emphasizing a rotational symmetry of order 11. (There are 11 possible such projections if we require all 22 points connected to the center point to form a regular 22-gon around it.)
Français : Une représentation du graphe de Higman–Sims comme projection orthogonale d'un sous-ensemble du réseau de Leech mettant en évidence une symétrie rotationnelle d'ordre 11. (Il y a 11 telles projections possibles si on impose aux 22 points reliés au point central de former un 22-gone régulier autour de lui.)
Date
Source Own work
Author Gro-Tsen

Source code

[edit]

The following Sage source code can be used to generate the graph data for this file and the similarly named ones (the actual SVG files were generated by postprocessing this output with a simple Perl script, not listed here).

m24 = MathieuGroup(24)
lst = m24.conjugacy_classes_representatives()
elt = ([x for x in lst if x.order()==11])[0]
fixthis = Permutation(elt).fixed_points()
octad0 = ([Permutation(x).fixed_points() for x in lst if x.order()==2 and len(Permutation(x).fixed_points())==8])[0]
octads = gap.Orbit(gap(m24), octad0, "OnSets").sage()
octads22 = [o for o in octads if fixthis[0] in o and fixthis[1] in o]
pointP = (QQ^24)([4 if i+1 in fixthis else 0 for i in range(24)])
pointsQ = [(QQ^24)([-3 if i==k else 1 for i in range(24)]) for k in range(24) if not k+1 in fixthis]
pointsR = [(QQ^24)([2 if i+1 in o else 0 for i in range(24)]) for o in octads22]
hsGraph = [pointP] + pointsQ + pointsR
melt = elt.matrix()

def sqnorm(v):
    return sum([x*x for x in v])

adjacency = [[i for i in range(i0) if sqnorm(hsGraph[i]-hsGraph[i0])==48] for i0 in range(100)]

def chop(v):
    if abs(v)<1.e-9:
        return 0
    return v

p = sum([melt^i*N(exp(-2*I*i*pi/11)) for i in range(11)])/11
def writeit(twist, fname):
    v = p * (CC^24)([1 if i==0 else N(exp(twist*I*pi/11)) if i==1 else 0 for i in range(24)])
    va = (RR^24)([v[i].real() for i in range(24)])
    vb = (RR^24)([v[i].imag() for i in range(24)])
    t = va.norm()
    v /= t
    va /= t
    vb /= t
    coords = [(va*pt, vb*pt) for pt in hsGraph]
    fd = open(fname, "w")
    for i0 in range(100):
        for i in adjacency[i0]:
            print >>fd, "line", (chop(coords[i0][0]), chop(coords[i0][1])), (chop(coords[i][0]), chop(coords[i][1]))
    for pt in coords:
        print >>fd, "point", (chop(pt[0]), chop(pt[1]))
    fd.close()

for i in range(1,22,2):
    writeit(i, "/tmp/hs%02d.dat"%i)

Licensing

[edit]
Public domain I, the copyright holder of this work, release this work into the public domain. This applies worldwide.
In some countries this may not be legally possible; if so:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current18:53, 30 October 2010Thumbnail for version as of 18:53, 30 October 2010800 × 800 (125 KB)Gro-Tsen (talk | contribs){{Information |Description={{en|1=A representation of the [http://en.wikipedia.org/wiki/Higman%E2%80%93Sims_graph Higman–Sims graph] as an orthogonal projection from a subset of the [http://en.wikipedia.org/wiki/Leech_lattice Leech lattice] emphasizing

The following page uses this file:

Metadata