Home Online Manual
Top
Back: minres (plural)
Forward: mres (plural)
FastBack:
FastForward:
Up: Functions (plural)
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

7.3.14 modulo (plural)

Syntax:
modulo ( ideal_expression, ideal_expression )
modulo ( module_expression, module_expression )
Type:
module
Purpose:
modulo(h1,h2) represents $h_1/(h_1 \cap h_2) \cong (h_1+h_2)/h_2$, where $h_1$ and $h_2$are considered as submodules of the same free module $R^l$(l=1 for ideals).
Let $H_1$ (resp. $H_2$) be the matrix of size $l \times k$ (resp. $l \times m$), having the generators of $h_1$ (resp. $h_2$)as columns.
Then $h_1/(h_1 \cap h_2) \cong R^k / ker(\overline{H_1})$, where $\overline{H_1}: R^k \rightarrow R^l/Im(H_2)=R^l/h_2$is the induced map given by $H_1$.
modulo(h1,h2) returns generators of the kernel of this induced map.

Note: If, for at least one of
$h_1$ or $h_2$,the attribute isHomog is st, then modulo(h1,h2) also sets this attribute (if the weights are compatible).

Example:
 
LIB "ncalg.lib";
def A = makeUsl2();
setring A; // this algebra is U(sl_2)
option(redSB);
option(redTail);
ideal H2 = e2,f2,h2-1;
H2 = twostd(H2);
print(matrix(H2)); // print H2 in a compact form
==> h2-1,fh-f,eh+e,f2,2ef-h-1,e2
ideal H1 = std(e);
ideal T = modulo(H1,H2);
T = NF(std(H2+T),H2);
T = std(T);
T;
==> T[1]=h-1
==> T[2]=e
See also syz (plural).