Elements of Modules#
Creation of Elements#
- M ! v: ModDed, SeqEnum -> ModDedElt#
- M ! v: ModDed, ModDedElt -> ModDedElt#
- M ! v: ModDed, ModElt -> ModDedElt#
Coerce \(v\) into an element of \(M\). \(v\) can be a sequence of length dimension of \(M\), a module element or vector or an element of another module over a Dedekind domain which is compatible with \(M\).
- Example: Coerce Quo (ex-2c7014)#
Let
Modand its submodules and quotient modules be as in the sub and quotient module example above.> m := 4*Mod.1; > m; (4/1*M.1 0) > Q1!m; ( 4/1*M.1 0 ) > Q2!m; ( 4/1*M.1 0 ) > m := Mod!m; > Q3!m; ( 4/1*M.1 0 ) > Q4!m; ( 4/1*M.1 0 ) > S1!m; >> S1!m; ^ Runtime error in `!': Illegal coercion LHS: ModDed RHS: ModDedElt > S1!Mod!V!0; ( ) > S2!Mod!Mod.2; ( M.1 ) > S3!Mod!(4*Mod.1); ( 4/1*M.1 0 )
Arithmetic with Elements#
Basic arithmetic can be performed with elements of a module over a Dedekind domain.
- x + y: ModDedElt, ModDedElt -> ModDedElt#
The sum of the module elements.
- x - y: ModDedElt, ModDedElt -> ModDedElt#
The difference of the module elements.
- u * c: ModDedElt, RngElt -> ModDedElt#
- c * u: RngElt, ModDedElt -> ModDedElt#
The product of the module element \(u\) and the ring element \(c\).
- u / c: ModDedElt, RngElt -> ModDedElt#
The product of \(u\) and \(1/c\) if it lies in the parent module of \(u\).
Other Functions on Elements#
Elements of modules over a Dedekind domain can be tested for equality and represented as a sequence.
- x eq y: ModDedElt, ModDedElt -> Bool#
Return
trueif \(x\) and \(y\) are the same element of a module.
- IsZero(a): ModDedElt -> BoolElt#
Returns whether the module element \(a\) is zero.