On Thu, Dec 27, 2012 at 1:07 PM, Jernej Azarija <[email protected]> wrote:
>
>
> On Thursday, 27 December 2012 20:59:45 UTC+1, Benjamin Jones wrote:
>>
>> On Thu, Dec 27, 2012 at 11:39 AM, Jernej Azarija <[email protected]>
>> wrote:
>> > Hello!
>> >
>> > I apologize for posting this question here but somehow I am not allowed
>> > to
>> > drop questions to sage-support. Moreover I do not feel confident enough
>> > to
>> > post this thing as a bug on the trac wiki.
>> >
>> > Working with a large graph G on ~250 vertices I have noticed that
>> > elements
>> > of the automorphism group of G permute ~50 vertices and that most
>> > vertices
>> > are fixed by any automorphism. Hence most orbits of the automorphism
>> > group
>> > contain just singletons. However sage simply discards all vertices that
>> > are
>> > fixed by the automorphism . In my case this resulted in an "incomplete"
>> > orbit containing just 50 elements. An extreme case happens when one
>> > deals
>> > with an asymmetric graph
>> >
>> > ===
>> > sage: G = graphs.RandomRegular(7,50)
>> > sage: G.vertices()
>> > [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
>> > 20,
>> > 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
>> > 39,
>> > 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]
>> > sage: G.automorphism_group().domain()
>> > {1}
>> > sage: G.automorphism_group().orbits()
>> > [[1]]
>> > ===
>> >
>> > This of course is not the desired result since one assumes orbits
>> > partition
>> > the group.
>> >
>> > Is this a bug or am I simply missing some parameter to resolve this
>> > issue?
>> >
>>
>> I don't think this is a bug.
>
>
> Hello! Thanks for your reply!
>>
>>
>> It looks to me like G.automorphism_group() is returning an abstract
>> permutation group. For a lot of random graphs this is going to be the
>> trivial group "Permutation Group with generators [()]" (a random graph
>> is likely to have no symmetry). The natural (non-empty) domain for the
>> action of such a group is a singleton set and there is of course only
>> one orbit there. Notice that G.automorphism_group().domain() returns
>> {1}, it's the domain of a permutation group on {1, ... , n}.
>
> I am not sure this is consistent with the mathematical definition of the
> domain of a group acting on a set S.

G.automorphism_group() is not returning "a group acting on a set S",
merely a permutation group. Observe that the trivial group is
isomorphic to the trivial permutation subgroup of {1} as well as {0,
1, ... , 50}.

> Even *if* I take this convention for
> granted, it becomes a mess if I try to obtain the orbits of a
> vertex-stabilizer. Being more concrete:
>
> sage: G = graphs.RandomRegular(7,50)
> sage: G.automorphism_group().stabilizer(1).orbits()
> [[1]]
>
> which is clearly not the desired output.

This in consistent with what I said above. In this case
G.automorphism_group() is the trivial group (permutation group with no
generators). So, G.automorphism_group().stabilizer(1) is again the
trivial group.

>>
>> One simple thing you can do is call:
>>
>> sage: A = G.automorphism_group(orbits=True)
>
> Yes. Is there a way to extend this answer to the case when I wish to obtain
> the orbit of a specific subgroup of the automorphism group?
>

The documentation (G.automorphism_group?) describes how to get the
subgroup of the automorphism group that preserves a given partition of
the vertex set. Other than that it would depend on what subgroup you
want. Check out the generic group methods that construct subgroups.

Also, see this discussion:
https://groups.google.com/forum/?fromgroups=#!topic/sage-support/HX0QfXgwO5s

--
Benjamin Jones

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
Visit this group at http://groups.google.com/group/sage-devel?hl=en.


Reply via email to