#10007: Possibility of Inherit easily from FreeModule
------------------------+---------------------------------------------------
Reporter: nborie | Owner: AlexGhitza
Type: task | Status: new
Priority: critical | Milestone:
Component: algebra | Keywords:
Author: | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
------------------------+---------------------------------------------------
Description changed by nborie:
Old description:
> When building a new class (strong algebraic structure of parent) which
> have a structure of module, one "can" only use CombinatorialFreeModule.
> It will be very very good to do that with FreeModule (speed, use all
> functionalities of FreeModule)
>
> See that :
> {{{
> sage: class Bla_parent(sage.modules.free_module.FreeModule_generic):
> ....: class
> Element(sage.modules.free_module_element.FreeModuleElement_generic_dense):
> ....: pass
> ....:
> sage: F = Bla_parent(QQ,6,6)
> sage: F
> <class '__main__.Bla_parent_with_category'>
> sage: p = F.Element(F,(1,2,3,4,5,6))
> sage: p
> (1, 2, 3, 4, 5, 6)
> sage: p.__class__
> <class '__main__.Element'>
> sage: (p+p).__class__
> <type 'sage.modules.free_module_element.FreeModuleElement_generic_dense'>
> }}}
New description:
When building a new class (strong algebraic structure of parent) which
have a structure of module, one "can" only use CombinatorialFreeModule. It
will be very very good to do that with FreeModule (speed, use all
functionalities of FreeModule).
Any operation on elements make it go out of the element class (but the
parent stay the right one.)
See that :
{{{
sage: class Bla_parent(sage.modules.free_module.FreeModule_generic):
....: class
Element(sage.modules.free_module_element.FreeModuleElement_generic_dense):
....: pass
....:
sage: F = Bla_parent(QQ,6,6)
sage: F
<class '__main__.Bla_parent_with_category'>
sage: p = F.Element(F,(1,2,3,4,5,6))
sage: p
(1, 2, 3, 4, 5, 6)
sage: p.__class__
<class '__main__.Element'>
sage: (p+p).__class__
<type 'sage.modules.free_module_element.FreeModuleElement_generic_dense'>
}}}
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10007#comment:1>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.