Home Online Manual
Top
Back: rightModulo
Forward: ncRelations
FastBack:
FastForward:
Up: nctools_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document
7.5.19.0. moduloSlim
Procedure from library nctools.lib (see nctools_lib).

Usage:
moduloSlim(A,B); A,B module/matrix/ideal

Return:
module

Purpose:
compute modulo with slimgb as engine

Example:
 
LIB "nctools.lib";
LIB "ncalg.lib";
ring r; // first classical example for modulo
ideal h1=x,y,z;    ideal h2=x;
module m=moduloSlim(h1,h2);
print(m);
==> 1,0,0, 0,
==> 0,0,z, x,
==> 0,x,-y,0 
// now, a noncommutative example
def A = makeUsl2(); setring A; // this algebra is U(sl_2)
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 = moduloSlim(H1,H2);
T = std( NF(std(H2+T),H2) );
T;
==> T[1]=h-1
==> T[2]=e
// now, a matrix example:
ring r2 = 0,(x,d), (dp);
def R = nc_algebra(1,1); setring R;
matrix M[2][2] = d, 0, 0, d*(x*d);
matrix P[2][1] = (8x+7)*d+9x, (x2+1)*d + 5*x;
module X = moduloSlim(P,M);
print(X);
==> 5x2d2-2xd3-5xd-6d2+5,xd5+5xd3+5d4+5d2