2018-08-19 20:05:45 +02:00
|
|
|
__precompile__()
|
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 16:01:35 +01:00
|
|
|
using IntervalArithmetic
|
2022-11-07 15:42:10 +01:00
|
|
|
using JuMP
|
|
|
|
|
2017-06-22 15:15:43 +02:00
|
|
|
using Groups
|
2022-11-07 17:01:06 +01:00
|
|
|
import Groups.GroupsCore
|
2022-11-07 15:34:30 +01:00
|
|
|
using SymbolicWedderburn
|
2022-11-07 17:01:06 +01:00
|
|
|
import SymbolicWedderburn.StarAlgebras
|
|
|
|
import SymbolicWedderburn.PermutationGroups
|
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-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")
|
|
|
|
|
2022-11-07 18:44:42 +01:00
|
|
|
function group_algebra(G::Groups.Group, S=gens(G); halfradius::Integer, twisted::Bool)
|
|
|
|
S = union!(S, inv.(S))
|
|
|
|
@info "generating wl-metric ball of radius $(2halfradius)"
|
|
|
|
@time E, sizes = Groups.wlmetric_ball_serial(S, radius=2halfradius)
|
|
|
|
@info "sizes = $(sizes)"
|
|
|
|
@info "computing the *-algebra structure for G"
|
|
|
|
@time RG = StarAlgebras.StarAlgebra{twisted}(
|
|
|
|
G,
|
|
|
|
StarAlgebras.Basis{UInt32}(E),
|
|
|
|
(sizes[halfradius], sizes[halfradius]),
|
|
|
|
precompute=false,
|
|
|
|
)
|
|
|
|
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)
|