##### 7.5.20.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

User manual for Singular version 4.4.1, 2025, generated by texi2html.