On Feb 6, 2008 1:34 AM, Simon King <[EMAIL PROTECTED]> wrote:
>
> Dear Sage team,
>
> i am confused about the use of the notion "category" in Sage.
>
> I defined M=Modules(PolynomialRing(QQ,'x,y,z')), and then i expected
> that "M?"or dir(M) would provide me with informations on how to
> construct objects of that category and morphisms between them, and
> also tensor products. But i found nothing.
>
> The Sage Tutorial and Programming Guide were not helpful (BTW, I'm
> missing an index or a "search" functionality for both of them!).
>
> The index of Sage Constructions holds no entry "category" or "tensor
> product".
>
> The Reference Manual provides some entries "category()", but they do
> not explain what a category is ("Return the category of x." is not
> exactly an explanation of the notion "category").
>
> The Reference Manual describes a tensor product for graphs (something
> that i am not familiar with), but not for modules over commutative
> rings.
>
> Are there other Sage manuals that i forgot to include into my
> bookmarks?
>
> Can you tell me what a "category" is in Sage, and how to construct
> modules over a polynomial ring, module homomorphisms and tensor
> products (actually i just need it for free modules)?

Unfortunately there is no useful functionality for modules over a polynomial
ring directly in Sage, even over k[x] where k is a field, since nobody
contributed an implementation of Hermite Normal Form in that context yet.

Here's what you would do to create a module over a polynomial ring
then a submodule:

sage: R.<x> = QQ[]
sage: W = R^5; W
Ambient free module of rank 5 over the principal ideal domain
Univariate Polynomial Ring in x over Rational Field
sage: V = W.span([[x,0,0,2,1], [0,x,1,1,1]])

However, I just noticed that somebody (I think malb recently) appears
to have  defined "echelon form"
 for matrices over a polynomial ring (it should be Hermite Normal
Form), so instead
of getting NotImplementedErrors, a bunch of functions for modules over
polynomial
rings return False answers:

sage: V                           # wrong
Free module of degree 5 and rank 2 over Univariate Polynomial Ring in
x over Rational Field
Echelon basis matrix:
[  1   0   0 2/x 1/x]
[  0   1 1/x 1/x 1/x]
sage: [x,0,0,2,1] in V       # wrong
False

Here's what you "would" do for a module over a poly ring in several variables.
At least this doesn't work:

sage: R.<x,y> = QQ[]
sage: W = R^5; W
Ambient free module of rank 5 over the integral domain Multivariate
Polynomial Ring in x, y over Rational Field
sage: V = W.span([[x,0,0,2,1], [0,x,1,1,y]]); V
---------------------------------------------------------------------------
<type 'exceptions.AttributeError'>        Traceback (most recent call last)

/Users/was/<ipython console> in <module>()

<type 'exceptions.AttributeError'>: 'FreeModule_ambient_domain' object
has no attribute 'span'

http://trac.sagemath.org/sage_trac/ticket/2075

 -- William

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to