#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
Component: algebra | Keywords:
onesided twosided ideal noncommutative ring
Author: | Upstream:
N/A
Reviewer: | Merged:
Work_issues: Add examples; move code from ring.py to rings.py |
----------------------------------------------------------------+-----------
Comment(by SimonKing):
Concerning examples.
I suggest to make a standard example out of the following emulation of a
certain very simple ideals of a free algebra, ''without'' letterplace:
{{{
sage: from sage.rings.noncommutative_ideals import Ideal_nc
# mainly we need a 'reduce()' method. So, provide one!
sage: class PowerIdeal(Ideal_nc):
....: def __init__(self, R, n):
....: self._power = n
....: Ideal_nc.__init__(self,R,[x^n for x in R.gens()])
....: def reduce(self,x):
....: R = self.ring()
....: return add([c*R(m) for c,m in x if len(m)<self._power],R(0))
....:
sage: F.<x,y,z> = FreeAlgebra(QQ, 3)
sage: I3 = PowerIdeal(F,3); I3
Twosided Ideal (x^3, y^3, z^3) of Free Algebra on 3 generators (x, y, z)
over Rational Field
# We need to use super in order to access the generic quotient:
sage: Q3.<a,b,c> = super(F.__class__,F).quotient(I3)
sage: Q3
Quotient of Free Algebra on 3 generators (x, y, z) over Rational Field by
the ideal (x^3, y^3, z^3)
sage: (a+b+2)^4
16 + 32*x + 32*y + 24*x^2 + 24*x*y + 24*y*x + 24*y^2
sage: Q3.is_commutative()
False
sage: I2 = PowerIdeal(F,2); I2
Twosided Ideal (x^2, y^2, z^2) of Free Algebra on 3 generators (x, y, z)
over Rational Field
sage: Q2.<a,b,c> = super(F.__class__,F).quotient(I2)
sage: Q2.is_commutative()
True
sage: (a+b+2)^4
16 + 32*x + 32*y
}}}
I think I would be able to add this example as doc test tomorrow, also
removing the whole ideal and quotient stuff from `sage.rings.ring.Ring` to
`sage.categories.rings.Rings.ParentMethods`.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11068#comment:3>
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.