##### 7.7.2.0. pIntersectSyz

Procedure from library `bfun.lib` (see bfun_lib).

Usage:
  pIntersectSyz(f, I [,p,s,t]); f poly, I ideal, p,t optial ints, p prime

Return:
  vector, coefficient vector of the monic polynomial

Purpose:
  compute the intersection of an ideal I with the subalgebra K[f]

Assume:
  I is given as Groebner basis.

Note:
  If the intersection is zero, this procedure might not terminate.
  If p>0 is given, this proc computes the generator of the intersection in
  char p first and then only searches for a generator of the obtained
  degree in the basering. Otherwise, it searches for all degrees by
  computing syzygies.
  If s<>0, `std` is used for Groebner basis computations in char 0,
  otherwise, and by default, `slimgb` is used.
  If t<>0 and by default, `std` is used for Groebner basis
  computations in char >0, otherwise, `slimgb` is used.

Display:
  If printlevel=1, progress debug messages will be printed,
  if printlevel>=2, all the debug messages will be printed.

Example:

    LIB "bfun.lib";
    ring r = 0,(x,y),dp;
    poly f = x^2+y^3+x*y^2;
    def D = initialMalgrange(f);
    setring D;
    inF;
    ==> inF[1]=x*Dt
    ==> inF[2]=2*x*y*Dx+3*y^2*Dx-y^2*Dy-2*x*Dy
    ==> inF[3]=2*x^2*Dx+x*y*Dx+x*y*Dy+18*t*Dt+9*x*Dx-x*Dy+6*y*Dy+4*x+18
    ==> inF[4]=18*t*Dt^2+6*y*Dt*Dy-y*Dt+27*Dt
    ==> inF[5]=y^2*Dt
    ==> inF[6]=2*t*y*Dt+2*x*y*Dx+2*y^2*Dx-6*t*Dt-3*x*Dx-x*Dy-2*y*Dy+2*y-6
    ==> inF[7]=x*y^2+y^3+x^2
    ==> inF[8]=2*y^3*Dx-2*y^3*Dy-3*y^2*Dx-2*x*y*Dy+y^2*Dy-4*y^2+36*t*Dt+18*x*Dx+1\
       2*y*Dy+36
    poly s = t*Dt;
    pIntersectSyz(s,inF);
    ==> gen(4)-1/36*gen(2)
    int p = prime(20000);
    pIntersectSyz(s,inF,p,0,0);
    ==> gen(4)-1/36*gen(2)

User manual for Singular version 4-0-3, 2016, generated by texi2html.