#10335: Add domains for permutation groups
-----------------------------+----------------------------------------------
Reporter: mhansen | Owner: joyner
Type: enhancement | Status: needs_work
Priority: major | Milestone: sage-5.0
Component: group theory | Keywords:
Author: Mike Hansen | Upstream: N/A
Reviewer: Robert Miller | Merged:
Work_issues: |
-----------------------------+----------------------------------------------
Comment(by rbeezer):
This looks real good, Mike. I spent some time with this today. I know
its not done yet, but hopefully the following will be helpful.
I applied the patch from sage-combinat for #8359 to 4.7.alpha1, as best I
could tell (used patch from
http://combinat.sagemath.org/hgwebdir.cgi/patches/rev/508d4942a6d2). One
hunk failure at sage/combinat/root_system/all.py. Then #10334 had a hunk
failure in sage/groups/perm_gps/permgroup.py and #10335 had a had failure
in sage/categories/pushout.py. All easy to fix by hand, and maybe a
result of not getting the right thing from the sage-combinat server.
Passed all tests in sage/groups/perm_gps, except two, so not too far off.
Both doctest failures look very minor, and a result of routines I wrote
that have been added recently.
{{{
**********************************************************************
File "/sage/dev/devel/sage-main/sage/groups/perm_gps/permgroup.py", line
1920:
sage: G.subgroups()
Expected:
[Permutation Group with generators [()],
Permutation Group with generators [(2,3)],
Permutation Group with generators [(1,2)],
Permutation Group with generators [(1,3)],
Permutation Group with generators [(1,2,3)],
Permutation Group with generators [(1,3,2), (1,2)]]
Got:
[Permutation Group with generators [()],
Permutation Group with generators [(2,3)],
Permutation Group with generators [(1,2)],
Permutation Group with generators [(1,3)],
Permutation Group with generators [(1,2,3)],
Permutation Group with generators [(1,2), (1,3,2)]]
**********************************************************************
File "/sage/dev/devel/sage-main/sage/groups/perm_gps/permgroup.py", line
2082:
sage: A.cosets(S)
Expected:
Traceback (most recent call last):
...
ValueError: Subgroup of SymmetricGroup(3) generated by [(1,2)] is not
a subgroup of AlternatingGroup(3)
Got:
Traceback (most recent call last):
File "/sage/dev/local/bin/ncadoctest.py", line 1231, in run_one_test
self.run_one_example(test, example, filename, compileflags)
File "/sage/dev/local/bin/sagedoctest.py", line 38, in
run_one_example
OrigDocTestRunner.run_one_example(self, test, example, filename,
compileflags)
File "/sage/dev/local/bin/ncadoctest.py", line 1172, in
run_one_example
compileflags, 1) in test.globs
File "<doctest __main__.example_61[29]>", line 1, in <module>
A.cosets(S)###line 2082:
sage: A.cosets(S)
File "/sage/dev/local/lib/python/site-
packages/sage/groups/perm_gps/permgroup.py", line 2099, in cosets
raise ValueError("%s is not a subgroup of %s" % (S, self))
ValueError: Subgroup of (Symmetric group of order 3! as a permutation
group) generated by [(1,2)] is not a subgroup of Alternating group of
order 3!/2 as a permutation group
**********************************************************************
}}}
I think the stabilizer() routine needs some work.
{{{
try:
postition = self._domain_to_gap[point]
except KeyError:
return self.subgroup(gens=self.gens())
return self.subgroup(gap_group=gap.Stabilizer(self, point))
}}}
"position" is mis-spelled as first defined, and in the return, I think
"point" should be replaced with "position". With these changes, this
seems to work properly with a non-trivial domain in play.
Not a comprehensive look, but hopefully of use. Let me know what I can do
to help (including assisting with documentation). It'd be nice if there
was a patch, or something, at #8359 explaining how best to apply that
work.
Rob
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10335#comment:9>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.