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 -~----------~----~----~----~------~----~------~--~---