#### D.12.4.8 NFMora

Procedure from library `teachstd.lib` (see teachstd_lib).

Usage:
  NFMora(f,G[,s]); f poly or vector,G ideal or module, s int

Return:
  the Mora normal form of f w.r.t. G, same type as f
  if s!=0 the symmetric s-polynomial (without division) is used

Note:
  Show comments if printlevel > 0, pauses computation if printlevel > 1

Example:

    LIB "teachstd.lib";
    ring r=0,(x,y,z),dp;
    poly f = x2y2z2+x5+yx3+z6-3y3;
    ideal G = x2y+x2,y3+xyz,xyz2+z6;
    NFMora(f,G);"";
    ==> x5-x2yz2+x3y-xyz2-3y3
    ==>
    ring s=0,(x,y,z),ds;
    poly f = x3y+x5+x2y2z2+z6;
    ideal G = x2+x2y,y3+xyz,x3y2+z4;
    NFMora(f,G);"";
    ==> 0
    ==>
    vector v = [f,x2+x2y];
    module M = [x2+x2y,f],[y3+xyz,y3],[x3y2+z4,z2];
    NFMora(v,M);
    ==> x2*gen(2)+x2y*gen(2)+x3y*gen(1)+x5*gen(1)+x2y2z2*gen(1)+z6*gen(1)

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