2017-03-13 15:56:07 +01:00
|
|
|
module PropertyT
|
2017-03-13 14:49:55 +01:00
|
|
|
|
2019-01-11 06:32:09 +01:00
|
|
|
using LinearAlgebra
|
|
|
|
using SparseArrays
|
|
|
|
|
2022-11-07 15:42:10 +01:00
|
|
|
using JuMP
|
|
|
|
|
2017-06-22 15:15:43 +02:00
|
|
|
using Groups
|
2024-02-14 10:53:10 +01:00
|
|
|
import GroupsCore
|
2024-02-15 22:42:17 +01:00
|
|
|
import PermutationGroups as PG
|
|
|
|
import SymbolicWedderburn as SW
|
|
|
|
import StarAlgebras as SA
|
2017-03-15 17:48:52 +01:00
|
|
|
|
2022-11-07 15:45:18 +01:00
|
|
|
include("constraint_matrix.jl")
|
2018-09-09 11:35:13 +02:00
|
|
|
include("sos_sdps.jl")
|
2022-11-15 18:51:43 +01:00
|
|
|
include("solve.jl")
|
2022-11-15 18:53:03 +01:00
|
|
|
include("reconstruct.jl")
|
2022-11-07 16:01:35 +01:00
|
|
|
include("certify.jl")
|
2019-06-30 13:19:24 +02:00
|
|
|
|
2022-11-07 16:09:02 +01:00
|
|
|
include("sqadjop.jl")
|
|
|
|
|
2022-11-07 16:13:39 +01:00
|
|
|
include("roots.jl")
|
|
|
|
import .Roots
|
|
|
|
include("gradings.jl")
|
|
|
|
|
2022-11-07 16:21:58 +01:00
|
|
|
include("actions/actions.jl")
|
|
|
|
|
2023-03-19 20:26:42 +01:00
|
|
|
function group_algebra(G::Groups.Group, S = gens(G); halfradius::Integer)
|
2022-11-07 18:44:42 +01:00
|
|
|
S = union!(S, inv.(S))
|
|
|
|
@info "generating wl-metric ball of radius $(2halfradius)"
|
2023-03-19 20:33:28 +01:00
|
|
|
@time E, sizes = Groups.wlmetric_ball(S; radius = 2halfradius)
|
2022-11-07 18:44:42 +01:00
|
|
|
@info "sizes = $(sizes)"
|
|
|
|
@info "computing the *-algebra structure for G"
|
2024-02-15 22:42:17 +01:00
|
|
|
@time RG = SA.StarAlgebra(
|
2022-11-07 18:44:42 +01:00
|
|
|
G,
|
2024-02-15 22:42:17 +01:00
|
|
|
SA.Basis{UInt32}(E),
|
2023-03-19 20:33:28 +01:00
|
|
|
(sizes[halfradius], sizes[halfradius]);
|
|
|
|
precompute = false,
|
2022-11-07 18:44:42 +01:00
|
|
|
)
|
|
|
|
return RG, S, sizes
|
|
|
|
end
|
2019-06-30 13:19:24 +02:00
|
|
|
|
2017-03-13 14:49:55 +01:00
|
|
|
end # module Property(T)
|