1
0
mirror of https://github.com/kalmarek/PropertyT.jl.git synced 2024-12-25 02:15:29 +01:00

test: old sq,adj,op = the graded Adj for SL/SAut

This commit is contained in:
Marek Kaluba 2022-11-08 11:49:04 +01:00
parent b2b08e68c1
commit 4e93e78a9b
No known key found for this signature in database
GPG Key ID: 8BF1A3855328FC15
3 changed files with 80 additions and 39 deletions

View File

@ -25,7 +25,6 @@ end
grading(s::MatrixGroups.ElementarySymplectic) = Roots.Root(s) grading(s::MatrixGroups.ElementarySymplectic) = Roots.Root(s)
grading(e::MatrixGroups.ElementaryMatrix) = Roots.Root(e) grading(e::MatrixGroups.ElementaryMatrix) = Roots.Root(e)
grading(t::Groups.Transvection) = grading(Groups._abelianize(t))
function grading(g::FPGroupElement) function grading(g::FPGroupElement)
if length(word(g)) == 1 if length(word(g)) == 1

View File

@ -60,10 +60,7 @@ function positive(roots::AbstractVector{<:Root{N}}) where {N}
return filter(α -> dot(α, pd) > 0.0, roots) return filter(α -> dot(α, pd) > 0.0, roots)
end end
Base.:~(α::AbstractRoot, β::AbstractRoot) = isproportional(α, β) function Base.show(io::IO, r::Root)
(α::AbstractRoot, β::AbstractRoot) = isorthogonal(α, β)
function Base.show(io::IO, r::Root{N}) where {N}
print(io, "Root$(r.coord)") print(io, "Root$(r.coord)")
end end
@ -73,8 +70,7 @@ function Base.show(io::IO, ::MIME"text/plain", r::Root{N}) where {N}
print(io, "Root in ^$N of length $l\n", r.coord) print(io, "Root in ^$N of length $l\n", r.coord)
end end
E(N, i::Integer) = Root(ntuple(k -> k == i ? 1 : 0, N)) 𝕖(N, i) = Root(ntuple(k -> k == i ? 1 : 0, N))
𝕖(N, i) = E(N, i)
𝕆(N, ::Type{T}) where {T} = Root(ntuple(_ -> zero(T), N)) 𝕆(N, ::Type{T}) where {T} = Root(ntuple(_ -> zero(T), N))
""" """

View File

@ -1,7 +1,53 @@
@testset "Adj for SpN via grading" begin @testset "Adj via grading" begin
@testset "SL(n,Z) & Aut(F₄)" begin
n = 4
halfradius = 1
SL = MatrixGroups.SpecialLinearGroup{n}(Int8)
RSL, S, sizes = PropertyT.group_algebra(SL, halfradius=halfradius, twisted=true)
Δ = RSL(length(S)) - sum(RSL(s) for s in S)
Δs = let ψ = identity
PropertyT.laplacians(
RSL,
S,
x -> (gx = PropertyT.grading(ψ(x)); Set([gx, -gx])),
)
end
sq, adj, op = PropertyT.SqAdjOp(RSL, n)
@test PropertyT.Adj(Δs, :A₁) == sq
@test PropertyT.Adj(Δs, :A₂) == adj
@test PropertyT.Adj(Δs, Symbol("A₁×A₁")) == op
halfradius = 1
G = SpecialAutomorphismGroup(FreeGroup(n))
RG, S, sizes = PropertyT.group_algebra(G, halfradius=halfradius, twisted=true)
Δ = RG(length(S)) - sum(RG(s) for s in S)
Δs = let ψ = Groups.Homomorphism(Groups._abelianize, G, SL)
PropertyT.laplacians(
RG,
S,
x -> (gx = PropertyT.grading(ψ(x)); Set([gx, -gx])),
)
end
sq, adj, op = PropertyT.SqAdjOp(RG, n)
@test PropertyT.Adj(Δs, :A₁) == sq
@test PropertyT.Adj(Δs, :A₂) == adj
@test PropertyT.Adj(Δs, Symbol("A₁×A₁")) == op
end
@testset "Symplectic group" begin
genus = 3 genus = 3
halfradius = 2 halfradius = 1
SpN = MatrixGroups.SymplecticGroup{2genus}(Int8) SpN = MatrixGroups.SymplecticGroup{2genus}(Int8)
@ -35,6 +81,6 @@
end end
@test sum(PropertyT.Adj(Δs, subtype) for subtype in all_subtypes) == Δ^2 @test sum(PropertyT.Adj(Δs, subtype) for subtype in all_subtypes) == Δ^2
end end
end
end end