On 28 April 2014 11:18, Nathann Cohen <nathann.co...@gmail.com> wrote:

> > Thats it.
>
> The syntax is awful, do we agree on that ?
>
> > -1, some method returns an abelian group and you don't know how it was
> > constructed without having to dig around.
>
> ?
>
> But when I create a group by myself which I want to be equal to Z/2Z *
> Z/3Z I end up with something different, isn't that a more important
> problem ?
>
> Right now, when I create MY group by writing is as I want as a
> product, I have to call __repr__ to see what it accepts as input. If a
> function built the group I can do the same, can't I ?
>
> Come on guys... Don't tell me that creating a group as a product and
> not even knowing how to convert a tuple to an element of my group is
> not a problem ! This vector trick is nice, but you can't expect
> anybody to figure it out immediately, and clearly the default
> behaviour is not the right one !
>
>
I agree there.   The fact that Z/2 x Z/3 is isomorphic ot Z/6 does not make
them the same group.  We should allow construction of such a group (f.g.
abelian) without standardising  anything, at least as far as the
input/output interface with the user who has constructed the group is
concerned.  (There can be an internal standardised model of the group, for
sure).  The user can ask for the standard model, which would return a new
group together with morphisms both ways.

The situation is surely the same as this:  If I define a number fields with
the polynomial x^2-8 I would be unhappy if Sage decided that
Q(sqrt(8))=Q(sqrt(2)) and hence gave a field whose generator satisfied
x^2-2 instead, even if that is more standard.  Here we have the same
abstract field but different generators for it as a Q-algebra, and we can
do this sort of thing:

sage: K1.<a> = NumberField(x^2-2)
sage: K2.<b> = NumberField(x^2-8)
sage: K1==K2
False
sage: K1.is_isomorphic(K2)
True
sage: Hom(K1,K2)
Set of field embeddings from Number Field in a with defining polynomial x^2
- 2 to Number Field in b with defining polynomial x^2 - 8
sage: len(Hom(K1,K2))
2
sage: f = Hom(K1,K2)[0]
sage: f
Ring morphism:
  From: Number Field in a with defining polynomial x^2 - 2
  To:   Number Field in b with defining polynomial x^2 - 8
  Defn: a |--> 1/2*b
sage:

John




> Nathann
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-support" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-support+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-support@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-support.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to