185
data/Manifest.toml
Normal file
@ -0,0 +1,185 @@
|
|||||||
|
# This file is machine-generated - editing it directly is not advised
|
||||||
|
|
||||||
|
julia_version = "1.7.1"
|
||||||
|
manifest_format = "2.0"
|
||||||
|
|
||||||
|
[[deps.ArgTools]]
|
||||||
|
uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f"
|
||||||
|
|
||||||
|
[[deps.Artifacts]]
|
||||||
|
uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"
|
||||||
|
|
||||||
|
[[deps.Base64]]
|
||||||
|
uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
|
||||||
|
|
||||||
|
[[deps.Compat]]
|
||||||
|
deps = ["Base64", "Dates", "DelimitedFiles", "Distributed", "InteractiveUtils", "LibGit2", "Libdl", "LinearAlgebra", "Markdown", "Mmap", "Pkg", "Printf", "REPL", "Random", "SHA", "Serialization", "SharedArrays", "Sockets", "SparseArrays", "Statistics", "Test", "UUIDs", "Unicode"]
|
||||||
|
git-tree-sha1 = "44c37b4636bc54afac5c574d2d02b625349d6582"
|
||||||
|
uuid = "34da2185-b29b-5c13-b0c7-acf172513d20"
|
||||||
|
version = "3.41.0"
|
||||||
|
|
||||||
|
[[deps.CompilerSupportLibraries_jll]]
|
||||||
|
deps = ["Artifacts", "Libdl"]
|
||||||
|
uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae"
|
||||||
|
|
||||||
|
[[deps.DataStructures]]
|
||||||
|
deps = ["Compat", "InteractiveUtils", "OrderedCollections"]
|
||||||
|
git-tree-sha1 = "3daef5523dd2e769dad2365274f760ff5f282c7d"
|
||||||
|
uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
|
||||||
|
version = "0.18.11"
|
||||||
|
|
||||||
|
[[deps.Dates]]
|
||||||
|
deps = ["Printf"]
|
||||||
|
uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"
|
||||||
|
|
||||||
|
[[deps.DelimitedFiles]]
|
||||||
|
deps = ["Mmap"]
|
||||||
|
uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab"
|
||||||
|
|
||||||
|
[[deps.Distributed]]
|
||||||
|
deps = ["Random", "Serialization", "Sockets"]
|
||||||
|
uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b"
|
||||||
|
|
||||||
|
[[deps.Downloads]]
|
||||||
|
deps = ["ArgTools", "LibCURL", "NetworkOptions"]
|
||||||
|
uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6"
|
||||||
|
|
||||||
|
[[deps.InteractiveUtils]]
|
||||||
|
deps = ["Markdown"]
|
||||||
|
uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
|
||||||
|
|
||||||
|
[[deps.JSON]]
|
||||||
|
deps = ["Dates", "Mmap", "Parsers", "Unicode"]
|
||||||
|
git-tree-sha1 = "8076680b162ada2a031f707ac7b4953e30667a37"
|
||||||
|
uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
|
||||||
|
version = "0.21.2"
|
||||||
|
|
||||||
|
[[deps.LibCURL]]
|
||||||
|
deps = ["LibCURL_jll", "MozillaCACerts_jll"]
|
||||||
|
uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21"
|
||||||
|
|
||||||
|
[[deps.LibCURL_jll]]
|
||||||
|
deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"]
|
||||||
|
uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0"
|
||||||
|
|
||||||
|
[[deps.LibGit2]]
|
||||||
|
deps = ["Base64", "NetworkOptions", "Printf", "SHA"]
|
||||||
|
uuid = "76f85450-5226-5b5a-8eaa-529ad045b433"
|
||||||
|
|
||||||
|
[[deps.LibSSH2_jll]]
|
||||||
|
deps = ["Artifacts", "Libdl", "MbedTLS_jll"]
|
||||||
|
uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8"
|
||||||
|
|
||||||
|
[[deps.Libdl]]
|
||||||
|
uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
|
||||||
|
|
||||||
|
[[deps.LinearAlgebra]]
|
||||||
|
deps = ["Libdl", "libblastrampoline_jll"]
|
||||||
|
uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
|
||||||
|
|
||||||
|
[[deps.Logging]]
|
||||||
|
uuid = "56ddb016-857b-54e1-b83d-db4d58db5568"
|
||||||
|
|
||||||
|
[[deps.Markdown]]
|
||||||
|
deps = ["Base64"]
|
||||||
|
uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"
|
||||||
|
|
||||||
|
[[deps.MbedTLS_jll]]
|
||||||
|
deps = ["Artifacts", "Libdl"]
|
||||||
|
uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1"
|
||||||
|
|
||||||
|
[[deps.Mmap]]
|
||||||
|
uuid = "a63ad114-7e13-5084-954f-fe012c677804"
|
||||||
|
|
||||||
|
[[deps.MozillaCACerts_jll]]
|
||||||
|
uuid = "14a3606d-f60d-562e-9121-12d972cd8159"
|
||||||
|
|
||||||
|
[[deps.NetworkOptions]]
|
||||||
|
uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908"
|
||||||
|
|
||||||
|
[[deps.OpenBLAS_jll]]
|
||||||
|
deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"]
|
||||||
|
uuid = "4536629a-c528-5b80-bd46-f80d51c5b363"
|
||||||
|
|
||||||
|
[[deps.OrderedCollections]]
|
||||||
|
git-tree-sha1 = "85f8e6578bf1f9ee0d11e7bb1b1456435479d47c"
|
||||||
|
uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
|
||||||
|
version = "1.4.1"
|
||||||
|
|
||||||
|
[[deps.Parsers]]
|
||||||
|
deps = ["Dates"]
|
||||||
|
git-tree-sha1 = "92f91ba9e5941fc781fecf5494ac1da87bdac775"
|
||||||
|
uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
|
||||||
|
version = "2.2.0"
|
||||||
|
|
||||||
|
[[deps.Pkg]]
|
||||||
|
deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"]
|
||||||
|
uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
|
||||||
|
|
||||||
|
[[deps.Printf]]
|
||||||
|
deps = ["Unicode"]
|
||||||
|
uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7"
|
||||||
|
|
||||||
|
[[deps.REPL]]
|
||||||
|
deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"]
|
||||||
|
uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
|
||||||
|
|
||||||
|
[[deps.Random]]
|
||||||
|
deps = ["SHA", "Serialization"]
|
||||||
|
uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
|
||||||
|
|
||||||
|
[[deps.SHA]]
|
||||||
|
uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
|
||||||
|
|
||||||
|
[[deps.Serialization]]
|
||||||
|
uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
|
||||||
|
|
||||||
|
[[deps.SharedArrays]]
|
||||||
|
deps = ["Distributed", "Mmap", "Random", "Serialization"]
|
||||||
|
uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383"
|
||||||
|
|
||||||
|
[[deps.Sockets]]
|
||||||
|
uuid = "6462fe0b-24de-5631-8697-dd941f90decc"
|
||||||
|
|
||||||
|
[[deps.SparseArrays]]
|
||||||
|
deps = ["LinearAlgebra", "Random"]
|
||||||
|
uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
|
||||||
|
|
||||||
|
[[deps.Statistics]]
|
||||||
|
deps = ["LinearAlgebra", "SparseArrays"]
|
||||||
|
uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
|
||||||
|
|
||||||
|
[[deps.TOML]]
|
||||||
|
deps = ["Dates"]
|
||||||
|
uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76"
|
||||||
|
|
||||||
|
[[deps.Tar]]
|
||||||
|
deps = ["ArgTools", "SHA"]
|
||||||
|
uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e"
|
||||||
|
|
||||||
|
[[deps.Test]]
|
||||||
|
deps = ["InteractiveUtils", "Logging", "Random", "Serialization"]
|
||||||
|
uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
|
||||||
|
|
||||||
|
[[deps.UUIDs]]
|
||||||
|
deps = ["Random", "SHA"]
|
||||||
|
uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
|
||||||
|
|
||||||
|
[[deps.Unicode]]
|
||||||
|
uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
|
||||||
|
|
||||||
|
[[deps.Zlib_jll]]
|
||||||
|
deps = ["Libdl"]
|
||||||
|
uuid = "83775a58-1f1d-513f-b197-d71354ab007a"
|
||||||
|
|
||||||
|
[[deps.libblastrampoline_jll]]
|
||||||
|
deps = ["Artifacts", "Libdl", "OpenBLAS_jll"]
|
||||||
|
uuid = "8e850b90-86db-534c-a0d3-1478176c7d93"
|
||||||
|
|
||||||
|
[[deps.nghttp2_jll]]
|
||||||
|
deps = ["Artifacts", "Libdl"]
|
||||||
|
uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d"
|
||||||
|
|
||||||
|
[[deps.p7zip_jll]]
|
||||||
|
deps = ["Artifacts", "Libdl"]
|
||||||
|
uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0"
|
3
data/Project.toml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[deps]
|
||||||
|
DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
|
||||||
|
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
|
45
data/create_json.jl
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
using Pkg
|
||||||
|
Pkg.activate(@__DIR__)
|
||||||
|
using DelimitedFiles
|
||||||
|
using JSON
|
||||||
|
|
||||||
|
include(joinpath(@__DIR__, "parse_presentations.jl"))
|
||||||
|
include(joinpath(@__DIR__, "smallhyperbolicgrp.jl"))
|
||||||
|
|
||||||
|
all_grps_presentations =
|
||||||
|
let tables = [
|
||||||
|
joinpath(@__DIR__, f) for f in readdir(@__DIR__) if
|
||||||
|
isfile(joinpath(@__DIR__, f)) && endswith(f, ".txt")
|
||||||
|
]
|
||||||
|
mapreduce(parse_grouppresentations_abstract, union, tables) |> Dict
|
||||||
|
end
|
||||||
|
|
||||||
|
tr_grps =
|
||||||
|
let csvs = [
|
||||||
|
joinpath(@__DIR__, f) for f in readdir(@__DIR__) if
|
||||||
|
isfile(joinpath(@__DIR__, f)) && endswith(f, ".csv")
|
||||||
|
]
|
||||||
|
|
||||||
|
trGrps = mapreduce(union, csvs) do file
|
||||||
|
m = match(r".*_(\d)_(\d)_(\d).csv", basename(file))
|
||||||
|
@assert !isnothing(m)
|
||||||
|
type = parse.(Int, tuple(m[1], m[2], m[3]))
|
||||||
|
|
||||||
|
data = readdlm(file, '&')
|
||||||
|
labels = Symbol.(replace.(strip.(data[1, :]), ' ' => '_', '-' => '_'))
|
||||||
|
groups = data[2:end, :]
|
||||||
|
grps = map(enumerate(eachrow(groups))) do (i, props)
|
||||||
|
nt = (; (Symbol(l) => v for (l, v) in zip(labels, props))...)
|
||||||
|
@debug i, grp_name(nt)
|
||||||
|
P = all_grps_presentations[grp_name(nt)]
|
||||||
|
grp = TriangleGrp(type, P.generators, P.relations, nt)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
open(joinpath(@__DIR__, "triangle_groups.json"), "w") do io
|
||||||
|
f(args...) = show_json(args...; indent = 4)
|
||||||
|
s = sprint(f, TriangleGrpSerialization(), tr_grps)
|
||||||
|
# JSON.print(io, , 4)
|
||||||
|
print(io, s)
|
||||||
|
end
|
75
data/parse_presentations.jl
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
include("../src/groupparse.jl")
|
||||||
|
|
||||||
|
function parse_grouppresentations_abstract(filename::AbstractString)
|
||||||
|
lines = strip.(readlines(filename))
|
||||||
|
groups = let t = (; generators = String[], relations = String[])
|
||||||
|
Dict{String,typeof(t)}()
|
||||||
|
end
|
||||||
|
group_regex = r"(?<name>\w.*)\s?:=\s?(?<group_str>Group.*)"
|
||||||
|
for line in lines
|
||||||
|
isempty(line) && continue
|
||||||
|
newline = if iscomment(line)
|
||||||
|
line[3:end]
|
||||||
|
else
|
||||||
|
line[1:end]
|
||||||
|
end
|
||||||
|
m = match(group_regex, newline)
|
||||||
|
if isnothing(m)
|
||||||
|
@debug "Can't parse line as group presentation \n $line"
|
||||||
|
continue
|
||||||
|
else
|
||||||
|
name = strip(m[:name])
|
||||||
|
group_str = m[:group_str]
|
||||||
|
gens, rels = split_magma_presentation(group_str)
|
||||||
|
groups[name] = (generators = String.(gens), relations = String.(rels))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return groups
|
||||||
|
end
|
||||||
|
|
||||||
|
# parse_grouppresentations_abstract("./data/presentations_2_4_4.txt")
|
||||||
|
|
||||||
|
function _tf_missing(x::AbstractString)
|
||||||
|
s = strip(x)
|
||||||
|
yes = !isnothing(match(r"yes"i, s))
|
||||||
|
no = !isnothing(match(r"no"i, s))
|
||||||
|
mis = !isnothing(match(r"(\?)+", s))
|
||||||
|
@debug "string for true/false/missing : $s" parsed=(yes, no, mis)
|
||||||
|
yes && !no && !mis && return true
|
||||||
|
!yes && no && !mis && return false
|
||||||
|
!yes && !no && mis && return missing
|
||||||
|
throw(ArgumentError("Unrecognized string as true/false/missing: $x"))
|
||||||
|
end
|
||||||
|
|
||||||
|
function parse_vec(s::AbstractString)
|
||||||
|
m = match(r"^\s*\[(.*)\]\s*$", s)
|
||||||
|
isnothing(m) && throw("String does not seem to represent a vector: $s")
|
||||||
|
content = m[1]
|
||||||
|
return strip.(split(content, ','))
|
||||||
|
end
|
||||||
|
|
||||||
|
parse_vec(T::Type{<:AbstractString}, s::AbstractString) = T.(parse_vec(s))
|
||||||
|
function parse_vec(::Type{T}, s::AbstractString) where {T<:Number}
|
||||||
|
v = parse_vec(String, s)
|
||||||
|
isempty(v) && return T[]
|
||||||
|
length(v) == 1 && isempty(first(v)) && return T[]
|
||||||
|
return parse.(T, parse_vec(String, s))
|
||||||
|
end
|
||||||
|
|
||||||
|
function parse_vec(
|
||||||
|
::Type{T},
|
||||||
|
s::AbstractString,
|
||||||
|
) where {A<:AbstractString,B<:Number,T<:Tuple{A,B}}
|
||||||
|
v = parse_vec(s)
|
||||||
|
if length(v) == 1
|
||||||
|
@assert isempty(first(v))
|
||||||
|
return Tuple{A,B}[]
|
||||||
|
end
|
||||||
|
@assert iseven(length(v))
|
||||||
|
return map(1:2:length(v)) do i
|
||||||
|
@assert first(v[i]) == '(' && last(v[i+1]) == ')'
|
||||||
|
key = v[i][begin+1:end]
|
||||||
|
val = v[i+1][begin:end-1]
|
||||||
|
(A(key), parse(B, val))
|
||||||
|
end
|
||||||
|
end
|
150
data/smallhyperbolicgrp.jl
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
struct TriangleGrp
|
||||||
|
half_girth_type::NTuple{3,Int}
|
||||||
|
generators::Vector{String}
|
||||||
|
relations::Vector{String}
|
||||||
|
order1::Int
|
||||||
|
order2::Int
|
||||||
|
order3::Int
|
||||||
|
index::Int
|
||||||
|
presentation_length::Int
|
||||||
|
hyperbolic::Union{Missing,Bool}
|
||||||
|
witnesses_non_hyperbolictity::Union{Missing,Vector{String}}
|
||||||
|
virtually_torsion_free::Union{Missing,Bool}
|
||||||
|
Kazdhdan_property_T::Union{Missing,Bool}
|
||||||
|
abelianization_dimension::Int
|
||||||
|
L2_quotients::Vector{String}
|
||||||
|
quotients::Vector{Pair{String,Int}}
|
||||||
|
alternating_quotients::Vector{Int}
|
||||||
|
maximal_degree_alternating_quotients::Int
|
||||||
|
end
|
||||||
|
|
||||||
|
_name(G) = "G_$(G.order1)_$(G.order2)_$(G.order3)_$(G.index)"
|
||||||
|
name(G::TriangleGrp) = _name(G)
|
||||||
|
grp_name(nt::NamedTuple) = _name(nt)
|
||||||
|
|
||||||
|
latex_name(G::TriangleGrp) = "G^{$(G.order1),$(G.order2),$(G.order3)}_$(G.index)"
|
||||||
|
|
||||||
|
function _ishyperbolic(half_girth_type, nt::NamedTuple)
|
||||||
|
a, b, c = half_girth_type
|
||||||
|
if 1 // a + 1 // b + 1 // c < 1
|
||||||
|
return true, missing
|
||||||
|
elseif hasproperty(nt, :hyperbolic)
|
||||||
|
hyperbolic = _tf_missing(nt.hyperbolic)
|
||||||
|
nh_witnesses = let w = strip(nt.witnesses_for_non_hyperbolicity)
|
||||||
|
isempty(w) ? missing : parse_vec(String, '[' * w * ']')
|
||||||
|
end
|
||||||
|
@debug "$(nt.hyperbolic) was parsed as $hyperbolic" nh_witnesses
|
||||||
|
if hyperbolic isa Bool && hyperbolic
|
||||||
|
@assert ismissing(nh_witnesses)
|
||||||
|
end
|
||||||
|
if !ismissing(nh_witnesses)
|
||||||
|
@assert !hyperbolic
|
||||||
|
end
|
||||||
|
return hyperbolic, nh_witnesses
|
||||||
|
else
|
||||||
|
return missing, missing
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function _sanitize_group_name(s::AbstractString)
|
||||||
|
s = replace(s, '$'=>"")
|
||||||
|
s = replace(s, "\\infty"=>"inf")
|
||||||
|
s = replace(s, r"\\textrm{(.*?)}"=>s"\1")
|
||||||
|
s = replace(s, r"(Alt)_{(\d+)}"=>s"\1(\2)")
|
||||||
|
s = replace(s, "_{}"=>"")
|
||||||
|
return s
|
||||||
|
end
|
||||||
|
|
||||||
|
function _delatexify(dict)
|
||||||
|
map(dict) do (key, val)
|
||||||
|
key = _sanitize_group_name(key)
|
||||||
|
key = replace(key, r"_{(\d+)}"=>s"\1")
|
||||||
|
key = replace(key, "{}^"=>"")
|
||||||
|
key => val
|
||||||
|
end |> Dict
|
||||||
|
end
|
||||||
|
|
||||||
|
function TriangleGrp(half_girth_type::NTuple{3,Int}, generators, relations, nt::NamedTuple)
|
||||||
|
# @assert fieldnames(SmallHyperbolicGrp) == propertynames(nt)
|
||||||
|
hyperbolic, witness = _ishyperbolic(half_girth_type, nt)
|
||||||
|
|
||||||
|
l2_quotients = let v = _sanitize_group_name.(parse_vec(String, nt.L2_quotients))
|
||||||
|
if isempty(v) || (length(v)==1 && isempty(first(v)))
|
||||||
|
Vector{String}()
|
||||||
|
else
|
||||||
|
String.(v)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
TriangleGrp(
|
||||||
|
half_girth_type,
|
||||||
|
convert(Vector{String}, generators),
|
||||||
|
convert(Vector{String}, relations),
|
||||||
|
convert(Int, nt.order1),
|
||||||
|
convert(Int, nt.order2),
|
||||||
|
convert(Int, nt.order3),
|
||||||
|
convert(Int, nt.index),
|
||||||
|
convert(Int, nt.presentation_length),
|
||||||
|
hyperbolic,
|
||||||
|
witness,
|
||||||
|
_tf_missing(nt.virtually_torsion_free),
|
||||||
|
_tf_missing(nt.Kazhdan),
|
||||||
|
convert(Int, nt.abelianization_dimension),
|
||||||
|
l2_quotients,
|
||||||
|
[Pair(_sanitize_group_name(p[1]), p[2]) for p in parse_vec(Tuple{String,Int}, nt.quotients)],
|
||||||
|
parse_vec(Int, nt.alternating_quotients),
|
||||||
|
convert(Int, nt.maximal_order_for_alternating_quotients),
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
import DataStructures
|
||||||
|
|
||||||
|
import JSON.Serializations: CommonSerialization, StandardSerialization
|
||||||
|
import JSON.Writer: StructuralContext, show_json
|
||||||
|
struct TriangleGrpSerialization <: CommonSerialization end
|
||||||
|
|
||||||
|
function subscriptify(n::Integer)
|
||||||
|
n, sgn = abs(n), sign(n)
|
||||||
|
# Char(0x2080) == '₀'
|
||||||
|
s = join(Char(0x2080+d) for d in reverse(digits(n)))
|
||||||
|
return sgn >= 0 ? s : "₋"*s
|
||||||
|
end
|
||||||
|
|
||||||
|
function superscriptify(n::Integer)
|
||||||
|
n, sgn = abs(n), sign(n);
|
||||||
|
# (Char(0x2070), '¹', '²', '³', [Char(0x2070+i) for i in 4:9]...)
|
||||||
|
dgts = ('⁰', '¹', '²', '³', '⁴', '⁵', '⁶', '⁷', '⁸', '⁹')
|
||||||
|
s = join(dgts[d+1] for d in reverse(digits(n)))
|
||||||
|
return sgn >= 0 ? s : "⁻"*s
|
||||||
|
end
|
||||||
|
|
||||||
|
function _to_utf8(s::AbstractString)
|
||||||
|
s = _sanitize_group_name(s)
|
||||||
|
while (m = match(r"(_{(-?\d+)}|_(\d))", s)) !== nothing
|
||||||
|
n = parse(Int, something(m[2], m[3]))
|
||||||
|
s = replace(s, m[1]=>subscriptify(n))
|
||||||
|
end
|
||||||
|
while (m = match(r"(\^{(-?\d+)}|\^(\d))", s)) !== nothing
|
||||||
|
n = parse(Int, something(m[2], m[3]))
|
||||||
|
s = replace(s, m[1]=>superscriptify(n))
|
||||||
|
end
|
||||||
|
if (m = match(r"G(\^{(\d+),(\d+),(\d+)})", s)) !== nothing
|
||||||
|
i,j,k = superscriptify.(parse.(Int, (m[2], m[3], m[4])))
|
||||||
|
s = replace(s, m[1] => "$(i)'$(j)'$(k)")
|
||||||
|
end
|
||||||
|
s = replace(s, "{}"=>"")
|
||||||
|
return s
|
||||||
|
end
|
||||||
|
|
||||||
|
function show_json(io::StructuralContext, ::TriangleGrpSerialization, G::TriangleGrp)
|
||||||
|
D = DataStructures.OrderedDict{Symbol,Any}(:name => latex_name(G))
|
||||||
|
D[:name_utf8] = _to_utf8(D[:name])
|
||||||
|
for fname in fieldnames(TriangleGrp)
|
||||||
|
D[fname] = getfield(G, fname)
|
||||||
|
end
|
||||||
|
D[:L2_quotients_utf8] = _to_utf8.(D[:L2_quotients])
|
||||||
|
D[:quotients_utf8] = Dict(_to_utf8(k) => v for (k,v) in D[:quotients])
|
||||||
|
D[:quotients_plain] = _delatexify(D[:quotients])
|
||||||
|
D[:quotients] = Dict(D[:quotients])
|
||||||
|
return show_json(io, StandardSerialization(), D)
|
||||||
|
end
|
22
data/table_2_4_4.csv
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
order1 & order2 & order3 & index & presentation length & hyperbolic & witnesses for non-hyperbolicity & virtually torsion-free & Kazhdan & abelianization dimension & L2-quotients & quotients & alternating quotients & maximal order for alternating quotients
|
||||||
|
6 & 40 & 40 & 0 & 45 & No & a^-1 * c * b * c * a^-1 * c * b * c^-1, b * c * a^-1 * c * b * c * a^-1 * c^-1 & Yes & No & 0& []& [($\textrm{Alt}_{7}$, 2), ($B_{2}(3)$, 1)] & [ 5, 7 ] & 28
|
||||||
|
6 & 40 & 48 & 0 & 37 & No & b * c * a * c^-1 * b * c^-1 * a^-1 * c^-1, a^-1 * c * b * c * a * c * b * c^-1 & Yes & No & 1& [L_2(3^2)]& [($B_{2}(3)$, 3), ($A_{3}(3)$, 1)] & [ 3, 5, 6 ] & 28
|
||||||
|
6 & 40 & 54 & 0 & 49 & No & a * c^-1 * b^-1 * c^-1 * a * c * b * c, b^-1 * c * a^-1 * c^-1 * b * c^-1 * a * c & Yes & No & 1& []& [($B_{2}(3)$, 2), ($\textrm{Alt}_{10}$, 4), (${}^2A_{4}(4)$, 1)] & [ 3, 5, 10, 15, 20, 25 ] & 28
|
||||||
|
6 & 40 & 54 & 2 & 49 & No & b * c * a * c^-1 * b * c * a^-1 * c, a * c^-1 * b^-1 * c * a^-1 * c * b^-1 * c & Yes & No & 1& []& [($\textrm{Alt}_{9}$, 2), (${}^2A_{3}(9)$, 1), ($A_{3}(3)$, 1)] & [ 3, 5, 9 ] & 28
|
||||||
|
6 & 48 & 48 & 0 & 29 & No & a^-1 * c^-1 * b * c, b * c * a * c & Yes & No & 3& []& [($B_{2}(3)$, 1), (${}^2A_{3}(9)$, 1), ($A_{3}(3)$, 1)] & [ 3, 4 ] & 28
|
||||||
|
6 & 48 & 54 & 0 & 41 & No & b * c * a * c^-1 * b * c * a * c^-1, a^-1 * c * b * c * a^-1 * c^-1 * b^-1 * c^-1 & Yes & No & 3& []& [($B_{2}(3)$, 2), ($\textrm{Alt}_{10}$, 1), ($\textrm{Alt}_{11}$, 2)] & [ 3, 4, 10, 11, 14, 15, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28 ] & 28
|
||||||
|
6 & 48 & 54 & 2 & 41 & No & b * c * a * c^-1 * b * c * a^-1 * c, a * c^-1 * b^-1 * c^-1 * a^-1 * c^-1 * b^-1 * c & Yes & No & 3& []& [(${}^2A_{3}(9)$, 1), ($A_{3}(3)$, 1), (${}^2A_{4}(4)$, 1)] & [ 3, 4 ] & 28
|
||||||
|
6 & 54 & 54 & 0 & 53 & No & a * c^-1 * b^-1 * c^-1 * a * c * b * c, b^-1 * c^-1 * a^-1 * c * b * c^-1 * a * c & Yes & No & 3& []& [($\textrm{Alt}_{9}$, 2), (${}^2A_{4}(4)$, 2)] & [ 3, 9, 27 ] & 28
|
||||||
|
6 & 54 & 54 & 2 & 53 & No & a^-1 * c * b^-1 * c * a * c^-1 * b * c, b^-1 * c * a^-1 * c * b * c^-1 * a * c & Yes & No & 3& []& [($\textrm{Alt}_{9}$, 2), (${}^2A_{3}(9)$, 1), ($A_{3}(3)$, 1), (${}^2A_{4}(4)$, 1)] & [ 3, 9, 12, 15, 18, 21, 24, 27 ] & 28
|
||||||
|
6 & 54 & 54 & 8 & 53 & No & a^-1 * c^-1 * b * c, b^-1 * c^-1 * a * c & Yes & No & 3& []& [($B_{2}(3)$, 2), ($\textrm{Alt}_{9}$, 4)] & [ 3, 9, 12, 18, 21, 24, 27 ] & 28
|
||||||
|
8 & 40 & 40 & 0 & 45 & No & a^-1 * c^-1 * b * c, b * c^-1 * a^-1 * c & Yes & No & 0& [L_2(\infty^4)]& [($B_{2}(3)$, 1), ($C_{2}(4)$, 2), ($\textrm{Alt}_{10}$, 2), ($B_{2}(5)$, 5), ($\textrm{Alt}_{11}$, 2)] & [ 5, 6, 10, 11, 15, 20, 21, 25, 26 ] & 28
|
||||||
|
8 & 40 & 48 & 0 & 37 & Yes & & ? & No & 0& [L_2(3^2)]& [($B_{2}(5)$, 4)] & [ 5, 6 ] & 28
|
||||||
|
8 & 40 & 54 & 0 & 49 & Yes & & Yes & No & 0& [L_2(3^2)]& [($B_{2}(3)$, 2), ($\textrm{M}_{12}$, 4)] & [ 6 ] & 28
|
||||||
|
8 & 40 & 54 & 2 & 49 & No & b * c * a * c^-1 * b * c^-1 * a * c, a^-1 * c * b^-1 * c * a^-1 * c * b^-1 * c & Yes & No & 0& [L_2(3^2)]& [($B_{2}(3)$, 2), ($\textrm{M}_{12}$, 4), ($\textrm{Alt}_{10}$, 3), ($A_{3}(3)$, 2), (${}^2A_{4}(4)$, 1)] & [ 6, 10, 12, 15, 16, 21, 22, 27, 28 ] & 28
|
||||||
|
8 & 48 & 48 & 0 & 29 & Yes & & Yes & No & 2& []& [($B_{2}(3)$, 3), ($C_{3}(2)$, 4), ($\textrm{Alt}_{11}$, 1)] & [ 3, 4, 5, 11, 19, 25, 28 ] & 28
|
||||||
|
8 & 48 & 48 & 1 & 29 & No & b^-1 * c^-1 * a^-1 * c * b * c * a * c^-1, a * c^-1 * b * c * a^-1 * c * b^-1 * c^-1 & Yes & No & 2& []& [($\textrm{Alt}_{7}$, 1), ($B_{2}(3)$, 2), ($C_{3}(2)$, 1), ($B_{2}(5)$, 3), ($\textrm{Alt}_{11}$, 1)] & [ 3, 4, 7, 11, 15, 19, 22, 23, 24, 25, 26, 27, 28 ] & 28
|
||||||
|
8 & 48 & 54 & 0 & 41 & Yes & & Yes & No & 2& []& [($B_{2}(3)$, 2), ($\textrm{Alt}_{9}$, 1)] & [ 3, 4, 9 ] & 28
|
||||||
|
8 & 48 & 54 & 2 & 41 & Yes & & Yes & No & 2& []& [($B_{2}(3)$, 2), ($C_{3}(2)$, 1), ($\textrm{Alt}_{10}$, 2), (${}^2A_{4}(4)$, 1)] & [ 3, 4, 10, 13, 20, 26, 28 ] & 28
|
||||||
|
8 & 54 & 54 & 0 & 53 & Yes & & ? & No & 2& []& [] & [ 3, 4 ] & 28
|
||||||
|
8 & 54 & 54 & 2 & 53 & No & a^-1 * c^-1 * b^-1 * c, b * c * a * c & Yes & No & 2& []& [($B_{2}(3)$, 2), ($\textrm{Alt}_{9}$, 2), ($C_{3}(2)$, 4), ($\textrm{Alt}_{10}$, 12), (${}^2A_{3}(9)$, 1), ($A_{3}(3)$, 5), (${}^2A_{4}(4)$, 1), ($\textrm{Alt}_{11}$, 4)] & [ 3, 4, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28 ] & 28
|
||||||
|
8 & 54 & 54 & 8 & 53 & No & a * c * b^-1 * c^-1 * a^-1 * c * b * c^-1, b^-1 * c * a * c^-1 * b * c * a^-1 * c^-1 & Yes & No & 2& []& [($B_{2}(3)$, 2), ($\textrm{Alt}_{9}$, 2)] & [ 3, 4, 9, 18, 27, 28 ] & 28
|
|
83
data/table_3_3_3.csv
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
order1 & order2 & order3 & index & presentation length & hyperbolic & witnesses for non-hyperbolicity & virtually torsion-free & Kazhdan & abelianization dimension & L2-quotients & quotients & alternating quotients & maximal order for alternating quotients
|
||||||
|
14 & 14 & 14 & 0 & 27 & ? & & Yes & Yes & 0& [L_2(7)]& [(${}^2A_{2}(9)$, 1), (${}^2A_{2}(25)$, 1)] & [ ] & 36
|
||||||
|
14 & 14 & 14 & 1 & 27 & No & c^-1 * a * b^-1 * a * c * a * b^-1 * a, a^-1 * b * c * a * b^-1 * a * c^-1 * b & ? & Yes & 1& []& [] & [ 3 ] & 36
|
||||||
|
14 & 14 & 14 & 2 & 27 & No & c^-1 * a * b^-1 * a, a^-1 * b * c^-1 * b & Yes & Yes & 0& []& [($\textrm{Alt}_{7}$, 1)] & [ 7 ] & 36
|
||||||
|
14 & 14 & 14 & 6 & 27 & No & c * a * b * a, b^-1 * a^-1 * c * a & Yes & Yes & 1& []& [($A_{2}(8)$, 2)] & [ 3 ] & 36
|
||||||
|
14 & 14 & 16 & 0 & 27 & No & c * a * b * a, a^-1 * b^-1 * c^-1 * b & Yes & No & 1& [L_2(7)]& [($\textrm{Alt}_{8}$ or $A_{2}(4)$, 1)] & [ 3, 8 ] & 36
|
||||||
|
14 & 14 & 16 & 1 & 27 & No & c * a * b * a * c^-1 * a^-1 * b^-1 * a^-1, b^-1 * a * c * a^-1 * b^-1 * a * c * a^-1 & ? & ? & 0& [L_2(7)]& [] & [ ] & 36
|
||||||
|
14 & 14 & 16 & 4 & 27 & No & c * a * b * a * c^-1 * a^-1 * b^-1 * a, a^-1 * b * c^-1 * a * b * a * c * b^-1 & ? & ? & 0& []& [] & [ ] & 36
|
||||||
|
14 & 14 & 16 & 5 & 27 & No & c * a * b * a * c^-1 * b * a * c^-1 * b * a^-1, b * a^-1 * c^-1 * a * b^-1 * c^-1 * a * b * c * a^-1 & ? & ? & 1& []& [] & [ 3 ] & 36
|
||||||
|
14 & 14 & 18 & 0 & 33 & No & c^-1 * a * b^-1 * a, a^-1 * b * c^-1 * b & Yes & ? & 1& []& [(${}^2A_{2}(9)$, 1)] & [ 3 ] & 36
|
||||||
|
14 & 14 & 18 & 4 & 33 & No & a^-1 * b * c * b, c * a * b^-1 * a & ? & ? & 1& []& [] & [ 3 ] & 36
|
||||||
|
14 & 14 & 24 & 0 & 35 & Yes & & ? & ? & 1& [L_2(7)]& [] & [ 3 ] & 36
|
||||||
|
14 & 14 & 24 & 1 & 35 & No & c^-1 * a * b^-1 * a, a^-1 * b * c^-1 * b & Yes & No & 1& [L_2(7)]& [($\textrm{Alt}_{7}$, 1), (${}^2A_{2}(25)$, 1)] & [ 3, 7 ] & 36
|
||||||
|
14 & 14 & 24 & 4 & 35 & No & a^-1 * b * c * b, c * a * b^-1 * a & Yes & No & 1& []& [($\textrm{Alt}_{8}$ or $A_{2}(4)$, 1), ($\textrm{M}_{22}$, 1)] & [ 3, 8 ] & 36
|
||||||
|
14 & 14 & 24 & 5 & 35 & No & b * a^-1 * c * a^-1 * b^-1 * a * c^-1 * a, c^-1 * a * b * a^-1 * c * a^-1 * b^-1 * a & Yes & ? & 1& []& [($\textrm{Alt}_{7}$, 1)] & [ 3, 7 ] & 36
|
||||||
|
14 & 14 & 26 & 0 & 35 & Yes & & ? & ? & 1& []& [] & [ 3 ] & 36
|
||||||
|
14 & 14 & 26 & 1 & 35 & No & c^-1 * a * b^-1 * a, a^-1 * b * c^-1 * b & Yes & ? & 0& []& [($A_{2}(9)$, 1)] & [ 14 ] & 36
|
||||||
|
14 & 14 & 26 & 3 & 35 & No & c^-1 * a * b^-1 * a, a^-1 * b * c^-1 * b & ? & ? & 0& []& [] & [ ] & 36
|
||||||
|
14 & 14 & 26 & 4 & 35 & No & a^-1 * b * c * b, c * a * b^-1 * a & ? & ? & 0& []& [] & [ ] & 36
|
||||||
|
14 & 14 & 26 & 5 & 35 & No & b * a^-1 * c * a^-1 * b^-1 * a * c^-1 * a, c^-1 * a * b * a^-1 * c * a^-1 * b^-1 * a & ? & ? & 1& []& [] & [ 3 ] & 36
|
||||||
|
14 & 14 & 26 & 7 & 35 & No & b * a^-1 * c * a^-1 * b^-1 * a * c^-1 * a, c^-1 * a * b * a^-1 * c * a^-1 * b^-1 * a & ? & ? & 1& []& [] & [ 3 ] & 36
|
||||||
|
14 & 16 & 16 & 0 & 27 & No & b^-1 * a * c * b * a^-1 * c^-1, b^-1 * c * a * b^-1 * c^-1 * a & ? & No & 0& [L_2(7)]& [] & [ ] & 36
|
||||||
|
14 & 16 & 16 & 1 & 27 & No & a^-1 * b * c * a^-1 * b * a * c^-1 * a^-1 * b^-1 * a * c^-1 * b^-1, c * a^-1 * b * a * c * a^-1 * b^-1 * a * c^-1 * a^-1 * b^-1 * a & ? & ? & 1& []& [] & [ 3, 4 ] & 36
|
||||||
|
14 & 16 & 18 & 0 & 33 & No & a * c * b^-1 * a^-1 * c * b, c^-1 * a^-1 * b^-1 * c^-1 * a * b & ? & ? & 1& []& [] & [ 3 ] & 36
|
||||||
|
14 & 16 & 24 & 0 & 35 & Yes & & ? & No & 1& [L_2(7)]& [] & [ 3 ] & 36
|
||||||
|
14 & 16 & 24 & 1 & 35 & Yes & & ? & ? & 1& []& [] & [ 3, 4 ] & 36
|
||||||
|
14 & 16 & 26 & 0 & 35 & Yes & & ? & ? & 0& []& [] & [ ] & 36
|
||||||
|
14 & 16 & 26 & 1 & 35 & Yes & & ? & No & 1& []& [] & [ 3 ] & 36
|
||||||
|
14 & 16 & 26 & 3 & 35 & Yes & & ? & ? & 1& []& [] & [ 3 ] & 36
|
||||||
|
14 & 16 & 26 & 7 & 35 & Yes & & ? & ? & 0& []& [] & [ ] & 36
|
||||||
|
14 & 18 & 18 & 0 & 39 & No & a^-1 * b * c * b, c * a * b^-1 * a & ? & No & 2& []& [] & [ 3 ] & 36
|
||||||
|
14 & 18 & 24 & 0 & 41 & No & a^-1 * b * c * b, c * a * b^-1 * a & ? & ? & 2& []& [] & [ 3 ] & 36
|
||||||
|
14 & 18 & 26 & 0 & 41 & No & a^-1 * b * c * b, c * a * b^-1 * a & ? & ? & 1& []& [] & [ 3 ] & 36
|
||||||
|
14 & 18 & 26 & 3 & 41 & No & c^-1 * a * b^-1 * a, a^-1 * b * c^-1 * b & ? & ? & 1& []& [] & [ 3 ] & 36
|
||||||
|
14 & 24 & 24 & 0 & 43 & No & a^-1 * b * c * b, c * a * b^-1 * a & Yes & No & 2& [L_2(7)]& [($\textrm{Alt}_{7}$, 1), ($\textrm{Alt}_{8}$ or $A_{2}(4)$, 1), ($\textrm{J}_{2}$, 1), (${}^2A_{3}(9)$, 1)] & [ 3, 7, 8, 22, 28, 29, 31, 35, 36 ] & 36
|
||||||
|
14 & 24 & 24 & 1 & 43 & Yes & & ? & No & 2& []& [] & [ 3, 4 ] & 36
|
||||||
|
14 & 24 & 26 & 0 & 43 & No & a^-1 * b * c * b, c * a * b^-1 * a & ? & ? & 1& []& [] & [ 3 ] & 36
|
||||||
|
14 & 24 & 26 & 1 & 43 & Yes & & ? & ? & 1& []& [] & [ 3 ] & 36
|
||||||
|
14 & 24 & 26 & 3 & 43 & Yes & & ? & ? & 1& []& [] & [ 3 ] & 36
|
||||||
|
14 & 24 & 26 & 7 & 43 & No & c^-1 * a * b^-1 * a, a^-1 * b * c^-1 * b & ? & ? & 1& []& [] & [ 3 ] & 36
|
||||||
|
14 & 26 & 26 & 0 & 43 & No & a^-1 * b * c * b, c * a * b^-1 * a & ? & ? & 0& []& [] & [ ] & 36
|
||||||
|
14 & 26 & 26 & 1 & 43 & Yes & & ? & ? & 1& []& [] & [ 3 ] & 36
|
||||||
|
14 & 26 & 26 & 3 & 43 & Yes & & ? & ? & 1& []& [] & [ 3 ] & 36
|
||||||
|
14 & 26 & 26 & 4 & 43 & Yes & & ? & ? & 1& []& [] & [ 3 ] & 36
|
||||||
|
14 & 26 & 26 & 5 & 43 & No & c^-1 * a * b^-1 * a, a^-1 * b * c^-1 * b & ? & ? & 0& []& [] & [ 14 ] & 36
|
||||||
|
14 & 26 & 26 & 15 & 43 & No & c^-1 * a * b^-1 * a, a^-1 * b * c^-1 * b & ? & ? & 0& []& [] & [ 13 ] & 36
|
||||||
|
16 & 16 & 16 & 0 & 27 & No & c * a * b * a, a^-1 * b^-1 * c^-1 * b & Yes & No & 1& []& [(${}^2A_{2}(9)$, 1), ($\textrm{J}_{2}$, 1), (${}^2A_{2}(64)$, 2), ($A_{2}(9)$, 1), (${}^2A_{2}(81)$, 2)] & [ 3, 4 ] & 36
|
||||||
|
16 & 16 & 16 & 1 & 27 & No & c * a * b * a * c^-1 * a^-1 * b^-1 * a^-1, b * a * c^-1 * a^-1 * b^-1 * a * c * a^-1 & Yes & No & 0& []& [($A_{2}(3)$, 1), (${}^2A_{2}(9)$, 2), (${}^2A_{2}(81)$, 2)] & [ 5, 29 ] & 36
|
||||||
|
16 & 16 & 18 & 0 & 33 & No & b^-1 * a * c^-1 * b * a * c^-1, a * c^-1 * b^-1 * a * c^-1 * b & Yes & No & 1& []& [($A_{2}(3)$, 2), ($A_{2}(9)$, 3)] & [ 3, 4 ] & 36
|
||||||
|
16 & 16 & 24 & 0 & 35 & Yes & & Yes & No & 1& []& [($\textrm{Alt}_{10}$, 1), ($A_{4}(2)$, 1)] & [ 3, 4, 10, 34, 36 ] & 36
|
||||||
|
16 & 16 & 24 & 1 & 35 & No & b^-1 * a * c^-1 * b * a * c^-1, a * c^-1 * b^-1 * a * c^-1 * b & Yes & No & 1& []& [($\textrm{Alt}_{9}$, 1), ($\textrm{HS}_{}$, 1)] & [ 3, 4, 5, 9, 21, 29, 33, 34 ] & 36
|
||||||
|
16 & 16 & 26 & 0 & 35 & Yes & & ? & ? & 1& []& [] & [ 3, 4 ] & 36
|
||||||
|
16 & 16 & 26 & 1 & 35 & No & b^-1 * a * c^-1 * b * a * c^-1, a * c^-1 * b^-1 * a * c^-1 * b & ? & No & 0& [L_2(13)]& [] & [ 16, 30 ] & 36
|
||||||
|
16 & 18 & 18 & 0 & 39 & No & b^-1 * a^-1 * c^-1 * a^-1 * b * a * c^-1 * a, c^-1 * a * b * a * c^-1 * a * b * a & Yes & No & 2& []& [($A_{2}(3)$, 2), (${}^2A_{2}(64)$, 2), ($A_{2}(9)$, 3)] & [ 3, 4 ] & 36
|
||||||
|
16 & 18 & 24 & 0 & 41 & Yes & & Yes & No & 2& []& [($\textrm{Alt}_{10}$, 1)] & [ 3, 4, 10, 19, 34 ] & 36
|
||||||
|
16 & 18 & 26 & 0 & 41 & Yes & & ? & ? & 1& []& [] & [ 3 ] & 36
|
||||||
|
16 & 24 & 24 & 0 & 43 & Yes & & Yes & No & 2& []& [($\textrm{Alt}_{7}$, 1), ($\textrm{Alt}_{8}$ or $A_{2}(4)$, 2), (${}^2A_{2}(25)$, 1), ($\textrm{J}_{2}$, 1), ($C_{3}(2)$, 1), (${}^2A_{3}(9)$, 1), ($B_{2}(5)$, 1), ($\textrm{HS}_{}$, 1)] & [ 3, 4, 7, 8, 15, 18, 19, 20, 22, 23, 24, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36 ] & 36
|
||||||
|
16 & 24 & 24 & 1 & 43 & Yes & & Yes & No & 2& []& [($C_{3}(2)$, 2)] & [ 3, 4, 5, 17, 18, 19, 21, 22, 27, 29, 30, 31, 32, 33, 34, 35, 36 ] & 36
|
||||||
|
16 & 24 & 26 & 0 & 43 & Yes & & ? & ? & 1& []& [] & [ 3, 4 ] & 36
|
||||||
|
16 & 24 & 26 & 1 & 43 & Yes & & ? & ? & 1& [L_2(13)]& [] & [ 3 ] & 36
|
||||||
|
16 & 26 & 26 & 0 & 43 & Yes & & ? & No & 1& []& [] & [ 3, 26 ] & 36
|
||||||
|
16 & 26 & 26 & 1 & 43 & Yes & & ? & ? & 0& [L_2(13)]& [($A_{2}(3)$, 1)] & [ ] & 36
|
||||||
|
16 & 26 & 26 & 3 & 43 & Yes & & Yes & No & 0& []& [($A_{2}(3)$, 2), ($G_{2}(3)$, 1)] & [ 26 ] & 36
|
||||||
|
16 & 26 & 26 & 5 & 43 & Yes & & Yes & ? & 1& [L_2(13)]& [($A_{2}(3)$, 1), ($G_{2}(3)$, 1), ($A_{3}(3)$, 1)] & [ 3, 14, 26, 28, 29 ] & 36
|
||||||
|
18 & 18 & 18 & 0 & 45 & No & c * a * b * a, b * a * c * a & Yes & No & 3& []& [($A_{2}(3)$, 2), ($A_{2}(9)$, 3)] & [ 3, 27, 36 ] & 36
|
||||||
|
18 & 18 & 24 & 0 & 47 & No & c * a * b * a, b * a * c * a & Yes & No & 3& []& [($\textrm{Alt}_{10}$, 1), ($\textrm{Alt}_{11}$, 1)] & [ 3, 4, 10, 11, 12, 15, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36 ] & 36
|
||||||
|
18 & 18 & 26 & 0 & 47 & No & c * a * b * a, b * a * c * a & Yes & No & 2& []& [($A_{2}(3)$, 2), ($A_{2}(9)$, 3)] & [ 3, 13 ] & 36
|
||||||
|
18 & 24 & 24 & 0 & 49 & No & a^-1 * b * c * b, c * a * b^-1 * a & Yes & No & 3& []& [($\textrm{Alt}_{10}$, 1), (${}^2A_{3}(9)$, 1), ($\textrm{Alt}_{11}$, 1)] & [ 3, 4, 10, 11, 15, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36 ] & 36
|
||||||
|
18 & 24 & 26 & 0 & 49 & No & a^-1 * b * c * b, c * a * b^-1 * a & ? & ? & 2& []& [] & [ 3, 27 ] & 36
|
||||||
|
18 & 26 & 26 & 0 & 49 & No & a^-1 * b * c * b, c * a * b^-1 * a & Yes & No & 1& []& [($G_{2}(3)$, 2)] & [ 3, 13 ] & 36
|
||||||
|
18 & 26 & 26 & 1 & 49 & No & a^-1 * b^-1 * c^-1 * b^-1, b * a * c^-1 * a & Yes & No & 1& []& [($A_{2}(3)$, 2), ($G_{2}(3)$, 1)] & [ 3, 13, 27 ] & 36
|
||||||
|
24 & 24 & 24 & 0 & 51 & Yes & & Yes & No & 3& []& [($\textrm{Alt}_{7}$, 3), ($\textrm{M}_{12}$, 1), ($A_{2}(7)$, 1), ($B_{2}(5)$, 3), ($A_{4}(2)$, 1)] & [ 3, 4, 7, 13, 15, 18, 19, 20, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36 ] & 36
|
||||||
|
24 & 24 & 24 & 1 & 51 & No & a^-1 * b^-1 * c^-1 * b^-1, b * a * c^-1 * a & Yes & No & 3& []& [($\textrm{M}_{22}$, 1), (${}^2A_{3}(9)$, 3)] & [ 3, 4, 5, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36 ] & 36
|
||||||
|
24 & 24 & 26 & 0 & 51 & Yes & & ? & No & 2& []& [] & [ 3, 4 ] & 36
|
||||||
|
24 & 24 & 26 & 1 & 51 & No & a^-1 * b^-1 * c^-1 * b^-1, b * a * c^-1 * a & Yes & No & 2& [L_2(13)]& [($A_{3}(3)$, 1)] & [ 3, 13, 14, 15, 16, 26, 27, 28 ] & 36
|
||||||
|
24 & 26 & 26 & 0 & 51 & Yes & & ? & No & 1& []& [] & [ 3, 26, 28 ] & 36
|
||||||
|
24 & 26 & 26 & 1 & 51 & No & a^-1 * b^-1 * c^-1 * b^-1, b * a * c^-1 * a & Yes & No & 1& [L_2(13)]& [($A_{2}(3)$, 2), ($A_{3}(3)$, 1)] & [ 3, 13, 14, 27 ] & 36
|
||||||
|
24 & 26 & 26 & 3 & 51 & No & a^-1 * b^-1 * c^-1 * b^-1, b * a * c^-1 * a & ? & No & 1& []& [($A_{2}(3)$, 2)] & [ 3, 13, 14, 16, 26 ] & 36
|
||||||
|
24 & 26 & 26 & 5 & 51 & Yes & & ? & No & 1& [L_2(13)]& [($A_{2}(3)$, 2), ($A_{3}(3)$, 1)] & [ 3, 13, 14, 26, 27, 28 ] & 36
|
||||||
|
26 & 26 & 26 & 0 & 51 & Yes & & Yes & No & 1& []& [($A_{2}(3)$, 1), ($A_{2}(9)$, 3)] & [ 3, 26 ] & 36
|
||||||
|
26 & 26 & 26 & 1 & 51 & No & a^-1 * b^-1 * c^-1 * b^-1, b * a * c^-1 * a & Yes & No & 0& []& [($A_{2}(3)$, 2), (${}^2A_{2}(16)$, 2), ($G_{2}(3)$, 6)] & [ 13, 26 ] & 36
|
||||||
|
26 & 26 & 26 & 5 & 51 & Yes & & Yes & No & 1& []& [($A_{2}(3)$, 2), (${}^2A_{2}(16)$, 1)] & [ 3 ] & 36
|
||||||
|
26 & 26 & 26 & 21 & 51 & No & b^-1 * a * c^-1 * a, a^-1 * b * c^-1 * b & Yes & No & 0& [L_2(13)]& [($A_{2}(3)$, 5), (${}^2A_{2}(16)$, 3), ($G_{2}(3)$, 1), (${}^2F_4(2)'$, 1)] & [ 13, 30 ] & 36
|
|
79
data/table_3_3_4.csv
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
order1 & order2 & order3 & index & presentation length & virtually torsion-free & Kazhdan & abelianization dimension & L2-quotients & quotients & alternating quotients & maximal order for alternating quotients
|
||||||
|
14 & 14 & 40 & 0 & 37 & Yes & No & 0& [L_2(7^2)]& [($\textrm{Alt}_{7}$, 1), ($\textrm{J}_{1}$, 2), (${}^2A_{3}(9)$, 1)] & [ 7 ] & 30
|
||||||
|
14 & 14 & 40 & 4 & 37 & Yes & ? & 0& []& [($\textrm{Alt}_{7}$, 2), ($\textrm{M}_{22}$, 1)] & [ 7, 28 ] & 30
|
||||||
|
14 & 14 & 48 & 0 & 29 & ? & No & 1& [L_2(7)]& [($\textrm{Alt}_{7}$, 1), (${}^2A_{2}(25)$, 1)] & [ 3, 7 ] & 30
|
||||||
|
14 & 14 & 48 & 1 & 29 & ? & No & 1& [L_2(7)]& [($\textrm{Alt}_{8}$ or $A_{2}(4)$, 1)] & [ 3, 8 ] & 30
|
||||||
|
14 & 14 & 48 & 4 & 29 & ? & ? & 1& []& [($\textrm{Alt}_{7}$, 1)] & [ 3, 7 ] & 30
|
||||||
|
14 & 14 & 48 & 5 & 29 & ? & No & 1& []& [($\textrm{Alt}_{8}$ or $A_{2}(4)$, 1), ($\textrm{M}_{22}$, 1)] & [ 3, 8, 21 ] & 30
|
||||||
|
14 & 14 & 54 & 0 & 41 & ? & ? & 1& []& [(${}^2A_{2}(9)$, 1)] & [ 3 ] & 30
|
||||||
|
14 & 14 & 54 & 4 & 41 & ? & ? & 1& []& [] & [ 3 ] & 30
|
||||||
|
14 & 16 & 40 & 0 & 37 & ? & ? & 0& [L_2(7^2)]& [] & [ ] & 30
|
||||||
|
14 & 16 & 48 & 0 & 29 & ? & ? & 1& []& [] & [ 3, 4 ] & 30
|
||||||
|
14 & 16 & 48 & 1 & 29 & ? & No & 1& [L_2(7)]& [] & [ 3 ] & 30
|
||||||
|
14 & 16 & 54 & 0 & 41 & ? & ? & 1& []& [] & [ 3 ] & 30
|
||||||
|
14 & 16 & 54 & 2 & 41 & ? & ? & 1& []& [] & [ 3 ] & 30
|
||||||
|
14 & 18 & 40 & 0 & 43 & Yes & ? & 0& []& [($\textrm{J}_{2}$, 1)] & [ 21, 25 ] & 30
|
||||||
|
14 & 18 & 48 & 0 & 35 & Yes & ? & 2& []& [($G_{2}(3)$, 1)] & [ 3 ] & 30
|
||||||
|
14 & 18 & 54 & 0 & 47 & ? & No & 2& []& [] & [ 3 ] & 30
|
||||||
|
14 & 18 & 54 & 2 & 47 & ? & No & 2& []& [] & [ 3, 21, 28, 29 ] & 30
|
||||||
|
14 & 24 & 40 & 0 & 45 & Yes & ? & 0& [L_2(7^2)]& [($\textrm{Alt}_{7}$, 1), ($\textrm{Alt}_{10}$, 1), ($A_{4}(2)$, 1)] & [ 7, 10 ] & 30
|
||||||
|
14 & 24 & 48 & 0 & 37 & ? & No & 2& []& [] & [ 3, 4 ] & 30
|
||||||
|
14 & 24 & 48 & 1 & 37 & Yes & No & 2& [L_2(7)]& [($\textrm{Alt}_{7}$, 1), ($\textrm{Alt}_{8}$ or $A_{2}(4)$, 1), ($\textrm{J}_{2}$, 1), ($C_{3}(2)$, 1), (${}^2A_{3}(9)$, 1)] & [ 3, 7, 8, 15, 22, 28, 29 ] & 30
|
||||||
|
14 & 24 & 54 & 0 & 49 & ? & ? & 2& []& [] & [ 3, 18 ] & 30
|
||||||
|
14 & 24 & 54 & 2 & 49 & Yes & No & 2& []& [($C_{3}(2)$, 1), (${}^2A_{3}(9)$, 1)] & [ 3, 14, 21, 28 ] & 30
|
||||||
|
14 & 26 & 40 & 0 & 45 & ? & ? & 0& []& [] & [ ] & 30
|
||||||
|
14 & 26 & 40 & 4 & 45 & ? & ? & 0& []& [] & [ ] & 30
|
||||||
|
14 & 26 & 48 & 0 & 37 & ? & ? & 1& []& [] & [ 3 ] & 30
|
||||||
|
14 & 26 & 48 & 1 & 37 & ? & ? & 1& []& [] & [ 3 ] & 30
|
||||||
|
14 & 26 & 48 & 4 & 37 & ? & ? & 1& []& [] & [ 3 ] & 30
|
||||||
|
14 & 26 & 48 & 5 & 37 & ? & ? & 1& []& [] & [ 3 ] & 30
|
||||||
|
14 & 26 & 54 & 0 & 49 & ? & ? & 1& []& [] & [ 3 ] & 30
|
||||||
|
14 & 26 & 54 & 2 & 49 & ? & ? & 1& []& [] & [ 3 ] & 30
|
||||||
|
14 & 26 & 54 & 4 & 49 & ? & ? & 1& []& [] & [ 3 ] & 30
|
||||||
|
14 & 26 & 54 & 6 & 49 & ? & ? & 1& []& [] & [ 3 ] & 30
|
||||||
|
16 & 16 & 40 & 0 & 37 & Yes & No & 0& []& [($\textrm{M}_{11}$, 1), ($B_{2}(3)$, 1), ($\textrm{J}_{2}$, 2), (${}^2A_{3}(9)$, 1), ($B_{2}(5)$, 1), ($A_{3}(3)$, 2)] & [ 5, 21, 26, 28 ] & 30
|
||||||
|
16 & 16 & 48 & 0 & 29 & ? & No & 1& []& [($A_{2}(3)$, 1), (${}^2A_{2}(9)$, 2), ($\textrm{Alt}_{9}$, 1), (${}^2A_{2}(81)$, 2), ($\textrm{HS}_{}$, 1)] & [ 3, 4, 5, 9, 21, 26, 29, 30 ] & 30
|
||||||
|
16 & 16 & 48 & 1 & 29 & Yes & No & 1& []& [(${}^2A_{2}(9)$, 1), ($\textrm{J}_{2}$, 1), ($\textrm{Alt}_{10}$, 1), ($B_{2}(5)$, 1), (${}^2A_{2}(64)$, 2), ($A_{4}(2)$, 1), ($A_{2}(9)$, 1), (${}^2A_{2}(81)$, 2)] & [ 3, 4, 10 ] & 30
|
||||||
|
16 & 16 & 54 & 0 & 41 & ? & No & 1& []& [($A_{2}(3)$, 2), ($B_{2}(3)$, 1), ($A_{2}(9)$, 3)] & [ 3, 4, 18, 22, 25, 26, 27 ] & 30
|
||||||
|
16 & 18 & 40 & 0 & 43 & Yes & No & 0& [L_2(3^2)]& [($B_{2}(3)$, 2), ($\textrm{M}_{12}$, 5)] & [ 6, 18, 24, 27, 30 ] & 30
|
||||||
|
16 & 18 & 48 & 0 & 35 & ? & No & 2& []& [($A_{2}(3)$, 2), ($\textrm{Alt}_{10}$, 1), ($A_{2}(9)$, 3)] & [ 3, 4, 10, 17, 19, 30 ] & 30
|
||||||
|
16 & 18 & 54 & 0 & 47 & ? & No & 2& []& [($A_{2}(3)$, 2), (${}^2A_{2}(64)$, 2), ($A_{2}(9)$, 3)] & [ 3, 4, 25, 26, 27 ] & 30
|
||||||
|
16 & 18 & 54 & 2 & 47 & ? & No & 2& []& [($A_{2}(3)$, 2), (${}^2A_{2}(64)$, 2), ($A_{2}(9)$, 3)] & [ 3, 4, 20, 21, 22, 24, 25, 26, 27, 29, 30 ] & 30
|
||||||
|
16 & 24 & 40 & 0 & 45 & Yes & No & 0& [L_2(3^2)]& [($B_{2}(5)$, 2), ($A_{4}(2)$, 3), ($\textrm{Alt}_{11}$, 2)] & [ 5, 6, 11, 21, 22 ] & 30
|
||||||
|
16 & 24 & 48 & 0 & 37 & ? & No & 2& []& [($\textrm{Alt}_{9}$, 1), ($C_{3}(2)$, 5), ($\textrm{HS}_{}$, 1)] & [ 3, 4, 5, 9, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
16 & 24 & 48 & 1 & 37 & Yes & No & 2& []& [($\textrm{Alt}_{7}$, 1), ($\textrm{Alt}_{8}$ or $A_{2}(4)$, 2), (${}^2A_{2}(25)$, 1), ($\textrm{J}_{2}$, 1), ($C_{3}(2)$, 2), ($\textrm{Alt}_{10}$, 1), (${}^2A_{3}(9)$, 1), ($B_{2}(5)$, 1), ($A_{4}(2)$, 1), ($\textrm{HS}_{}$, 1)] & [ 3, 4, 7, 8, 10, 12, 15, 16, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
16 & 24 & 54 & 0 & 49 & Yes & No & 2& []& [($\textrm{Alt}_{9}$, 1), ($C_{3}(2)$, 1), ($\textrm{Alt}_{10}$, 1)] & [ 3, 4, 9, 10, 12, 18, 19, 21, 25, 27, 28, 29, 30 ] & 30
|
||||||
|
16 & 24 & 54 & 2 & 49 & ? & No & 2& []& [($B_{2}(3)$, 1), ($\textrm{Alt}_{10}$, 3)] & [ 3, 4, 10, 12, 14, 16, 19, 20, 22, 23, 24, 26, 27, 28, 30 ] & 30
|
||||||
|
16 & 26 & 40 & 0 & 45 & ? & ? & 0& [L_2(13^2)]& [(${}^2F_4(2)'$, 1)] & [ ] & 30
|
||||||
|
16 & 26 & 48 & 0 & 37 & ? & No & 1& [L_2(13)]& [] & [ 3, 16, 30 ] & 30
|
||||||
|
16 & 26 & 48 & 1 & 37 & ? & ? & 1& []& [] & [ 3, 4 ] & 30
|
||||||
|
16 & 26 & 54 & 0 & 49 & ? & ? & 1& []& [] & [ 3 ] & 30
|
||||||
|
16 & 26 & 54 & 2 & 49 & ? & ? & 1& []& [] & [ 3, 28 ] & 30
|
||||||
|
18 & 18 & 40 & 0 & 49 & Yes & No & 1& []& [($\textrm{M}_{12}$, 2), ($A_{3}(3)$, 4)] & [ 3, 5, 12, 17, 18, 19, 20, 21, 22, 24, 26, 27, 29, 30 ] & 30
|
||||||
|
18 & 18 & 48 & 0 & 41 & ? & No & 3& []& [($A_{2}(3)$, 2), ($\textrm{Alt}_{10}$, 1), (${}^2A_{2}(64)$, 2), ($\textrm{Alt}_{11}$, 1), ($A_{2}(9)$, 3)] & [ 3, 4, 10, 11, 12, 15, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30 ] & 30
|
||||||
|
18 & 18 & 54 & 0 & 53 & ? & No & 3& []& [($A_{2}(3)$, 2), ($A_{2}(9)$, 3)] & [ 3, 19, 22, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
18 & 24 & 40 & 0 & 51 & Yes & No & 1& [L_2(3^2)]& [($\textrm{M}_{12}$, 6), ($\textrm{Alt}_{10}$, 2), (${}^2A_{3}(9)$, 2), ($A_{3}(3)$, 3), ($\textrm{Alt}_{11}$, 4)] & [ 3, 5, 6, 10, 11, 12, 15, 16, 17, 18, 21, 22, 23, 24, 25, 26, 27, 28, 30 ] & 30
|
||||||
|
18 & 24 & 48 & 0 & 43 & Yes & No & 3& []& [($\textrm{Alt}_{10}$, 2), (${}^2A_{3}(9)$, 1), ($A_{3}(3)$, 2), ($\textrm{Alt}_{11}$, 1)] & [ 3, 4, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
18 & 24 & 54 & 0 & 55 & Yes & No & 3& []& [($\textrm{Alt}_{10}$, 2), ($A_{3}(3)$, 4), ($\textrm{Alt}_{11}$, 2)] & [ 3, 4, 10, 11, 12, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
18 & 24 & 54 & 2 & 55 & Yes & No & 3& []& [($\textrm{Alt}_{9}$, 2), ($\textrm{Alt}_{10}$, 1), ($\textrm{Alt}_{11}$, 1)] & [ 3, 4, 9, 10, 11, 12, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30 ] & 30
|
||||||
|
18 & 26 & 40 & 0 & 51 & ? & ? & 0& []& [] & [ ] & 30
|
||||||
|
18 & 26 & 48 & 0 & 43 & Yes & ? & 2& []& [($G_{2}(3)$, 1)] & [ 3, 27 ] & 30
|
||||||
|
18 & 26 & 54 & 0 & 55 & ? & No & 2& []& [($A_{2}(3)$, 2), ($A_{2}(9)$, 3)] & [ 3, 13, 26, 27 ] & 30
|
||||||
|
18 & 26 & 54 & 2 & 55 & ? & No & 2& []& [($A_{2}(3)$, 2), ($A_{2}(9)$, 3)] & [ 3, 13 ] & 30
|
||||||
|
24 & 24 & 40 & 0 & 53 & Yes & No & 1& [L_2(3^2), L_2(3^2)]& [($\textrm{Alt}_{7}$, 2), ($\textrm{M}_{22}$, 2), ($\textrm{J}_{2}$, 4), ($C_{2}(4)$, 4), ($C_{3}(2)$, 1), ($B_{2}(5)$, 8), ($A_{3}(3)$, 1), ($A_{4}(2)$, 2)] & [ 3, 5, 6, 7, 12, 13, 15, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
24 & 24 & 48 & 0 & 45 & Yes & No & 3& []& [($\textrm{M}_{22}$, 1), ($C_{3}(2)$, 6), (${}^2A_{3}(9)$, 5), ($B_{2}(5)$, 2), ($A_{3}(3)$, 1)] & [ 3, 4, 5, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
24 & 24 & 48 & 1 & 45 & Yes & No & 3& []& [($\textrm{Alt}_{7}$, 3), ($\textrm{Alt}_{8}$ or $A_{2}(4)$, 2), ($\textrm{M}_{12}$, 1), (${}^2A_{2}(25)$, 1), ($\textrm{J}_{2}$, 1), ($C_{3}(2)$, 3), ($A_{2}(7)$, 1), (${}^2A_{3}(9)$, 1), ($B_{2}(5)$, 3), ($A_{4}(2)$, 1), (${}^2A_{4}(4)$, 2), ($\textrm{HS}_{}$, 1)] & [ 3, 4, 7, 8, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
24 & 24 & 54 & 0 & 57 & Yes & No & 3& []& [($\textrm{Alt}_{9}$, 3), ($\textrm{Alt}_{10}$, 4), (${}^2A_{3}(9)$, 1), ($\textrm{Alt}_{11}$, 2)] & [ 3, 4, 9, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
24 & 26 & 40 & 0 & 53 & ? & ? & 0& [L_2(13^2)]& [] & [ ] & 30
|
||||||
|
24 & 26 & 48 & 0 & 45 & ? & No & 2& [L_2(13)]& [($A_{3}(3)$, 1)] & [ 3, 13, 14, 15, 16, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
24 & 26 & 48 & 1 & 45 & ? & No & 2& []& [] & [ 3, 4, 14, 28 ] & 30
|
||||||
|
24 & 26 & 54 & 0 & 57 & Yes & No & 2& []& [($A_{3}(3)$, 1)] & [ 3, 13, 26, 27, 28 ] & 30
|
||||||
|
24 & 26 & 54 & 2 & 57 & ? & ? & 2& []& [] & [ 3, 13, 27 ] & 30
|
||||||
|
26 & 26 & 40 & 0 & 53 & ? & ? & 0& []& [] & [ 13 ] & 30
|
||||||
|
26 & 26 & 40 & 4 & 53 & Yes & ? & 0& [L_2(13^2)]& [(${}^2A_{2}(16)$, 1), ($A_{3}(3)$, 1)] & [ 13, 26 ] & 30
|
||||||
|
26 & 26 & 48 & 0 & 45 & ? & No & 1& []& [($A_{2}(3)$, 2), ($G_{2}(3)$, 1)] & [ 3, 13, 14, 16, 26 ] & 30
|
||||||
|
26 & 26 & 48 & 1 & 45 & ? & No & 1& []& [] & [ 3, 26, 28 ] & 30
|
||||||
|
26 & 26 & 48 & 4 & 45 & ? & No & 1& [L_2(13)]& [($A_{2}(3)$, 2), ($G_{2}(3)$, 1), ($A_{3}(3)$, 1)] & [ 3, 13, 14, 26, 27, 28, 29 ] & 30
|
||||||
|
26 & 26 & 48 & 5 & 45 & ? & No & 1& [L_2(13)]& [($A_{2}(3)$, 2), ($A_{3}(3)$, 1)] & [ 3, 13, 14, 27 ] & 30
|
||||||
|
26 & 26 & 54 & 0 & 57 & ? & No & 1& []& [($G_{2}(3)$, 2)] & [ 3, 13 ] & 30
|
||||||
|
26 & 26 & 54 & 4 & 57 & ? & No & 1& []& [($A_{2}(3)$, 2), ($G_{2}(3)$, 1)] & [ 3, 13, 27 ] & 30
|
|
55
data/table_3_4_4.csv
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
order1 & order2 & order3 & index & presentation length & virtually torsion-free & Kazhdan & abelianization dimension & L2-quotients & quotients & alternating quotients & maximal order for alternating quotients
|
||||||
|
14 & 40 & 40 & 0 & 47 & Yes & No & 0& [L_2(7^2)]& [($\textrm{Alt}_{8}$ or $A_{2}(4)$, 5), ($C_{3}(2)$, 2), ($\textrm{Alt}_{10}$, 4), (${}^2A_{3}(9)$, 2), ($A_{4}(2)$, 3), ($\textrm{Alt}_{11}$, 3), ($A_{2}(9)$, 1)] & [ 5, 10, 11, 20, 21, 30 ] & 30
|
||||||
|
14 & 40 & 48 & 0 & 39 & ? & ? & 0& [L_2(7^2)]& [($\textrm{Alt}_{7}$, 1), ($\textrm{Alt}_{10}$, 1), ($A_{4}(2)$, 1)] & [ 7, 10 ] & 30
|
||||||
|
14 & 40 & 54 & 0 & 51 & Yes & ? & 0& []& [($\textrm{J}_{2}$, 1), ($C_{3}(2)$, 2)] & [ 21, 25 ] & 30
|
||||||
|
14 & 40 & 54 & 2 & 51 & Yes & ? & 0& []& [($\textrm{J}_{2}$, 1), ($C_{3}(2)$, 2)] & [ 20, 21, 22, 25, 27, 30 ] & 30
|
||||||
|
14 & 48 & 48 & 0 & 31 & Yes & No & 2& [L_2(7)]& [($\textrm{Alt}_{7}$, 1), ($\textrm{Alt}_{8}$ or $A_{2}(4)$, 1), ($\textrm{J}_{2}$, 1), ($C_{3}(2)$, 2), (${}^2A_{3}(9)$, 1), ($G_{2}(3)$, 2)] & [ 3, 7, 8, 15, 16, 22, 23, 24, 27, 28, 29, 30 ] & 30
|
||||||
|
14 & 48 & 48 & 1 & 31 & ? & No & 2& []& [] & [ 3, 4 ] & 30
|
||||||
|
14 & 48 & 54 & 0 & 43 & ? & ? & 2& []& [($G_{2}(3)$, 1)] & [ 3, 18 ] & 30
|
||||||
|
14 & 48 & 54 & 2 & 43 & Yes & No & 2& []& [($C_{3}(2)$, 3), (${}^2A_{3}(9)$, 1), ($G_{2}(3)$, 1)] & [ 3, 14, 15, 21, 22, 28, 29, 30 ] & 30
|
||||||
|
14 & 54 & 54 & 0 & 55 & ? & No & 2& []& [] & [ 3, 21, 28, 29 ] & 30
|
||||||
|
14 & 54 & 54 & 2 & 55 & Yes & No & 2& []& [($\textrm{Alt}_{10}$, 6), (${}^2A_{3}(9)$, 2)] & [ 3, 10, 13, 14, 17, 19, 20, 21, 23, 24, 27, 28, 29, 30 ] & 30
|
||||||
|
14 & 54 & 54 & 8 & 55 & ? & No & 2& []& [] & [ 3, 18, 21, 27, 30 ] & 30
|
||||||
|
16 & 40 & 40 & 0 & 47 & Yes & No & 0& [L_2(\infty^4)]& [($\textrm{M}_{11}$, 4), ($B_{2}(3)$, 7), (${}^2A_{2}(25)$, 1), ($\textrm{J}_{2}$, 2), ($C_{2}(4)$, 2), ($\textrm{Alt}_{10}$, 4), (${}^2A_{3}(9)$, 4), ($B_{2}(5)$, 11), ($A_{3}(3)$, 2), ($\textrm{Alt}_{11}$, 6)] & [ 5, 6, 10, 11, 15, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
16 & 40 & 48 & 0 & 39 & ? & No & 0& [L_2(3^2)]& [($\textrm{M}_{11}$, 1), ($B_{2}(3)$, 1), ($\textrm{J}_{2}$, 2), (${}^2A_{3}(9)$, 1), ($B_{2}(5)$, 5), ($A_{3}(3)$, 2), ($A_{4}(2)$, 3), ($\textrm{Alt}_{11}$, 2)] & [ 5, 6, 11, 16, 18, 21, 22, 23, 24, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
16 & 40 & 54 & 0 & 51 & Yes & No & 0& [L_2(3^2)]& [($B_{2}(3)$, 5), ($\textrm{M}_{12}$, 5), ($C_{3}(2)$, 1), (${}^2A_{3}(9)$, 2), ($A_{3}(3)$, 3), (${}^2A_{4}(4)$, 1)] & [ 6, 12, 17, 18, 21, 23, 24, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
16 & 40 & 54 & 2 & 51 & Yes & No & 0& [L_2(3^2)]& [($B_{2}(3)$, 4), ($\textrm{M}_{12}$, 5), ($\textrm{Alt}_{10}$, 3), (${}^2A_{3}(9)$, 4), ($A_{3}(3)$, 4), (${}^2A_{4}(4)$, 1)] & [ 6, 10, 12, 15, 16, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
16 & 48 & 48 & 0 & 31 & Yes & No & 2& []& [($\textrm{Alt}_{7}$, 1), (${}^2A_{2}(9)$, 1), ($\textrm{Alt}_{8}$ or $A_{2}(4)$, 2), ($B_{2}(3)$, 5), (${}^2A_{2}(25)$, 1), ($\textrm{J}_{2}$, 2), ($C_{3}(2)$, 5), ($\textrm{Alt}_{10}$, 2), (${}^2A_{3}(9)$, 4), ($B_{2}(5)$, 5), (${}^2A_{2}(64)$, 2), ($A_{3}(3)$, 5), ($A_{4}(2)$, 2), ($\textrm{Alt}_{11}$, 1), ($A_{2}(9)$, 1), (${}^2A_{2}(81)$, 2), ($\textrm{HS}_{}$, 1)] & [ 3, 4, 7, 8, 10, 11, 12, 15, 16, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
16 & 48 & 48 & 1 & 31 & Yes & No & 2& []& [($A_{2}(3)$, 1), (${}^2A_{2}(9)$, 2), ($B_{2}(3)$, 8), ($\textrm{Alt}_{9}$, 2), ($C_{3}(2)$, 10), (${}^2A_{3}(9)$, 1), ($A_{3}(3)$, 6), ($\textrm{Alt}_{11}$, 1), (${}^2A_{2}(81)$, 2), ($\textrm{HS}_{}$, 2)] & [ 3, 4, 5, 9, 11, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
16 & 48 & 54 & 0 & 43 & Yes & No & 2& []& [($A_{2}(3)$, 2), ($B_{2}(3)$, 4), ($\textrm{Alt}_{9}$, 1), ($C_{3}(2)$, 1), ($\textrm{Alt}_{10}$, 1), (${}^2A_{3}(9)$, 3), ($A_{3}(3)$, 1), (${}^2A_{4}(4)$, 1), ($A_{2}(9)$, 3)] & [ 3, 4, 9, 10, 12, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
16 & 48 & 54 & 2 & 43 & Yes & No & 2& []& [($A_{2}(3)$, 2), ($B_{2}(3)$, 4), ($C_{3}(2)$, 1), ($\textrm{Alt}_{10}$, 3), (${}^2A_{3}(9)$, 2), ($A_{3}(3)$, 3), (${}^2A_{4}(4)$, 5), ($A_{2}(9)$, 3)] & [ 3, 4, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
16 & 54 & 54 & 0 & 55 & Yes & No & 2& []& [($A_{2}(3)$, 2), (${}^2A_{2}(64)$, 2), (${}^2A_{4}(4)$, 2), ($A_{2}(9)$, 3)] & [ 3, 4, 20, 21, 22, 24, 25, 26, 27, 29, 30 ] & 30
|
||||||
|
16 & 54 & 54 & 2 & 55 & Yes & No & 2& []& [($A_{2}(3)$, 2), ($B_{2}(3)$, 6), ($\textrm{Alt}_{9}$, 2), ($C_{3}(2)$, 4), ($\textrm{Alt}_{10}$, 12), (${}^2A_{3}(9)$, 3), (${}^2A_{2}(64)$, 2), ($A_{3}(3)$, 5), (${}^2A_{4}(4)$, 5), ($\textrm{Alt}_{11}$, 6), ($A_{2}(9)$, 3)] & [ 3, 4, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
16 & 54 & 54 & 8 & 55 & Yes & No & 2& []& [($A_{2}(3)$, 2), ($B_{2}(3)$, 4), ($\textrm{Alt}_{9}$, 2), (${}^2A_{3}(9)$, 3), (${}^2A_{2}(64)$, 2), ($A_{3}(3)$, 7), (${}^2A_{4}(4)$, 3), ($A_{2}(9)$, 3)] & [ 3, 4, 9, 12, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
18 & 40 & 40 & 0 & 53 & Yes & No & 0& []& [($\textrm{Alt}_{7}$, 2), ($B_{2}(3)$, 5), ($\textrm{M}_{12}$, 2), ($\textrm{Alt}_{10}$, 8), (${}^2A_{3}(9)$, 1), (${}^2A_{4}(4)$, 3)] & [ 5, 7, 10, 15, 17, 20, 21, 22, 24, 25, 26, 27, 30 ] & 30
|
||||||
|
18 & 40 & 48 & 0 & 45 & Yes & No & 1& [L_2(3^2)]& [($B_{2}(3)$, 5), ($\textrm{M}_{12}$, 7), ($\textrm{Alt}_{10}$, 2), (${}^2A_{3}(9)$, 4), ($A_{3}(3)$, 10), ($\textrm{Alt}_{11}$, 5)] & [ 3, 5, 6, 10, 11, 12, 14, 15, 16, 17, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
18 & 40 & 54 & 0 & 57 & ? & No & 1& []& [($B_{2}(3)$, 2), ($\textrm{M}_{12}$, 2), ($\textrm{Alt}_{10}$, 4), ($A_{3}(3)$, 14), (${}^2A_{4}(4)$, 3)] & [ 3, 5, 10, 12, 15, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
18 & 40 & 54 & 2 & 57 & Yes & No & 1& []& [($B_{2}(3)$, 2), ($\textrm{M}_{12}$, 2), ($\textrm{Alt}_{9}$, 2), (${}^2A_{3}(9)$, 3), ($A_{3}(3)$, 5), (${}^2A_{4}(4)$, 4)] & [ 3, 5, 9, 12, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
18 & 48 & 48 & 0 & 37 & Yes & No & 3& []& [($A_{2}(3)$, 2), ($B_{2}(3)$, 3), ($\textrm{Alt}_{10}$, 3), (${}^2A_{3}(9)$, 4), ($A_{3}(3)$, 9), ($\textrm{Alt}_{11}$, 2), ($A_{2}(9)$, 3)] & [ 3, 4, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
18 & 48 & 54 & 0 & 49 & Yes & No & 3& []& [($A_{2}(3)$, 2), ($B_{2}(3)$, 2), ($\textrm{Alt}_{10}$, 2), (${}^2A_{2}(64)$, 2), ($A_{3}(3)$, 8), ($\textrm{Alt}_{11}$, 4), ($A_{2}(9)$, 3)] & [ 3, 4, 10, 11, 12, 14, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
18 & 48 & 54 & 2 & 49 & Yes & No & 3& []& [($A_{2}(3)$, 2), ($B_{2}(3)$, 2), ($\textrm{Alt}_{9}$, 2), ($\textrm{Alt}_{10}$, 1), (${}^2A_{3}(9)$, 3), (${}^2A_{2}(64)$, 2), ($A_{3}(3)$, 1), (${}^2A_{4}(4)$, 3), ($\textrm{Alt}_{11}$, 1), ($A_{2}(9)$, 3)] & [ 3, 4, 9, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
18 & 54 & 54 & 0 & 61 & ? & No & 3& []& [($A_{2}(3)$, 2), ($\textrm{Alt}_{9}$, 2), (${}^2A_{4}(4)$, 2), ($A_{2}(9)$, 3)] & [ 3, 9, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
18 & 54 & 54 & 2 & 61 & Yes & No & 3& []& [($A_{2}(3)$, 2), ($B_{2}(3)$, 2), ($\textrm{Alt}_{9}$, 10), (${}^2A_{3}(9)$, 3), ($A_{3}(3)$, 1), (${}^2A_{4}(4)$, 9), ($A_{2}(9)$, 3)] & [ 3, 9, 12, 15, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
18 & 54 & 54 & 8 & 61 & Yes & No & 3& []& [($A_{2}(3)$, 2), ($B_{2}(3)$, 2), ($\textrm{Alt}_{9}$, 8), ($A_{3}(3)$, 10), (${}^2A_{4}(4)$, 4), ($A_{2}(9)$, 3)] & [ 3, 9, 12, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
24 & 40 & 40 & 0 & 55 & Yes & No & 0& [L_2(\infty^4)]& [($\textrm{Alt}_{7}$, 2), ($B_{2}(3)$, 2), ($\textrm{M}_{22}$, 2), ($\textrm{J}_{2}$, 2), ($C_{2}(4)$, 2), ($C_{3}(2)$, 2), ($\textrm{Alt}_{10}$, 2), ($B_{2}(5)$, 10), ($A_{4}(2)$, 4), (${}^2A_{4}(4)$, 4), ($\textrm{Alt}_{11}$, 3)] & [ 5, 6, 7, 10, 11, 12, 15, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
24 & 40 & 48 & 0 & 47 & Yes & No & 1& [L_2(3^2), L_2(3^2)]& [($\textrm{Alt}_{7}$, 2), ($B_{2}(3)$, 3), ($\textrm{M}_{22}$, 2), ($\textrm{J}_{2}$, 4), ($C_{2}(4)$, 4), ($C_{3}(2)$, 3), ($B_{2}(5)$, 12), ($A_{3}(3)$, 2), ($A_{4}(2)$, 5), (${}^2A_{4}(4)$, 1), ($\textrm{Alt}_{11}$, 4)] & [ 3, 5, 6, 7, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
24 & 40 & 54 & 0 & 59 & Yes & No & 1& [L_2(3^2)]& [($B_{2}(3)$, 4), ($\textrm{M}_{12}$, 6), ($\textrm{Alt}_{10}$, 12), (${}^2A_{3}(9)$, 2), ($A_{3}(3)$, 3), (${}^2A_{4}(4)$, 4), ($\textrm{Alt}_{11}$, 12)] & [ 3, 5, 6, 10, 11, 12, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
24 & 40 & 54 & 2 & 59 & Yes & No & 1& [L_2(3^2)]& [($B_{2}(3)$, 2), ($\textrm{M}_{12}$, 6), ($\textrm{Alt}_{9}$, 2), ($C_{3}(2)$, 4), ($\textrm{Alt}_{10}$, 7), (${}^2A_{3}(9)$, 6), ($A_{3}(3)$, 7), (${}^2A_{4}(4)$, 1), ($\textrm{Alt}_{11}$, 6)] & [ 3, 5, 6, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
24 & 48 & 48 & 0 & 39 & Yes & No & 3& []& [($\textrm{Alt}_{7}$, 3), ($\textrm{Alt}_{8}$ or $A_{2}(4)$, 4), ($B_{2}(3)$, 3), ($\textrm{M}_{12}$, 1), (${}^2A_{2}(25)$, 2), ($\textrm{J}_{2}$, 2), ($C_{3}(2)$, 11), ($\textrm{Alt}_{10}$, 1), ($A_{2}(7)$, 1), (${}^2A_{3}(9)$, 3), ($B_{2}(5)$, 7), ($A_{3}(3)$, 1), ($A_{4}(2)$, 2), (${}^2A_{4}(4)$, 13), ($\textrm{Alt}_{11}$, 1), ($\textrm{HS}_{}$, 2)] & [ 3, 4, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
24 & 48 & 48 & 1 & 39 & Yes & No & 3& []& [($B_{2}(3)$, 4), ($\textrm{Alt}_{9}$, 1), ($\textrm{M}_{22}$, 1), ($C_{3}(2)$, 17), (${}^2A_{3}(9)$, 8), ($B_{2}(5)$, 5), ($A_{3}(3)$, 3), (${}^2A_{4}(4)$, 8), ($\textrm{Alt}_{11}$, 1), ($\textrm{HS}_{}$, 1)] & [ 3, 4, 5, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
24 & 48 & 54 & 0 & 51 & Yes & No & 3& []& [($B_{2}(3)$, 4), ($\textrm{Alt}_{9}$, 3), ($\textrm{Alt}_{10}$, 5), (${}^2A_{3}(9)$, 1), ($A_{3}(3)$, 2), (${}^2A_{4}(4)$, 3), ($\textrm{Alt}_{11}$, 4)] & [ 3, 4, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
24 & 48 & 54 & 2 & 51 & ? & No & 3& []& [($B_{2}(3)$, 2), ($\textrm{Alt}_{9}$, 3), ($C_{3}(2)$, 3), ($\textrm{Alt}_{10}$, 5), (${}^2A_{3}(9)$, 5), ($A_{3}(3)$, 10), (${}^2A_{4}(4)$, 12), ($\textrm{Alt}_{11}$, 2)] & [ 3, 4, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
24 & 54 & 54 & 0 & 63 & ? & No & 3& []& [($\textrm{Alt}_{9}$, 6), ($\textrm{Alt}_{10}$, 2), ($A_{3}(3)$, 4), (${}^2A_{4}(4)$, 8), ($\textrm{Alt}_{11}$, 2)] & [ 3, 4, 9, 10, 11, 12, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
24 & 54 & 54 & 2 & 63 & ? & No & 3& []& [($B_{2}(3)$, 2), ($\textrm{Alt}_{9}$, 9), ($C_{3}(2)$, 6), ($\textrm{Alt}_{10}$, 22), (${}^2A_{3}(9)$, 8), ($A_{3}(3)$, 26), (${}^2A_{4}(4)$, 12), ($\textrm{Alt}_{11}$, 12)] & [ 3, 4, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
24 & 54 & 54 & 8 & 63 & Yes & No & 3& []& [($B_{2}(3)$, 4), ($\textrm{Alt}_{9}$, 14), ($\textrm{Alt}_{10}$, 1), (${}^2A_{4}(4)$, 9), ($\textrm{Alt}_{11}$, 1)] & [ 3, 4, 9, 10, 11, 12, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
26 & 40 & 40 & 0 & 55 & Yes & No & 0& [L_2(13^2)]& [($A_{3}(3)$, 3)] & [ 5, 20, 21, 27, 28 ] & 30
|
||||||
|
26 & 40 & 48 & 0 & 47 & ? & ? & 0& [L_2(13^2)]& [(${}^2F_4(2)'$, 1)] & [ ] & 30
|
||||||
|
26 & 40 & 54 & 0 & 59 & Yes & ? & 0& []& [($A_{3}(3)$, 3)] & [ 30 ] & 30
|
||||||
|
26 & 40 & 54 & 2 & 59 & ? & ? & 0& []& [] & [ 15 ] & 30
|
||||||
|
26 & 48 & 48 & 0 & 39 & Yes & No & 2& []& [($G_{2}(3)$, 1)] & [ 3, 4, 14, 28 ] & 30
|
||||||
|
26 & 48 & 48 & 1 & 39 & Yes & No & 2& [L_2(13)]& [($G_{2}(3)$, 4), ($A_{3}(3)$, 1)] & [ 3, 13, 14, 15, 16, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
26 & 48 & 54 & 0 & 51 & ? & ? & 2& []& [($G_{2}(3)$, 1)] & [ 3, 13, 26, 27, 28 ] & 30
|
||||||
|
26 & 48 & 54 & 2 & 51 & ? & No & 2& []& [($G_{2}(3)$, 1), ($A_{3}(3)$, 1)] & [ 3, 13, 26, 27, 28, 29 ] & 30
|
||||||
|
26 & 54 & 54 & 0 & 63 & ? & No & 2& []& [($A_{2}(3)$, 2), ($A_{2}(9)$, 3)] & [ 3, 13, 26, 27, 30 ] & 30
|
||||||
|
26 & 54 & 54 & 2 & 63 & Yes & No & 2& []& [($A_{2}(3)$, 2), ($A_{3}(3)$, 20), ($A_{2}(9)$, 3)] & [ 3, 13, 16, 19, 22, 25, 26, 27, 28, 29, 30 ] & 30
|
||||||
|
26 & 54 & 54 & 8 & 63 & Yes & ? & 2& []& [($A_{2}(3)$, 2), ($A_{3}(3)$, 6), ($A_{2}(9)$, 3)] & [ 3, 13 ] & 30
|
|
18
data/table_4_4_4.csv
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
order1 & order2 & order3 & index & presentation length & virtually torsion-free & Kazhdan & abelianization dimension & L2-quotients & quotients & alternating quotients & maximal order for alternating quotients
|
||||||
|
40 & 40 & 40 & 0 & 57 & Yes & No & 0& [L_2(\infty^4), L_2(\infty^4), L_2(\infty^4), L_2(\infty^4)]& [($\textrm{Alt}_{7}$, 1), ($B_{2}(3)$, 18), ($\textrm{M}_{12}$, 7), (${}^2A_{2}(25)$, 2), ($\textrm{J}_{1}$, 4), ($A_{2}(5)$, 2), ($\textrm{J}_{2}$, 8), ($C_{2}(4)$, 21), ($\textrm{Alt}_{10}$, 15), (${}^2A_{3}(9)$, 12), ($B_{2}(5)$, 90), ($A_{3}(3)$, 7), ($\textrm{HS}_{}$, 12)] & [ 6, 7, 10, 12, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ] & 40
|
||||||
|
40 & 40 & 48 & 0 & 49 & Yes & No & 0& [L_2(\infty^4)]& [($\textrm{Alt}_{7}$, 2), ($\textrm{M}_{11}$, 4), ($B_{2}(3)$, 8), (${}^2A_{2}(25)$, 1), ($\textrm{M}_{22}$, 2), ($\textrm{J}_{2}$, 4), ($C_{2}(4)$, 2), ($C_{3}(2)$, 2), ($\textrm{Alt}_{10}$, 4), (${}^2A_{3}(9)$, 4), ($B_{2}(5)$, 16), ($A_{3}(3)$, 2), ($A_{4}(2)$, 4), (${}^2A_{4}(4)$, 10), ($\textrm{Alt}_{11}$, 7)] & [ 5, 6, 7, 10, 11, 12, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ] & 40
|
||||||
|
40 & 40 & 54 & 0 & 61 & Yes & No & 0& []& [($\textrm{Alt}_{7}$, 2), ($B_{2}(3)$, 5), ($\textrm{M}_{12}$, 2), ($\textrm{Alt}_{10}$, 8), (${}^2A_{3}(9)$, 15), ($A_{3}(3)$, 4), (${}^2A_{4}(4)$, 7)] & [ 5, 7, 10, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ] & 40
|
||||||
|
40 & 48 & 48 & 0 & 41 & Yes & No & 1& [L_2(3^2), L_2(3^2)]& [($\textrm{Alt}_{7}$, 2), ($\textrm{M}_{11}$, 1), ($B_{2}(3)$, 18), ($\textrm{M}_{22}$, 2), ($\textrm{J}_{2}$, 6), ($C_{2}(4)$, 4), ($C_{3}(2)$, 6), (${}^2A_{3}(9)$, 10), ($B_{2}(5)$, 20), ($A_{3}(3)$, 15), ($A_{4}(2)$, 8), (${}^2A_{4}(4)$, 15), ($\textrm{Alt}_{11}$, 9)] & [ 3, 5, 6, 7, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ] & 40
|
||||||
|
40 & 48 & 54 & 0 & 53 & Yes & No & 1& [L_2(3^2)]& [($B_{2}(3)$, 11), ($\textrm{M}_{12}$, 7), ($\textrm{Alt}_{9}$, 2), ($C_{3}(2)$, 4), ($\textrm{Alt}_{10}$, 7), (${}^2A_{3}(9)$, 14), ($A_{3}(3)$, 16), (${}^2A_{4}(4)$, 3), ($\textrm{Alt}_{11}$, 7)] & [ 3, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ] & 40
|
||||||
|
40 & 48 & 54 & 2 & 53 & Yes & No & 1& [L_2(3^2)]& [($B_{2}(3)$, 17), ($\textrm{M}_{12}$, 7), ($C_{3}(2)$, 2), ($\textrm{Alt}_{10}$, 12), (${}^2A_{3}(9)$, 20), ($A_{3}(3)$, 22), (${}^2A_{4}(4)$, 24), ($\textrm{Alt}_{11}$, 15)] & [ 3, 5, 6, 10, 11, 12, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ] & 40
|
||||||
|
40 & 54 & 54 & 0 & 65 & Yes & No & 1& []& [($B_{2}(3)$, 8), ($\textrm{M}_{12}$, 2), ($\textrm{Alt}_{9}$, 2), ($\textrm{Alt}_{10}$, 4), (${}^2A_{3}(9)$, 9), ($A_{3}(3)$, 17), (${}^2A_{4}(4)$, 7)] & [ 3, 5, 9, 10, 12, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ] & 40
|
||||||
|
40 & 54 & 54 & 2 & 65 & Yes & No & 1& []& [($B_{2}(3)$, 12), ($\textrm{M}_{12}$, 2), ($C_{3}(2)$, 4), ($\textrm{Alt}_{10}$, 16), (${}^2A_{3}(9)$, 14), ($A_{3}(3)$, 26), (${}^2A_{4}(4)$, 40), ($\textrm{Alt}_{11}$, 10)] & [ 3, 5, 10, 11, 12, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ] & 40
|
||||||
|
40 & 54 & 54 & 8 & 65 & Yes & No & 1& []& [($B_{2}(3)$, 8), ($\textrm{M}_{12}$, 2), ($\textrm{Alt}_{9}$, 12), (${}^2A_{3}(9)$, 12), ($A_{3}(3)$, 8), (${}^2A_{4}(4)$, 16)] & [ 3, 5, 9, 12, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ] & 40
|
||||||
|
48 & 48 & 48 & 0 & 33 & ? & No & 3& []& [($A_{2}(3)$, 1), (${}^2A_{2}(9)$, 2), ($B_{2}(3)$, 27), ($\textrm{Alt}_{9}$, 3), ($\textrm{M}_{22}$, 1), ($C_{3}(2)$, 39), (${}^2A_{3}(9)$, 21), ($B_{2}(5)$, 9), ($A_{3}(3)$, 33), (${}^2A_{4}(4)$, 60), ($\textrm{Alt}_{11}$, 3), (${}^2A_{2}(81)$, 2), ($\textrm{HS}_{}$, 3)] & [ 3, 4, 5, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ] & 40
|
||||||
|
48 & 48 & 48 & 1 & 33 & Yes & No & 3& []& [($\textrm{Alt}_{7}$, 3), (${}^2A_{2}(9)$, 1), ($\textrm{Alt}_{8}$ or $A_{2}(4)$, 6), ($B_{2}(3)$, 24), ($\textrm{M}_{12}$, 1), (${}^2A_{2}(25)$, 3), ($\textrm{J}_{2}$, 4), ($C_{3}(2)$, 27), ($\textrm{Alt}_{10}$, 3), ($A_{2}(7)$, 1), (${}^2A_{3}(9)$, 15), ($B_{2}(5)$, 19), (${}^2A_{2}(64)$, 2), ($A_{3}(3)$, 30), ($A_{4}(2)$, 4), (${}^2A_{4}(4)$, 63), ($\textrm{Alt}_{11}$, 3), ($A_{2}(9)$, 1), (${}^2A_{2}(81)$, 2), ($\textrm{HS}_{}$, 3)] & [ 3, 4, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ] & 40
|
||||||
|
48 & 48 & 54 & 0 & 45 & Yes & No & 3& []& [($A_{2}(3)$, 2), ($B_{2}(3)$, 19), ($\textrm{Alt}_{9}$, 3), ($C_{3}(2)$, 3), ($\textrm{Alt}_{10}$, 6), (${}^2A_{3}(9)$, 17), ($A_{3}(3)$, 28), (${}^2A_{4}(4)$, 40), ($\textrm{Alt}_{11}$, 6), ($A_{2}(9)$, 3)] & [ 3, 4, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ] & 40
|
||||||
|
48 & 54 & 54 & 0 & 57 & ? & No & 3& []& [($A_{2}(3)$, 2), ($B_{2}(3)$, 8), ($\textrm{Alt}_{9}$, 6), ($\textrm{Alt}_{10}$, 2), (${}^2A_{3}(9)$, 9), (${}^2A_{2}(64)$, 2), ($A_{3}(3)$, 11), (${}^2A_{4}(4)$, 25), ($\textrm{Alt}_{11}$, 4), ($A_{2}(9)$, 3)] & [ 3, 4, 9, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ] & 40
|
||||||
|
48 & 54 & 54 & 2 & 57 & Yes & No & 3& []& [($A_{2}(3)$, 2), ($B_{2}(3)$, 10), ($\textrm{Alt}_{9}$, 9), ($C_{3}(2)$, 6), ($\textrm{Alt}_{10}$, 22), (${}^2A_{3}(9)$, 14), (${}^2A_{2}(64)$, 2), ($A_{3}(3)$, 36), (${}^2A_{4}(4)$, 28), ($\textrm{Alt}_{11}$, 20), ($A_{2}(9)$, 3)] & [ 3, 4, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ] & 40
|
||||||
|
48 & 54 & 54 & 8 & 57 & ? & No & 3& []& [($A_{2}(3)$, 2), ($B_{2}(3)$, 18), ($\textrm{Alt}_{9}$, 14), ($\textrm{Alt}_{10}$, 1), (${}^2A_{3}(9)$, 15), (${}^2A_{2}(64)$, 2), ($A_{3}(3)$, 19), (${}^2A_{4}(4)$, 52), ($\textrm{Alt}_{11}$, 1), ($A_{2}(9)$, 3)] & [ 3, 4, 9, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ] & 40
|
||||||
|
54 & 54 & 54 & 0 & 69 & ? & No & 3& []& [($A_{2}(3)$, 2), ($\textrm{Alt}_{9}$, 6), (${}^2A_{4}(4)$, 10), ($A_{2}(9)$, 3)] & [ 3, 9, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ] & 40
|
||||||
|
54 & 54 & 54 & 2 & 69 & ? & No & 3& []& [($A_{2}(3)$, 2), ($B_{2}(3)$, 8), ($\textrm{Alt}_{9}$, 24), (${}^2A_{3}(9)$, 9), ($A_{3}(3)$, 13), (${}^2A_{4}(4)$, 41), ($A_{2}(9)$, 3)] & [ 3, 9, 12, 15, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 ] & 40
|
|
15881
data/triangle_groups.json
Normal file
125
docs/create_table.js
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
function columnName(key) {
|
||||||
|
let words = key.split("_");
|
||||||
|
for (let i = 0; i < words.length; i++) {
|
||||||
|
words[i][0] = words[i][0].toUpperCase();
|
||||||
|
}
|
||||||
|
return words.join(" ");
|
||||||
|
}
|
||||||
|
|
||||||
|
function generateTableHead(table, keys) {
|
||||||
|
let thead = table.createTHead();
|
||||||
|
let row = thead.insertRow();
|
||||||
|
for (let key of keys) {
|
||||||
|
let th = document.createElement("th");
|
||||||
|
let text = document.createTextNode(columnName(key));
|
||||||
|
th.appendChild(text);
|
||||||
|
row.appendChild(th);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function createDetails(object, summary_text = "show…", open = false) {
|
||||||
|
let details = document.createElement("details");
|
||||||
|
|
||||||
|
let summary = document.createElement("summary");
|
||||||
|
summary.textContent = summary_text;
|
||||||
|
|
||||||
|
details.appendChild(summary);
|
||||||
|
details.appendChild(object);
|
||||||
|
return details;
|
||||||
|
}
|
||||||
|
|
||||||
|
function createListFromJson(json, ismath = false) {
|
||||||
|
let list = document.createElement("ul");
|
||||||
|
for (let [k, v] of Object.entries(json)) {
|
||||||
|
let item = document.createElement("li");
|
||||||
|
if (ismath) {
|
||||||
|
let math = createMathSpan(k + " : " + v);
|
||||||
|
item.appendChild(math);
|
||||||
|
} else {
|
||||||
|
item.innerText = k + " : " + v;
|
||||||
|
}
|
||||||
|
list.appendChild(item);
|
||||||
|
}
|
||||||
|
return list
|
||||||
|
}
|
||||||
|
|
||||||
|
function createSpansFromArray(arr, ismath = false) {
|
||||||
|
let list = document.createElement("span");
|
||||||
|
if (arr == null) {
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
for (let i = 0; i < arr.length; i++) {
|
||||||
|
let item;
|
||||||
|
if (ismath) {
|
||||||
|
item = createMathSpan(arr[i]);
|
||||||
|
} else {
|
||||||
|
item = document.createElement("span");
|
||||||
|
item.innerText = String(arr[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
list.appendChild(item);
|
||||||
|
if (i != arr.length - 1) {
|
||||||
|
let comma = document.createElement("span");
|
||||||
|
comma.innerText = ", ";
|
||||||
|
list.appendChild(comma);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
function fillRow(row, group_json) {
|
||||||
|
for (let key of Object.keys(group_json)) {
|
||||||
|
let cell = row.insertCell();
|
||||||
|
let cell_content;
|
||||||
|
let val = group_json[key];
|
||||||
|
switch (key) {
|
||||||
|
case "name":
|
||||||
|
cell_content = createMathSpan(val);
|
||||||
|
break;
|
||||||
|
case "quotients":
|
||||||
|
cell_content = createDetails(createListFromJson(val, ismath = true));
|
||||||
|
break;
|
||||||
|
case "quotients_utf8":
|
||||||
|
cell_content = createDetails(createListFromJson(val));
|
||||||
|
break;
|
||||||
|
case "quotients_plain":
|
||||||
|
cell_content = createListFromJson(val);
|
||||||
|
break;
|
||||||
|
case "generators":
|
||||||
|
cell_content = createSpansFromArray(val,);
|
||||||
|
break;
|
||||||
|
case "relations":
|
||||||
|
cell_content = createDetails(createSpansFromArray(val, ismath = true));
|
||||||
|
break;
|
||||||
|
case "witnesses_non_hyperbolictity":
|
||||||
|
cell_content = createSpansFromArray(val, ismath = true);
|
||||||
|
break;
|
||||||
|
case "L2_quotients":
|
||||||
|
cell_content = createSpansFromArray(val, ismath = true);
|
||||||
|
break;
|
||||||
|
case "alternating_quotients":
|
||||||
|
cell_content = createDetails(createSpansFromArray(val));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
cell_content = document.createTextNode(val);
|
||||||
|
}
|
||||||
|
cell.appendChild(cell_content);
|
||||||
|
}
|
||||||
|
return row
|
||||||
|
}
|
||||||
|
|
||||||
|
function fillTableFromJson(table, json) {
|
||||||
|
let keys = Object.keys(json[0]);
|
||||||
|
for (let group of json) {
|
||||||
|
let row = table.insertRow();
|
||||||
|
fillRow(row, group);
|
||||||
|
}
|
||||||
|
generateTableHead(table, keys);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function setup_table(data) {
|
||||||
|
let table = document.querySelector("table");
|
||||||
|
fillTableFromJson(table, data);
|
||||||
|
console.log("created table of length " + table.rows.length);
|
||||||
|
return table;
|
||||||
|
}
|
26
docs/details.css
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
details {
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
border-radius: 4px;
|
||||||
|
padding: .4em .4em 0;
|
||||||
|
align-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
summary {
|
||||||
|
font-weight: bold;
|
||||||
|
margin: -0.4em -.2em 0;
|
||||||
|
padding: .0em;
|
||||||
|
display: revert;
|
||||||
|
}
|
||||||
|
|
||||||
|
details[open] {
|
||||||
|
padding: .5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
details[open] summary {
|
||||||
|
border-bottom: 1px solid #aaa;
|
||||||
|
margin-bottom: .5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.math-text {
|
||||||
|
display: none;
|
||||||
|
}
|
34
docs/filter_table.js
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
const filtersConfig = {
|
||||||
|
base_path: 'tablefilter/',
|
||||||
|
auto_filter: {
|
||||||
|
delay: 400
|
||||||
|
},
|
||||||
|
filters_row_index: 1,
|
||||||
|
highlight_keywords: true,
|
||||||
|
responsive: true,
|
||||||
|
state: true,
|
||||||
|
sticky_headers: true,
|
||||||
|
// popup_filters: true,
|
||||||
|
no_results_message: true,
|
||||||
|
alternate_rows: true,
|
||||||
|
mark_active_columns: true,
|
||||||
|
rows_counter: true,
|
||||||
|
btn_reset: true,
|
||||||
|
status_bar: true,
|
||||||
|
msg_filter: 'Filtering...',
|
||||||
|
extensions: [{
|
||||||
|
name: 'colsVisibility',
|
||||||
|
at_start: [1,3,5,6,7,8,18,19,20,21],
|
||||||
|
text: 'Hidden Columns: ',
|
||||||
|
enable_tick_all: true
|
||||||
|
}, {
|
||||||
|
name: 'sort'
|
||||||
|
}]
|
||||||
|
};
|
||||||
|
|
||||||
|
async function setup_filter(table) {
|
||||||
|
console.log("filtered table of length " + table.rows.length);
|
||||||
|
const filter = new TableFilter(table, filtersConfig);
|
||||||
|
filter.init();
|
||||||
|
return filter;
|
||||||
|
}
|
16
docs/http_server.py
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# encoding: utf-8
|
||||||
|
"""Use instead of `python3 -m http.server` when you need CORS"""
|
||||||
|
|
||||||
|
from http.server import HTTPServer, SimpleHTTPRequestHandler
|
||||||
|
|
||||||
|
class CORSRequestHandler(SimpleHTTPRequestHandler):
|
||||||
|
def end_headers(self):
|
||||||
|
self.send_header('Access-Control-Allow-Origin', '*')
|
||||||
|
self.send_header('Access-Control-Allow-Methods', 'GET')
|
||||||
|
self.send_header('Cache-Control', 'no-store, no-cache, must-revalidate')
|
||||||
|
return super(CORSRequestHandler, self).end_headers()
|
||||||
|
|
||||||
|
|
||||||
|
httpd = HTTPServer(('localhost', 8003), CORSRequestHandler)
|
||||||
|
httpd.serve_forever()
|
50
docs/index.html
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<title>Generalized Triangle Groups</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
|
||||||
|
<link rel="stylesheet" href="details.css">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css"
|
||||||
|
integrity="sha384-MlJdn/WNKDGXveldHDdyRP1R4CTHr3FeuDNfhsLPYrq2t0UBkUdK2jyTnXPEK1NQ" crossorigin="anonymous">
|
||||||
|
<!-- The loading of KaTeX is deferred to speed up page rendering -->
|
||||||
|
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js"
|
||||||
|
integrity="sha384-VQ8d8WVFw0yHhCk5E8I86oOhv48xLpnDZx5T9GogA/Y84DcCKWXDmSDfn13bzFZY"
|
||||||
|
crossorigin="anonymous"></script>
|
||||||
|
<!-- To automatically render math in text elements, include the auto-render extension: -->
|
||||||
|
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js"
|
||||||
|
integrity="sha384-+XBljXPPiv+OzfbB3cVmLHf4hdUFHlWNZN5spNQ7rmHTXpd7WvJum6fIACpNNfIR" crossorigin="anonymous"
|
||||||
|
onload="renderMathInElement(document.body);"></script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div style="padding-left: 1%;">
|
||||||
|
<h3>
|
||||||
|
Generalized Triangle Groups of <a href="https://arxiv.org/abs/2011.09276">2011.09276</a>
|
||||||
|
</h3>
|
||||||
|
by Pierre-Emmanuel Caprace, Marston Conder, Marek Kaluba and Stefan Witzel.
|
||||||
|
|
||||||
|
<div class="form-check">
|
||||||
|
<input class="form-check-input" type="checkbox" value="" id="renderWithKatex">
|
||||||
|
<label class="form-check-label" for="renderWithKatex">
|
||||||
|
Render with KaTeX
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<table id='GeneralizedTriangleGroups' border=0 class="table"></table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="tablefilter/tablefilter.js"></script>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="math_render.js"></script>
|
||||||
|
<script type="text/javascript" src="create_table.js"></script>
|
||||||
|
<script type="text/javascript" src="filter_table.js"></script>
|
||||||
|
<script type="text/javascript" src="main.js"></script>
|
||||||
|
|
||||||
|
</html>
|
15
docs/main.js
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
const groups_url = new URL("https://raw.githubusercontent.com/kalmarek/SmallHyperbolic/mk/json/data/triangle_groups.json")
|
||||||
|
|
||||||
|
async function fetch_json(url) {
|
||||||
|
try {
|
||||||
|
let response = await fetch(url);
|
||||||
|
let json = await response.json();
|
||||||
|
return json;
|
||||||
|
} catch (err) {
|
||||||
|
console.log("Error while fetching json:" + err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let table = fetch_json(groups_url)
|
||||||
|
.then(setup_table)
|
||||||
|
.then(setup_filter)
|
||||||
|
;
|
55
docs/math_render.js
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
function prepareTextForKatex(string) {
|
||||||
|
return string.replace(/ /g, "")
|
||||||
|
.replace(/\*/g, "")
|
||||||
|
.replace(/\^-1/g, "^{-1}")
|
||||||
|
.replace(/inf/g, "\\infty");
|
||||||
|
}
|
||||||
|
|
||||||
|
function createMathSpan(content) {
|
||||||
|
let item = document.createElement("span");
|
||||||
|
item.className = "math";
|
||||||
|
|
||||||
|
let math_text = document.createElement("span");
|
||||||
|
let math_tex = document.createElement("span");
|
||||||
|
|
||||||
|
math_text.className = "math-text";
|
||||||
|
math_text.innerText = content.toString().replace(/\*/g, "").replace(/ /g, "")
|
||||||
|
|
||||||
|
math_tex.className = "math-tex";
|
||||||
|
katex.render(prepareTextForKatex(math_text.innerText), math_tex);
|
||||||
|
|
||||||
|
item.appendChild(math_text);
|
||||||
|
item.appendChild(math_tex);
|
||||||
|
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
|
function toggleKaTeX(elt, toggle) {
|
||||||
|
let display_text = toggle ? "none" : "revert";
|
||||||
|
let display_tex = toggle ? "revert" : "none";
|
||||||
|
for (let child of elt.childNodes) {
|
||||||
|
switch (child.className) {
|
||||||
|
case "math-text":
|
||||||
|
child.style.display = display_text;
|
||||||
|
break;
|
||||||
|
case "math-tex":
|
||||||
|
child.style.display = display_tex;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
// nothing
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let math_objects = document.getElementsByClassName("math");
|
||||||
|
let katex_switch = document.getElementById("renderWithKatex");
|
||||||
|
katex_switch.checked = true;
|
||||||
|
katex_switch.addEventListener(
|
||||||
|
"change",
|
||||||
|
function () {
|
||||||
|
let toggle = this.checked;
|
||||||
|
for (let element of math_objects) {
|
||||||
|
toggleKaTeX(element, toggle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
1
docs/tablefilter/style/colsVisibility.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
span.colVisSpan{text-align:left;}span.colVisSpan a.colVis{display:inline-block;padding:7px 5px 0;font-size:inherit;font-weight:inherit;vertical-align:top}div.colVisCont{position:relative;background:#fff;-webkit-box-shadow:3px 3px 2px #888;-moz-box-shadow:3px 3px 2px #888;box-shadow:3px 3px 2px #888;position:absolute;display:none;border:1px solid #ccc;height:auto;width:250px;background-color:#fff;margin:35px 0 0 -100px;z-index:10000;padding:10px 10px 10px 10px;text-align:left;font-size:inherit;}div.colVisCont:after,div.colVisCont:before{bottom:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}div.colVisCont:after{border-color:rgba(255,255,255,0);border-bottom-color:#fff;border-width:10px;margin-left:-10px}div.colVisCont:before{border-color:rgba(255,255,255,0);border-bottom-color:#ccc;border-width:12px;margin-left:-12px}div.colVisCont p{margin:6px auto 6px auto}div.colVisCont a.colVis{display:initial;font-weight:inherit}ul.cols_checklist{padding:0;margin:0;list-style-type:none;}ul.cols_checklist label{display:block}ul.cols_checklist input{vertical-align:middle;margin:2px 5px 2px 1px}li.cols_checklist_item{padding:4px;margin:0;}li.cols_checklist_item:hover{background-color:#335ea8;color:#fff}.cols_checklist_slc_item{background-color:#335ea8;color:#fff}
|
1
docs/tablefilter/style/filtersVisibility.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
span.expClpFlt a.btnExpClpFlt{width:35px;height:35px;display:inline-block;}span.expClpFlt a.btnExpClpFlt:hover{background-color:#f4f4f4}span.expClpFlt img{padding:8px 11px 11px 11px}
|
1
docs/tablefilter/style/tablefilter.css
Normal file
BIN
docs/tablefilter/style/themes/blank.png
Normal file
After Width: | Height: | Size: 144 B |
BIN
docs/tablefilter/style/themes/btn_clear_filters.png
Normal file
After Width: | Height: | Size: 360 B |
BIN
docs/tablefilter/style/themes/btn_filter.png
Normal file
After Width: | Height: | Size: 325 B |
BIN
docs/tablefilter/style/themes/btn_first_page.gif
Normal file
After Width: | Height: | Size: 63 B |
BIN
docs/tablefilter/style/themes/btn_last_page.gif
Normal file
After Width: | Height: | Size: 61 B |
BIN
docs/tablefilter/style/themes/btn_next_page.gif
Normal file
After Width: | Height: | Size: 59 B |
BIN
docs/tablefilter/style/themes/btn_previous_page.gif
Normal file
After Width: | Height: | Size: 58 B |
1
docs/tablefilter/style/themes/default/default.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
table.TF{border-left:1px solid #ccc;border-top:none;border-right:none;border-bottom:none;}table.TF th{background:#ebecee url("images/bg_th.jpg") left top repeat-x;border-bottom:1px solid #d0d0d0;border-right:1px solid #d0d0d0;border-left:1px solid #fff;border-top:1px solid #fff;color:#333}table.TF td{border-bottom:1px dotted #999;padding:5px}.fltrow{background-color:#ebecee !important;}.fltrow th,.fltrow td{border-bottom:1px dotted #666 !important;padding:1px 3px 1px 3px !important}.flt,select.flt,select.flt_multi,.flt_s,.single_flt,.div_checklist{border:1px solid #999 !important}input.flt{width:99% !important}.inf{height:$min-height;background:#d7d7d7 url("images/bg_infDiv.jpg") 0 0 repeat-x !important}input.reset{background:transparent url("images/btn_eraser.gif") center center no-repeat !important}.helpBtn:hover{background-color:transparent}.nextPage{background:transparent url("images/btn_next_page.gif") center center no-repeat !important;}.nextPage:hover{background:transparent url("images/btn_over_next_page.gif") center center no-repeat !important}.previousPage{background:transparent url("images/btn_previous_page.gif") center center no-repeat !important;}.previousPage:hover{background:transparent url("images/btn_over_previous_page.gif") center center no-repeat !important}.firstPage{background:transparent url("images/btn_first_page.gif") center center no-repeat !important;}.firstPage:hover{background:transparent url("images/btn_over_first_page.gif") center center no-repeat !important}.lastPage{background:transparent url("images/btn_last_page.gif") center center no-repeat !important;}.lastPage:hover{background:transparent url("images/btn_over_last_page.gif") center center no-repeat !important}div.grd_Cont{background-color:#ebecee !important;border:1px solid #ccc !important;padding:0 !important;}div.grd_Cont .even{background-color:#fff}div.grd_Cont .odd{background-color:#d5d5d5}div.grd_headTblCont{background-color:#ebecee !important;border-bottom:none !important;}div.grd_headTblCont table{border-right:none !important}div.grd_tblCont table th,div.grd_headTblCont table th,div.grd_headTblCont table td{background:#ebecee url("images/bg_th.jpg") left top repeat-x !important;border-bottom:1px solid #d0d0d0 !important;border-right:1px solid #d0d0d0 !important;border-left:1px solid #fff !important;border-top:1px solid #fff !important}div.grd_tblCont table td{border-bottom:1px solid #999 !important}.grd_inf{background:#d7d7d7 url("images/bg_infDiv.jpg") 0 0 repeat-x !important;border-top:1px solid #d0d0d0 !important}.loader{border:1px solid #999}.defaultLoader{width:32px;height:32px;background:transparent url("images/img_loading.gif") 0 0 no-repeat !important}.even{background-color:#fff}.odd{background-color:#d5d5d5}span.expClpFlt a.btnExpClpFlt:hover{background-color:transparent !important}.activeHeader{background:#999 !important}
|
BIN
docs/tablefilter/style/themes/default/images/bg_infDiv.jpg
Normal file
After Width: | Height: | Size: 303 B |
BIN
docs/tablefilter/style/themes/default/images/bg_th.jpg
Normal file
After Width: | Height: | Size: 326 B |
BIN
docs/tablefilter/style/themes/default/images/btn_eraser.gif
Normal file
After Width: | Height: | Size: 356 B |
BIN
docs/tablefilter/style/themes/default/images/btn_first_page.gif
Normal file
After Width: | Height: | Size: 332 B |
BIN
docs/tablefilter/style/themes/default/images/btn_last_page.gif
Normal file
After Width: | Height: | Size: 331 B |
BIN
docs/tablefilter/style/themes/default/images/btn_next_page.gif
Normal file
After Width: | Height: | Size: 187 B |
BIN
docs/tablefilter/style/themes/default/images/btn_over_eraser.gif
Normal file
After Width: | Height: | Size: 440 B |
After Width: | Height: | Size: 640 B |
After Width: | Height: | Size: 427 B |
After Width: | Height: | Size: 393 B |
After Width: | Height: | Size: 395 B |
After Width: | Height: | Size: 290 B |
BIN
docs/tablefilter/style/themes/default/images/img_loading.gif
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
docs/tablefilter/style/themes/downsimple.png
Normal file
After Width: | Height: | Size: 201 B |
BIN
docs/tablefilter/style/themes/icn_clp.png
Normal file
After Width: | Height: | Size: 441 B |
BIN
docs/tablefilter/style/themes/icn_exp.png
Normal file
After Width: | Height: | Size: 469 B |
BIN
docs/tablefilter/style/themes/icn_filter.gif
Normal file
After Width: | Height: | Size: 68 B |
BIN
docs/tablefilter/style/themes/icn_filterActive.gif
Normal file
After Width: | Height: | Size: 78 B |
BIN
docs/tablefilter/style/themes/mytheme/images/bg_headers.jpg
Normal file
After Width: | Height: | Size: 300 B |
BIN
docs/tablefilter/style/themes/mytheme/images/bg_infDiv.jpg
Normal file
After Width: | Height: | Size: 303 B |
BIN
docs/tablefilter/style/themes/mytheme/images/btn_filter.png
Normal file
After Width: | Height: | Size: 928 B |
BIN
docs/tablefilter/style/themes/mytheme/images/btn_first_page.gif
Normal file
After Width: | Height: | Size: 63 B |
BIN
docs/tablefilter/style/themes/mytheme/images/btn_last_page.gif
Normal file
After Width: | Height: | Size: 61 B |
BIN
docs/tablefilter/style/themes/mytheme/images/btn_next_page.gif
Normal file
After Width: | Height: | Size: 59 B |
After Width: | Height: | Size: 58 B |
BIN
docs/tablefilter/style/themes/mytheme/images/img_loading.gif
Normal file
After Width: | Height: | Size: 8.6 KiB |
1
docs/tablefilter/style/themes/mytheme/mytheme.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
table.TF{border-left:1px dotted #81963b;border-top:none;border-right:0;border-bottom:none;}table.TF th{background:#39424b url("images/bg_headers.jpg") left top repeat-x;border-bottom:0;border-right:1px dotted #d0d0d0;border-left:0;border-top:0;color:#fff}table.TF td{border-bottom:1px dotted #81963b;border-right:1px dotted #81963b;padding:5px}.fltrow{background-color:#81963b !important;}.fltrow th,.fltrow td{border-bottom:1px dotted #39424b !important;border-right:1px dotted #fff !important;border-left:0 !important;border-top:0 !important;padding:1px 3px 1px 3px !important}.flt,select.flt,select.flt_multi,.flt_s,.single_flt,.div_checklist{border:1px solid #687830 !important}input.flt{width:99% !important}.inf{background:#d8d8d8;height:$min-height}input.reset{width:53px;background:transparent url("images/btn_filter.png") center center no-repeat !important}.helpBtn:hover{background-color:transparent}.nextPage{background:transparent url("images/btn_next_page.gif") center center no-repeat !important}.previousPage{background:transparent url("images/btn_previous_page.gif") center center no-repeat !important}.firstPage{background:transparent url("images/btn_first_page.gif") center center no-repeat !important}.lastPage{background:transparent url("images/btn_last_page.gif") center center no-repeat !important}div.grd_Cont{background:#81963b url("images/bg_headers.jpg") left top repeat-x !important;border:1px solid #ccc !important;padding:0 1px 1px 1px !important;}div.grd_Cont .even{background-color:#bccd83}div.grd_Cont .odd{background-color:#fff}div.grd_headTblCont{background-color:#ebecee !important;border-bottom:none !important}div.grd_tblCont table{border-right:none !important;}div.grd_tblCont table td{border-bottom:1px dotted #81963b;border-right:1px dotted #81963b}div.grd_tblCont table th,div.grd_headTblCont table th{background:transparent url("images/bg_headers.jpg") 0 0 repeat-x !important;border-bottom:0 !important;border-right:1px dotted #d0d0d0 !important;border-left:0 !important;border-top:0 !important;padding:0 4px 0 4px !important;color:#fff !important;height:35px !important}div.grd_headTblCont table td{border-bottom:1px dotted #39424b !important;border-right:1px dotted #fff !important;border-left:0 !important;border-top:0 !important;background-color:#81963b !important;padding:1px 3px 1px 3px !important}.grd_inf{background-color:#d8d8d8;border-top:1px solid #d0d0d0 !important}.loader{border:0 !important;background:#81963b !important}.defaultLoader{width:32px;height:32px;background:transparent url("images/img_loading.gif") 0 0 no-repeat !important}.even{background-color:#bccd83}.odd{background-color:#fff}span.expClpFlt a.btnExpClpFlt:hover{background-color:transparent !important}.activeHeader{background:#81963b !important}
|
BIN
docs/tablefilter/style/themes/skyblue/images/bg_skyblue.gif
Normal file
After Width: | Height: | Size: 554 B |
BIN
docs/tablefilter/style/themes/skyblue/images/btn_first_page.gif
Normal file
After Width: | Height: | Size: 118 B |
BIN
docs/tablefilter/style/themes/skyblue/images/btn_last_page.gif
Normal file
After Width: | Height: | Size: 118 B |
BIN
docs/tablefilter/style/themes/skyblue/images/btn_next_page.gif
Normal file
After Width: | Height: | Size: 97 B |
BIN
docs/tablefilter/style/themes/skyblue/images/btn_prev_page.gif
Normal file
After Width: | Height: | Size: 97 B |
After Width: | Height: | Size: 601 B |
BIN
docs/tablefilter/style/themes/skyblue/images/img_loading.gif
Normal file
After Width: | Height: | Size: 847 B |
1
docs/tablefilter/style/themes/skyblue/skyblue.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
table.TF{padding:0;color:#000;border-right:1px solid #a4bed4;border-top:1px solid #a4bed4;border-left:1px solid #a4bed4;border-bottom:0;}table.TF th{margin:0;color:inherit;background:#d1e5fe url("images/bg_skyblue.gif") 0 0 repeat-x;border-color:#fdfdfd #a4bed4 #a4bed4 #fdfdfd;border-width:1px;border-style:solid}table.TF td{margin:0;padding:5px;color:inherit;border-bottom:1px solid #a4bed4;border-left:0;border-top:0;border-right:0}.fltrow{background-color:#d1e5fe !important;}.fltrow th,.fltrow td{padding:1px 3px 1px 3px !important}.flt,select.flt,select.flt_multi,.flt_s,.single_flt,.div_checklist{border:1px solid #a4bed4 !important}input.flt{width:99% !important}.inf{background-color:#e3efff !important;border:1px solid #a4bed4;height:$min-height;color:#004a6f}div.tot,div.status{border-right:0 !important}.helpBtn:hover{background-color:transparent}input.reset{background:transparent url("images/icn_clear_filters.png") center center no-repeat !important}.nextPage{background:transparent url("images/btn_next_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.nextPage:hover{background:#ffe4ab url("images/btn_next_page.gif") center center no-repeat !important;border:1px solid #ffb552 !important}.previousPage{background:transparent url("images/btn_prev_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.previousPage:hover{background:#ffe4ab url("images/btn_prev_page.gif") center center no-repeat !important;border:1px solid #ffb552 !important}.firstPage{background:transparent url("images/btn_first_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.firstPage:hover{background:#ffe4ab url("images/btn_first_page.gif") center center no-repeat !important;border:1px solid #ffb552 !important}.lastPage{background:transparent url("images/btn_last_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.lastPage:hover{background:#ffe4ab url("images/btn_last_page.gif") center center no-repeat !important;border:1px solid #ffb552 !important}.activeHeader{background:#ffe4ab !important;border:1px solid #ffb552 !important;color:inherit !important}div.grd_Cont{background-color:#d9eaed !important;border:1px solid #9cc !important;padding:0 !important;}div.grd_Cont .even{background-color:#fff}div.grd_Cont .odd{background-color:#e3efff}div.grd_headTblCont{background-color:#d9eaed !important;border-bottom:none !important}div.grd_tblCont table{border-right:none !important}div.grd_tblCont table th,div.grd_headTblCont table th,div.grd_headTblCont table td{background:#d9eaed url("images/bg_skyblue.gif") left top repeat-x;border-bottom:1px solid #a4bed4;border-right:1px solid #a4bed4 !important;border-left:1px solid #fff !important;border-top:1px solid #fff !important}div.grd_tblCont table td{border-bottom:1px solid #a4bed4 !important;border-right:0 !important;border-left:0 !important;border-top:0 !important}.grd_inf{background-color:#cce2fe;color:#004a6f;border-top:1px solid #9cc !important;}.grd_inf a{text-decoration:none;font-weight:bold}.loader{background-color:#2d8eef;border:1px solid #cce2fe;border-radius:5px}.even{background-color:#fff}.odd{background-color:#e3efff}span.expClpFlt a.btnExpClpFlt:hover{background-color:transparent !important}.ezActiveRow{background-color:#ffdc61 !important;color:inherit}.ezSelectedRow{background-color:#ffe4ab !important;color:inherit}.ezActiveCell{background-color:#fff !important;color:#000 !important;font-weight:bold}.ezETSelectedCell{background-color:#fff !important;font-weight:bold;color:#000 !important}
|
After Width: | Height: | Size: 63 B |
After Width: | Height: | Size: 61 B |
After Width: | Height: | Size: 59 B |
After Width: | Height: | Size: 58 B |
After Width: | Height: | Size: 601 B |
BIN
docs/tablefilter/style/themes/transparent/images/img_loading.gif
Normal file
After Width: | Height: | Size: 847 B |
@ -0,0 +1 @@
|
|||||||
|
table.TF{padding:0;color:inherit;border-right:1px solid transparent;border-top:1px solid transparent;border-left:1px solid transparent;border-bottom:0;}table.TF th{margin:0;color:inherit;background-color:transparent;border-color:transparent;border-width:1px;border-style:solid;}table.TF th:last-child{border-right:1px solid transparent}table.TF td{margin:0;padding:5px;color:inherit;border-bottom:1px solid transparent;border-left:0;border-top:0;border-right:0}.fltrow{background-color:transparent;}.fltrow th,.fltrow td{padding:1px 3px 1px 3px;border-bottom:1px solid transparent !important;}.fltrow th:last-child,.fltrow td:last-child{border-right:1px solid transparent}.flt,select.flt,select.flt_multi,.flt_s,.single_flt,.div_checklist{border:1px solid #a4bed4}input.flt{width:99% !important}.inf{background-color:transparent;border:1px solid transparent;height:$min-height;color:inherit}div.tot,div.status{border-right:0 !important}.helpBtn:hover{background-color:transparent}input.reset{background:transparent url("images/icn_clear_filters.png") center center no-repeat !important}.nextPage{background:transparent url("images/btn_next_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.nextPage:hover{background:#f7f7f7 url("images/btn_next_page.gif") center center no-repeat !important;border:1px solid #f7f7f7 !important}.previousPage{background:transparent url("images/btn_prev_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.previousPage:hover{background:#f7f7f7 url("images/btn_prev_page.gif") center center no-repeat !important;border:1px solid #f7f7f7 !important}.firstPage{background:transparent url("images/btn_first_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.firstPage:hover{background:#f7f7f7 url("images/btn_first_page.gif") center center no-repeat !important;border:1px solid #f7f7f7 !important}.lastPage{background:transparent url("images/btn_last_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.lastPage:hover{background:#f7f7f7 url("images/btn_last_page.gif") center center no-repeat !important;border:1px solid #f7f7f7 !important}.activeHeader{background:#f7f7f7 !important;border:1px solid transparent;color:inherit !important}div.grd_Cont{-webkit-box-shadow:0 0 0 0 rgba(50,50,50,0.75);-moz-box-shadow:0 0 0 0 rgba(50,50,50,0.75);box-shadow:0 0 0 0 rgba(50,50,50,0.75);background-color:transparent;border:1px solid transparent;padding:0 !important;}div.grd_Cont .even{background-color:transparent}div.grd_Cont .odd{background-color:#f7f7f7}div.grd_headTblCont{background-color:transparent;border-bottom:none !important}div.grd_tblCont table{border-right:none !important}div.grd_tblCont table th,div.grd_headTblCont table th,div.grd_headTblCont table td{background:transparent;border-bottom:1px solid transparent;border-right:1px solid transparent !important;border-left:1px solid transparent;border-top:1px solid transparent}div.grd_tblCont table td{border-bottom:1px solid transparent;border-right:0 !important;border-left:0 !important;border-top:0 !important}.grd_inf{background-color:transparent;color:inherit;border-top:1px solid transparent;}.grd_inf a{text-decoration:none;font-weight:bold}.loader{background-color:#f7f7f7;border:1px solid #f7f7f7;border-radius:5px;color:#000;text-shadow:none}.even{background-color:transparent}.odd{background-color:#f7f7f7}span.expClpFlt a.btnExpClpFlt:hover{background-color:transparent !important}.ezActiveRow{background-color:#ccc !important;color:inherit}.ezSelectedRow{background-color:#ccc !important;color:inherit}.ezActiveCell{background-color:transparent;color:inherit;font-weight:bold}.ezETSelectedCell{background-color:transparent;font-weight:bold;color:inherit}
|
BIN
docs/tablefilter/style/themes/upsimple.png
Normal file
After Width: | Height: | Size: 201 B |
1
docs/tablefilter/tablefilter.js
Normal file
1
docs/tablefilter/tf-1-2aa33b10e0e549020c12.js
Normal file
@ -1,18 +1,21 @@
|
|||||||
comm(a,b) = inv(a)*inv(b)*a*b
|
comm(a, b) = inv(a) * inv(b) * a * b
|
||||||
comm(a,b,args...) = comm(comm(a,b), args...)
|
comm(a, b, args...) = comm(comm(a, b), args...)
|
||||||
|
|
||||||
const MAGMA_PRESENTATION_regex = r"Group<\s?(?<gens>.*)\s?\|\s?(?<rels>.*)\s?>"
|
const MAGMA_PRESENTATION_regex = r"Group<\s?(?<gens>.*)\s?\|\s?(?<rels>.*)\s?>"
|
||||||
const COMMUTATOR_regex = r"\((?<comm>[\w](\s?,\s?[\w]){1+})\)"
|
const COMMUTATOR_regex = r"\((?<comm>[\w](\s?,\s?[\w]){1+})\)"
|
||||||
iscomment(line) = startswith(line, "//")
|
iscomment(line) = startswith(line, "//")
|
||||||
ismagma_presentation(line) = (m = match(MAGMA_PRESENTATION_regex, line); return !isnothing(m), m)
|
ismagma_presentation(line) =
|
||||||
|
(m = match(MAGMA_PRESENTATION_regex, line); return !isnothing(m), m)
|
||||||
|
|
||||||
function parse_magma_fpgroup(str::AbstractString)
|
|
||||||
|
|
||||||
|
function split_magma_presentation(str::AbstractString)
|
||||||
m = match(MAGMA_PRESENTATION_regex, str)
|
m = match(MAGMA_PRESENTATION_regex, str)
|
||||||
gens_str = strip.(split(m[:gens], ","))
|
gens_str = strip.(split(m[:gens], ","))
|
||||||
rels_str = m[:rels]
|
rels_str = m[:rels]
|
||||||
split_indices = [0]
|
split_indices = [0]
|
||||||
in_function_call=0
|
in_function_call = 0
|
||||||
for (i,s) in enumerate(rels_str)
|
for (i, s) in enumerate(rels_str)
|
||||||
if s == '('
|
if s == '('
|
||||||
in_function_call += 1
|
in_function_call += 1
|
||||||
elseif s == ')'
|
elseif s == ')'
|
||||||
@ -23,17 +26,27 @@ function parse_magma_fpgroup(str::AbstractString)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
@assert in_function_call == 0
|
@assert in_function_call == 0
|
||||||
push!(split_indices, length(rels_str)+1)
|
push!(split_indices, length(rels_str) + 1)
|
||||||
|
|
||||||
rels_strs = [strip.(String(rels_str[s+1:e-1])) for (s,e) in zip(split_indices, Iterators.rest(split_indices, 2))]
|
rels_strs = [
|
||||||
|
strip.(String(rels_str[s+1:e-1])) for
|
||||||
|
(s, e) in zip(split_indices, Iterators.rest(split_indices, 2))
|
||||||
|
]
|
||||||
|
|
||||||
# rels_strs = replace.(rels_strs, COMMUTATOR_regex=> s"comm(\g<comm>)")
|
# rels_strs = replace.(rels_strs, COMMUTATOR_regex=> s"comm(\g<comm>)")
|
||||||
# @show rels_strs
|
# @show rels_strs
|
||||||
|
return gens_str, rels_strs
|
||||||
|
end
|
||||||
|
|
||||||
|
function parse_magma_fpgroup(str::AbstractString)
|
||||||
|
gens_str, rels_strs = split_magma_presentation(str)
|
||||||
return parse_magma_fpgroup(gens_str, rels_strs)
|
return parse_magma_fpgroup(gens_str, rels_strs)
|
||||||
end
|
end
|
||||||
|
|
||||||
function parse_magma_fpgroup(gens_str::AbstractVector{<:AbstractString}, rels_str::AbstractVector{<:AbstractString})
|
function parse_magma_fpgroup(
|
||||||
|
gens_str::AbstractVector{<:AbstractString},
|
||||||
|
rels_str::AbstractVector{<:AbstractString},
|
||||||
|
)
|
||||||
|
|
||||||
gens_arr = Symbol.(gens_str)
|
gens_arr = Symbol.(gens_str)
|
||||||
gens_expr = Expr(:tuple, gens_arr...)
|
gens_expr = Expr(:tuple, gens_arr...)
|
||||||
@ -43,16 +56,16 @@ function parse_magma_fpgroup(gens_str::AbstractVector{<:AbstractString}, rels_st
|
|||||||
|
|
||||||
F = FreeGroup(String.(gens_str))
|
F = FreeGroup(String.(gens_str))
|
||||||
relations = @eval begin
|
relations = @eval begin
|
||||||
$gens_expr = AbstractAlgebra.gens($F);
|
$gens_expr = AbstractAlgebra.gens($F)
|
||||||
$rels_expr
|
$rels_expr
|
||||||
end
|
end
|
||||||
|
|
||||||
return F/relations
|
return F / relations
|
||||||
end
|
end
|
||||||
|
|
||||||
function parse_grouppresentations(filename::AbstractString)
|
function parse_grouppresentations(filename::AbstractString)
|
||||||
lines = strip.(readlines(filename))
|
lines = strip.(readlines(filename))
|
||||||
groups = Dict{String, FPGroup}()
|
groups = Dict{String,FPGroup}()
|
||||||
group_regex = r"(?<name>\w.*)\s?:=\s?(?<group_str>Group.*)"
|
group_regex = r"(?<name>\w.*)\s?:=\s?(?<group_str>Group.*)"
|
||||||
for line in lines
|
for line in lines
|
||||||
isempty(line) && continue
|
isempty(line) && continue
|
||||||
|