ASKSAGE: Sage Q&A Forum - Individual question feedhttp://ask.sagemath.org/questions/Q&A Forum for SageenCopyright Sage, 2010. Some rights reserved under creative commons license.Tue, 26 Jul 2016 10:43:19 -0500Semimonomial transformation grouphttp://ask.sagemath.org/question/34134/semimonomial-transformation-group/I have a subgroup of the semimonomial transformation group which is implemented in Sage and would like to be able to use for example the Orbit-functions in GAP, any ideas of how to do this?
Below I compute the full automorphism group of a linear [8,5] code over GF(4), with its generators stored in the variable "Gautgens".
f.<w>=GF(4,'x')
G=matrix(f,[[1,0],[w,1]])
Gt=reduce(lambda x,y:x.tensor_product(y,subdivide=False),[G]*3)
C=LinearCode(Gt[range(3,8)])
Gautgens=C.automorphism_group_gens()[0]
What I would like to do is to use the Orbits-function in GAP to find the orbits of some vectors in GF(4)^8 (v1,v2,v3,...) under the action of the automorphism group above. That is, something like:
gap.Orbits(gap.Group(Gautgens),[v1,v2,v3,..],"On....")
But I don't know how to make the automorphism group a group in GAP.
An alternative solution for me would be to map the automorphism group to an isomorphic permutation group acting on points. That is I would number all the vectors in GF(4)^8 and the automorphism group would then act as a permutation group on this indexing.Tue, 19 Jul 2016 10:57:35 -0500http://ask.sagemath.org/question/34134/semimonomial-transformation-group/Answer by Dima for <p>I have a subgroup of the semimonomial transformation group which is implemented in Sage and would like to be able to use for example the Orbit-functions in GAP, any ideas of how to do this?</p>
<p>Below I compute the full automorphism group of a linear [8,5] code over GF(4), with its generators stored in the variable "Gautgens".</p>
<pre><code>f.<w>=GF(4,'x')
G=matrix(f,[[1,0],[w,1]])
Gt=reduce(lambda x,y:x.tensor_product(y,subdivide=False),[G]*3)
C=LinearCode(Gt[range(3,8)])
Gautgens=C.automorphism_group_gens()[0]
</code></pre>
<p>What I would like to do is to use the Orbits-function in GAP to find the orbits of some vectors in GF(4)^8 (v1,v2,v3,...) under the action of the automorphism group above. That is, something like:</p>
<pre><code>gap.Orbits(gap.Group(Gautgens),[v1,v2,v3,..],"On....")
</code></pre>
<p>But I don't know how to make the automorphism group a group in GAP.</p>
<p>An alternative solution for me would be to map the automorphism group to an isomorphic permutation group acting on points. That is I would number all the vectors in GF(4)^8 and the automorphism group would then act as a permutation group on this indexing.</p>
http://ask.sagemath.org/question/34134/semimonomial-transformation-group/?answer=34237#post-id-34237 sage: g=libgap.Group(map(lambda s: libgap.PermList(s.get_perm()), Gautgens))
will give you the underlying permutation group. It has 1 orbit in its natural action (on 8 points):
sage: g.Orbits()
[ [ 1, 2, 5, 3, 6, 4, 7, 8 ] ]
You can convert it into a matrix group acting on GF(4)^8.
sage: mg=libgap.Group(map(lambda s: libgap.PermutationMat(s,8,libgap.GF(4)), g.GeneratorsOfGroup()))
Now you can compute orbits on vectors (see e.g. code in `graphs/generators/classical_geometries.py` for details); however, you might want to make sure that GAP's GF(4) is created in a compatible way.
Tue, 26 Jul 2016 10:42:10 -0500http://ask.sagemath.org/question/34134/semimonomial-transformation-group/?answer=34237#post-id-34237Comment by Dima for <pre><code> sage: g=libgap.Group(map(lambda s: libgap.PermList(s.get_perm()), Gautgens))
</code></pre>
<p>will give you the underlying permutation group. It has 1 orbit in its natural action (on 8 points):</p>
<pre><code> sage: g.Orbits()
[ [ 1, 2, 5, 3, 6, 4, 7, 8 ] ]
</code></pre>
<p>You can convert it into a matrix group acting on GF(4)^8. </p>
<pre><code> sage: mg=libgap.Group(map(lambda s: libgap.PermutationMat(s,8,libgap.GF(4)), g.GeneratorsOfGroup()))
</code></pre>
<p>Now you can compute orbits on vectors (see e.g. code in <code>graphs/generators/classical_geometries.py</code> for details); however, you might want to make sure that GAP's GF(4) is created in a compatible way. </p>
http://ask.sagemath.org/question/34134/semimonomial-transformation-group/?comment=34238#post-id-34238I am not 100% sure that you want to start with the permutation group - it might be a proper quotient of the "real" group, and then you need to do something else.Tue, 26 Jul 2016 10:43:19 -0500http://ask.sagemath.org/question/34134/semimonomial-transformation-group/?comment=34238#post-id-34238