mirror of
https://github.com/kalmarek/SmallHyperbolic
synced 2025-01-13 14:47:33 +01:00
Merge parameters as arguments and better logging.
This commit is contained in:
commit
4a11bf3b68
@ -16,6 +16,15 @@ function SL2p_gens(p)
|
|||||||
@assert isone(a^10)
|
@assert isone(a^10)
|
||||||
@assert isone(b^10)
|
@assert isone(b^10)
|
||||||
|
|
||||||
|
a, b
|
||||||
|
end
|
||||||
|
elseif p == 41
|
||||||
|
a, b = let
|
||||||
|
a = SL₂{p}([0 28; 19 35])
|
||||||
|
b = SL₂{p}([38 27; 2 9])
|
||||||
|
@assert isone(a^10)
|
||||||
|
@assert isone(b^10)
|
||||||
|
|
||||||
a, b
|
a, b
|
||||||
end
|
end
|
||||||
elseif p == 109
|
elseif p == 109
|
||||||
@ -56,9 +65,8 @@ function adjacency(ϱ, CC, a, b)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function parse_our_args()
|
function parse_our_args()
|
||||||
print(ARGS)
|
|
||||||
s = ArgParseSettings()
|
s = ArgParseSettings()
|
||||||
@add_arg_table s begin
|
@add_arg_table! s begin
|
||||||
"-p"
|
"-p"
|
||||||
help = "the prime p for which to use PSL(2,p)"
|
help = "the prime p for which to use PSL(2,p)"
|
||||||
arg_type = Int
|
arg_type = Int
|
||||||
@ -109,8 +117,7 @@ open(joinpath("log", LOGFILE), "w") do io
|
|||||||
a,b = SL2p_gens(p)
|
a,b = SL2p_gens(p)
|
||||||
a = SL₂{p}(get(parsed_args, "a", a))
|
a = SL₂{p}(get(parsed_args, "a", a))
|
||||||
b = SL₂{p}(get(parsed_args, "b", b))
|
b = SL₂{p}(get(parsed_args, "b", b))
|
||||||
@info "a = " a
|
@info "Generators" a b
|
||||||
@info "b = " b
|
|
||||||
|
|
||||||
Borel_cosets = let p = p, (a,b) = (a,b)
|
Borel_cosets = let p = p, (a,b) = (a,b)
|
||||||
SL2p, sizes =
|
SL2p, sizes =
|
||||||
@ -119,6 +126,7 @@ open(joinpath("log", LOGFILE), "w") do io
|
|||||||
RamanujanGraphs.CosetDecomposition(SL2p, Borel(SL₂{p}))
|
RamanujanGraphs.CosetDecomposition(SL2p, Borel(SL₂{p}))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
all_large_evs = []
|
||||||
let α = RamanujanGraphs.generator(RamanujanGraphs.GF{p}(0))
|
let α = RamanujanGraphs.generator(RamanujanGraphs.GF{p}(0))
|
||||||
|
|
||||||
for j = 0:(p-1)÷4
|
for j = 0:(p-1)÷4
|
||||||
@ -133,6 +141,7 @@ open(joinpath("log", LOGFILE), "w") do io
|
|||||||
@time ev = let evs = safe_eigvals(adj)
|
@time ev = let evs = safe_eigvals(adj)
|
||||||
_count_multiplicites(evs)
|
_count_multiplicites(evs)
|
||||||
end
|
end
|
||||||
|
all_large_evs = vcat(all_large_evs, [Float64(real(x[1])) for x in ev[1:2]])
|
||||||
|
|
||||||
@info "Principal Series Representation $j" ev[1:2] ev[end]
|
@info "Principal Series Representation $j" ev[1:2] ev[end]
|
||||||
catch ex
|
catch ex
|
||||||
@ -166,6 +175,7 @@ open(joinpath("log", LOGFILE), "w") do io
|
|||||||
@time ev = let evs = safe_eigvals(adj)
|
@time ev = let evs = safe_eigvals(adj)
|
||||||
_count_multiplicites(evs)
|
_count_multiplicites(evs)
|
||||||
end
|
end
|
||||||
|
all_large_evs = vcat(all_large_evs, [Float64(real(x[1])) for x in ev[1:2]])
|
||||||
|
|
||||||
@info "Discrete Series Representation $k" ev[1:2] ev[end]
|
@info "Discrete Series Representation $k" ev[1:2] ev[end]
|
||||||
catch ex
|
catch ex
|
||||||
@ -174,6 +184,12 @@ open(joinpath("log", LOGFILE), "w") do io
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
all_large_evs = sort(all_large_evs, rev=true)
|
||||||
|
λ = all_large_evs[2]
|
||||||
|
ε = (λ - 3)/5
|
||||||
|
α = acos(ε)
|
||||||
|
α_deg = α/pi*180
|
||||||
|
@info "Numerically" λ ε α α_deg
|
||||||
end # with_logger
|
end # with_logger
|
||||||
end # open(logfile)
|
end # open(logfile)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user