Add action of permutation group on SLn

This commit is contained in:
kalmar 2017-06-09 22:03:35 +02:00
parent 6ac2f02fba
commit 578a75d807
2 changed files with 9 additions and 14 deletions

View File

@ -2,7 +2,6 @@ push!(LOAD_PATH, "./")
using Nemo using Nemo
using Groups using Groups
using WreathProducts
using GroupRings using GroupRings
using PropertyT using PropertyT
@ -52,19 +51,6 @@ end
import Nemo.elements import Nemo.elements
elements(F::Nemo.FinField) = FFEltsIter(F) elements(F::Nemo.FinField) = FFEltsIter(F)
###############################################################################
#
# Action of Premutations on Nemo.MatElem
#
###############################################################################
function (p::Nemo.perm)(A::Nemo.MatElem)
length(p.d) == A.r == A.c || throw("Can't act via $p on matrix of size ($(A.r), $(A.c))")
R = parent(A)
inv_p = inv(p)
return R(Nemo.matrix_repr(p))*A*R(Nemo.matrix_repr(inv_p))
end
############################################################################### ###############################################################################
# #
# Orbit stuff # Orbit stuff

View File

@ -19,6 +19,14 @@ function (g::WreathProducts.WreathProductElem)(A::Nemo.MatElem)
return G*A*inv_G return G*A*inv_G
end end
function (p::Nemo.perm)(A::Nemo.MatElem)
length(p.d) == A.r == A.c || throw("Can't act via $p on matrix of size ($(A.r), $(A.c))")
R = parent(A)
inv_p = inv(p)
return R(Nemo.matrix_repr(p))*A*R(Nemo.matrix_repr(inv_p))
end
############################################################################### ###############################################################################
# #
# Generating set # Generating set
@ -143,6 +151,7 @@ function main()
info(logger, "Symmetric generating set of size $(length(S))") info(logger, "Symmetric generating set of size $(length(S))")
info(logger, S) info(logger, S)
AutS = WreathProduct(Nemo.FiniteField(2,1, "a")[1], PermutationGroup(N)) AutS = WreathProduct(Nemo.FiniteField(2,1, "a")[1], PermutationGroup(N))
# AutS = PermutationGroup(N)
solver = SCS.SCSSolver(eps=tol, max_iters=iterations, verbose=true, linearsolver=SCS.Indirect) solver = SCS.SCSSolver(eps=tol, max_iters=iterations, verbose=true, linearsolver=SCS.Indirect)