Ideals of noncommutative rings¶
Generic implementation of one and twosided ideals of noncommutative rings.
AUTHOR:
 Simon King (20110321), <simon.king@unijena.de>, trac ticket #7797.
EXAMPLES:
sage: MS = MatrixSpace(ZZ,2,2)
sage: MS*MS([0,1,2,3])
Left Ideal
(
[ 0 1]
[2 3]
)
of Full MatrixSpace of 2 by 2 dense matrices over Integer Ring
sage: MS([0,1,2,3])*MS
Right Ideal
(
[ 0 1]
[2 3]
)
of Full MatrixSpace of 2 by 2 dense matrices over Integer Ring
sage: MS*MS([0,1,2,3])*MS
Twosided Ideal
(
[ 0 1]
[2 3]
)
of Full MatrixSpace of 2 by 2 dense matrices over Integer Ring
See letterplace_ideal
for a more
elaborate implementation in the special case of ideals in free
algebras.

class
sage.rings.noncommutative_ideals.
IdealMonoid_nc
(R)¶ Bases:
sage.rings.ideal_monoid.IdealMonoid_c
Base class for the monoid of ideals over a noncommutative ring.
Note
This class is essentially the same as
IdealMonoid_c
, but does not complain about noncommutative rings.EXAMPLES:
sage: MS = MatrixSpace(ZZ,2,2) sage: MS.ideal_monoid() Monoid of ideals of Full MatrixSpace of 2 by 2 dense matrices over Integer Ring

class
sage.rings.noncommutative_ideals.
Ideal_nc
(ring, gens, coerce=True, side='twosided')¶ Bases:
sage.rings.ideal.Ideal_generic
Generic noncommutative ideal.
All fancy stuff such as the computation of Groebner bases must be implemented in subclasses. See
LetterplaceIdeal
for an example.EXAMPLES:
sage: MS = MatrixSpace(QQ,2,2) sage: I = MS*[MS.1,MS.2]; I Left Ideal ( [0 1] [0 0], [0 0] [1 0] ) of Full MatrixSpace of 2 by 2 dense matrices over Rational Field sage: [MS.1,MS.2]*MS Right Ideal ( [0 1] [0 0], [0 0] [1 0] ) of Full MatrixSpace of 2 by 2 dense matrices over Rational Field sage: MS*[MS.1,MS.2]*MS Twosided Ideal ( [0 1] [0 0], [0 0] [1 0] ) of Full MatrixSpace of 2 by 2 dense matrices over Rational Field

side
()¶ Return a string that describes the sidedness of this ideal.
EXAMPLES:
sage: A = SteenrodAlgebra(2) sage: IL = A*[A.1+A.2,A.1^2] sage: IR = [A.1+A.2,A.1^2]*A sage: IT = A*[A.1+A.2,A.1^2]*A sage: IL.side() 'left' sage: IR.side() 'right' sage: IT.side() 'twosided'
