Elements in Ore modules¶
AUTHOR:
Xavier Caruso (2024-10)
- class sage.modules.ore_module_element.OreModuleElement[source]¶
Bases:
FreeModuleElement_generic_dense
A generic element of a Ore module.
- image()[source]¶
Return the image of this element by the pseudomorphism defining the action of the Ore variable on this Ore module.
EXAMPLES:
sage: K.<t> = Frac(QQ['t']) sage: S.<X> = OrePolynomialRing(K, K.derivation()) sage: M.<v,w> = S.quotient_module(X^2 + t) sage: v.image() w sage: w.image() -t*v
>>> from sage.all import * >>> K = Frac(QQ['t'], names=('t',)); (t,) = K._first_ngens(1) >>> S = OrePolynomialRing(K, K.derivation(), names=('X',)); (X,) = S._first_ngens(1) >>> M = S.quotient_module(X**Integer(2) + t, names=('v', 'w',)); (v, w,) = M._first_ngens(2) >>> v.image() w >>> w.image() -t*v
- is_mutable()[source]¶
Always return
False
since elements in Ore modules are all immutable.EXAMPLES:
sage: K.<t> = Frac(QQ['t']) sage: S.<X> = OrePolynomialRing(K, K.derivation()) sage: M = S.quotient_module(X^2 + t) sage: v, w = M.basis() sage: v (1, 0) sage: v.is_mutable() False sage: v[1] = 1 Traceback (most recent call last): ... ValueError: vectors in Ore modules are immutable
>>> from sage.all import * >>> K = Frac(QQ['t'], names=('t',)); (t,) = K._first_ngens(1) >>> S = OrePolynomialRing(K, K.derivation(), names=('X',)); (X,) = S._first_ngens(1) >>> M = S.quotient_module(X**Integer(2) + t) >>> v, w = M.basis() >>> v (1, 0) >>> v.is_mutable() False >>> v[Integer(1)] = Integer(1) Traceback (most recent call last): ... ValueError: vectors in Ore modules are immutable
- vector()[source]¶
Return the coordinates vector of this element.
EXAMPLES:
sage: K.<t> = Frac(QQ['t']) sage: S.<X> = OrePolynomialRing(K, K.derivation()) sage: M.<v,w> = S.quotient_module(X^2 + t) sage: v.vector() (1, 0)
>>> from sage.all import * >>> K = Frac(QQ['t'], names=('t',)); (t,) = K._first_ngens(1) >>> S = OrePolynomialRing(K, K.derivation(), names=('X',)); (X,) = S._first_ngens(1) >>> M = S.quotient_module(X**Integer(2) + t, names=('v', 'w',)); (v, w,) = M._first_ngens(2) >>> v.vector() (1, 0)
We underline that this vector is not an element of the Ore module; it lives in \(K^2\). Compare:
sage: v.parent() Ore module <v, w> over Fraction Field of Univariate Polynomial Ring in t over Rational Field twisted by d/dt sage: v.vector().parent() Vector space of dimension 2 over Fraction Field of Univariate Polynomial Ring in t over Rational Field
>>> from sage.all import * >>> v.parent() Ore module <v, w> over Fraction Field of Univariate Polynomial Ring in t over Rational Field twisted by d/dt >>> v.vector().parent() Vector space of dimension 2 over Fraction Field of Univariate Polynomial Ring in t over Rational Field