# Singular

##### 7.7.2.0. pIntersect
Procedure from library `bfun.lib` (see bfun_lib).

Usage:
pIntersect(f, I [,s]); f a poly, I an ideal, s an optional int

Return:
vector, coefficient vector of the monic polynomial

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

Assume:
I is given as Groebner basis, basering is not a qring.

Note:
If the intersection is zero, this proc might not terminate.
If s>0 is given, it is searched for the generator of the intersection
only up to degree s. Otherwise (and by default), no bound is assumed.

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 pIntersect(t*Dt,inF); ==> gen(4)-1/36*gen(2) pIntersect(t*Dt,inF,1); ==> // Try a bound of at least 2 ==> 0 ```