Ask Your Question
0

Restriction of scalars for free modules

asked 2019-09-10 19:56:22 +0100

heluani gravatar image

updated 2019-09-10 21:26:48 +0100

Suppose I have a free module M over QQ[x]. How do I obtain the underlying QQ vector space? FreeModule does not have this coercion:

sage: R = PolynomialRing(QQ,'x')
sage: R in CommutativeAlgebras(QQ)
True
sage: M = FreeModule(R,3)
sage: M in VectorSpaces(QQ)
False

And CombinatorialFreeModule only takes already subcategories of QQ-vector spaces:


sage: M = CombinatorialFreeModule(QQ, ['a','b','c'], category=Modules(R))
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
....
ValueError: Subcategory of `Category of vector spaces with basis over Rational Field` required; got `Category of modules over Univariate Polynomial Ring in x over Rational Field`
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2019-09-10 21:53:52 +0100

Emmanuel Charpentier gravatar image
sage: R = PolynomialRing(QQ,'x')
sage: R in CommutativeAlgebras(QQ)
True
sage: M = FreeModule(R,3)
sage: M.parent()
<class 'sage.modules.free_module.FreeModule_ambient_pid_with_category'>
sage: m=M.random_element()
sage: m.parent()
Ambient free module of rank 3 over the principal ideal domain Univariate Polynomial Ring in x over Rational Field

Does this answer your qestion ?

edit flag offensive delete link more

Comments

Perhaps, I don't understand, which object is an instance of VectorSpaces(QQ).parent_class? or which object is in VectorSpaces(QQ)?

heluani gravatar imageheluani ( 2019-09-11 16:12:25 +0100 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2019-09-10 19:56:22 +0100

Seen: 325 times

Last updated: Sep 10 '19