1
0
mirror of https://github.com/kalmarek/SmallHyperbolic synced 2024-11-30 17:15:28 +01:00

add computations of PSL eigenvalues

This commit is contained in:
kalmarek 2020-04-29 19:22:53 +02:00
parent 0833ee025d
commit 4f1995c1b9
No known key found for this signature in database
GPG Key ID: 8BF1A3855328FC15
3 changed files with 92 additions and 3 deletions

View File

@ -6,6 +6,24 @@ git-tree-sha1 = "da0bf98d73f2f34c35d58981fcf139f16749a394"
uuid = "c3fe647b-3220-5bb0-a1ea-a7954cac585d" uuid = "c3fe647b-3220-5bb0-a1ea-a7954cac585d"
version = "0.7.1" version = "0.7.1"
[[ArnoldiMethod]]
deps = ["DelimitedFiles", "LinearAlgebra", "Random", "SparseArrays", "StaticArrays", "Test"]
git-tree-sha1 = "2b6845cea546604fb4dca4e31414a6a59d39ddcd"
uuid = "ec485272-7323-5ecc-a04f-4719b315124d"
version = "0.0.4"
[[Arpack]]
deps = ["Arpack_jll", "Libdl", "LinearAlgebra"]
git-tree-sha1 = "2ff92b71ba1747c5fdd541f8fc87736d82f40ec9"
uuid = "7d9fca2a-8960-54d3-9f78-7d1dccf2cb97"
version = "0.4.0"
[[Arpack_jll]]
deps = ["Libdl", "OpenBLAS_jll", "Pkg"]
git-tree-sha1 = "e214a9b9bd1b4e1b4f15b22c0994862b66af7ff7"
uuid = "68821587-b530-5797-8361-c406ea357684"
version = "3.5.0+3"
[[Base64]] [[Base64]]
uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
@ -81,6 +99,12 @@ git-tree-sha1 = "ed2c4abadf84c53d9e58510b5fc48912c2336fbb"
uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" uuid = "34da2185-b29b-5c13-b0c7-acf172513d20"
version = "2.2.0" version = "2.2.0"
[[CompilerSupportLibraries_jll]]
deps = ["Libdl", "Pkg"]
git-tree-sha1 = "7c4f882c41faa72118841185afc58a2eb00ef612"
uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae"
version = "0.3.3+0"
[[DataStructures]] [[DataStructures]]
deps = ["InteractiveUtils", "OrderedCollections"] deps = ["InteractiveUtils", "OrderedCollections"]
git-tree-sha1 = "b7720de347734f4716d1815b00ce5664ed6bbfd4" git-tree-sha1 = "b7720de347734f4716d1815b00ce5664ed6bbfd4"
@ -162,6 +186,11 @@ git-tree-sha1 = "5c49dab19938b119fe204fd7d7e8e174f4e9c68b"
uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3"
version = "0.8.8" version = "0.8.8"
[[Inflate]]
git-tree-sha1 = "f5fc07d4e706b84f72d54eedcc1c13d92fb0871c"
uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9"
version = "0.1.2"
[[IniFile]] [[IniFile]]
deps = ["Test"] deps = ["Test"]
git-tree-sha1 = "098e4d2c533924c921f9f9847274f2ad89e018b8" git-tree-sha1 = "098e4d2c533924c921f9f9847274f2ad89e018b8"
@ -209,11 +238,18 @@ uuid = "1b4a561d-cfcb-5daf-8433-43fcf8b4bea3"
version = "0.4.1" version = "0.4.1"
[[LibGit2]] [[LibGit2]]
deps = ["Printf"]
uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" uuid = "76f85450-5226-5b5a-8eaa-529ad045b433"
[[Libdl]] [[Libdl]]
uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
[[LightGraphs]]
deps = ["ArnoldiMethod", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"]
git-tree-sha1 = "e85fa18ae33a3ef55243d2c2c9f6ccea6f541566"
uuid = "093fc24a-ae57-5d10-9952-331d41423f4d"
version = "1.3.2"
[[LinearAlgebra]] [[LinearAlgebra]]
deps = ["Libdl"] deps = ["Libdl"]
uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
@ -221,6 +257,12 @@ uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
[[Logging]] [[Logging]]
uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" uuid = "56ddb016-857b-54e1-b83d-db4d58db5568"
[[MacroTools]]
deps = ["Markdown", "Random"]
git-tree-sha1 = "f7d2e3f654af75f01ec49be82c231c382214223a"
uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
version = "0.5.5"
[[Markdown]] [[Markdown]]
deps = ["Base64"] deps = ["Base64"]
uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"
@ -257,11 +299,17 @@ git-tree-sha1 = "928b8ca9b2791081dc71a51c55347c27c618760f"
uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3"
version = "0.3.3" version = "0.3.3"
[[OpenBLAS_jll]]
deps = ["CompilerSupportLibraries_jll", "Libdl", "Pkg"]
git-tree-sha1 = "2ee3e636e94b9fd95fa8364d5cba2e20dae16609"
uuid = "4536629a-c528-5b80-bd46-f80d51c5b363"
version = "0.3.9+2"
[[OpenSpecFun_jll]] [[OpenSpecFun_jll]]
deps = ["Libdl", "Pkg"] deps = ["CompilerSupportLibraries_jll", "Libdl", "Pkg"]
git-tree-sha1 = "65f672edebf3f4e613ddf37db9dcbd7a407e5e90" git-tree-sha1 = "d51c416559217d974a1113522d5919235ae67a87"
uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e"
version = "0.5.3+1" version = "0.5.3+3"
[[OrderedCollections]] [[OrderedCollections]]
deps = ["Random", "Serialization", "Test"] deps = ["Random", "Serialization", "Test"]
@ -285,6 +333,12 @@ version = "0.3.10"
deps = ["Dates", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"] deps = ["Dates", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"]
uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
[[Primes]]
deps = ["Test"]
git-tree-sha1 = "ff1a2323cb468ec5f201838fcbe3c232266b1f95"
uuid = "27ebfcd6-29c5-5fa9-bf4b-fb8fc14df3ae"
version = "0.4.0"
[[Printf]] [[Printf]]
deps = ["Unicode"] deps = ["Unicode"]
uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7"
@ -305,6 +359,14 @@ version = "0.3.1"
deps = ["InteractiveUtils", "Markdown", "Sockets"] deps = ["InteractiveUtils", "Markdown", "Sockets"]
uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
[[RamanujanGraphs]]
deps = ["LightGraphs", "LinearAlgebra", "Primes"]
git-tree-sha1 = "8d9d25a274aeec5d5265829d05784276a4841f6d"
repo-rev = "master"
repo-url = "https://github.com/kalmarek/RamanujanGraphs.jl"
uuid = "e7bd6bc6-b6b8-11e9-1ec2-2f89442c0d6c"
version = "0.3.0"
[[Random]] [[Random]]
deps = ["Serialization"] deps = ["Serialization"]
uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
@ -336,6 +398,12 @@ version = "0.2.0"
deps = ["Distributed", "Mmap", "Random", "Serialization"] deps = ["Distributed", "Mmap", "Random", "Serialization"]
uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383"
[[SimpleTraits]]
deps = ["InteractiveUtils", "MacroTools"]
git-tree-sha1 = "2ee666b24ab8be6a922f9d6c11a86e1a703a7dda"
uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d"
version = "0.9.2"
[[Sockets]] [[Sockets]]
uuid = "6462fe0b-24de-5631-8697-dd941f90decc" uuid = "6462fe0b-24de-5631-8697-dd941f90decc"

View File

@ -1,8 +1,10 @@
[deps] [deps]
AbstractAlgebra = "c3fe647b-3220-5bb0-a1ea-a7954cac585d" AbstractAlgebra = "c3fe647b-3220-5bb0-a1ea-a7954cac585d"
Arpack = "7d9fca2a-8960-54d3-9f78-7d1dccf2cb97"
DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab" DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab"
GroupRings = "0befed6a-bd73-11e8-1e41-a1190947c2f5" GroupRings = "0befed6a-bd73-11e8-1e41-a1190947c2f5"
Groups = "5d8bd718-bd84-11e8-3b40-ad14f4a32557" Groups = "5d8bd718-bd84-11e8-3b40-ad14f4a32557"
Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" Logging = "56ddb016-857b-54e1-b83d-db4d58db5568"
PropertyT = "03b72c93-0167-51e2-8a1e-eb4ff1fb940d" PropertyT = "03b72c93-0167-51e2-8a1e-eb4ff1fb940d"
RamanujanGraphs = "e7bd6bc6-b6b8-11e9-1ec2-2f89442c0d6c"
SCS = "c946c3f1-0d1f-5ce8-9dea-7daa1f7e2d13" SCS = "c946c3f1-0d1f-5ce8-9dea-7daa1f7e2d13"

19
src/PSL.jl Normal file
View File

@ -0,0 +1,19 @@
using RamanujanGraphs
using RamanujanGraphs.LightGraphs
using Arpack
Γ, eigenvalues = let q = 109
a = RamanujanGraphs.PSL₂{q}([ 0 1
108 11])
b = RamanujanGraphs.PSL₂{q}([57 2
52 42])
S = unique([[a^i for i in 1:4]; [b^i for i in 1:4]])
@info "Generating set S of $(eltype(S))" S
@time Γ, verts, vlabels, elabels = RamanujanGraphs.cayley_graph((q^3 - q)÷2, S)
@assert all(degree(Γ,i) == length(S) for i in vertices(Γ))
A = adjacency_matrix(Γ)
@time eigenvalues, _ = eigs(A, nev=5)
@show Γ eigenvalues
end