#11068: Basic implementation of one- and twosided ideals of non-commutative
rings,
and quotients by twosided ideals
-----------------------------------------------------------------+----------
Reporter: SimonKing |
Owner: AlexGhitza
Type: enhancement |
Status: needs_work
Priority: major |
Milestone: sage-4.7.2
Component: algebra |
Keywords: onesided twosided ideal noncommutative ring sd32
Work_issues: multiplication in quotient rings of matrix spaces |
Upstream: N/A
Reviewer: |
Author: Simon King
Merged: |
Dependencies: #10961, #9138, #11115, #11342
-----------------------------------------------------------------+----------
Changes (by SimonKing):
* status: needs_review => needs_work
* work_issues: => multiplication in quotient rings of matrix spaces
Comment:
Now I understand the problem.
Addition in Q works, but multiplication in Q doesn't. That is because the
current multiplication of quotient ring elements relies on a generic
implementation. Multiplication of `Q.0` with `Q.1` is essentially the same
as
{{{
sage: Q(Q.lift(Q.0)*Q.lift(Q.1))
}}}
The problem is: `Q.lift(Q.0)` tries to call `Q.lifting_map()`, which
should return the lift map - but fails. I guess the failure comes from a
cdef attribute that can only take an instance of type `Ring`; so, one
couldn't assign `MS` to it.
However, multiplication of `Q.0` with `Q.1` could also be done as follows:
{{{
sage: Q(Q.0.lift()*Q.1.lift())
[0 1]
[0 0]
}}}
The difference is that `Q.lift(Q.0)` is a generic method of quotient
rings, whereas Q.0.lift() is a generic method of quotient ring elements.
Obvious solution: If `Q.lifting_map()` can not construct the lifting map
via `sage.rings.morphism.RingMap_lift`, then it should try
`sage.categories.morphism.SetMorphism`.
Thanks for spotting it! I hope I can soon provide a new patch!
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11068#comment:35>
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.