# isComponentContained -- This method tests containment of (irreducible) varieties; more generally it tests if a top-dimensional irreducible component of the scheme associated an ideal is contained in the scheme associated to another ideal

## Synopsis

• Usage:
isComponentContained(IX,IY)
• Inputs:
• IX, an ideal, a multi-homogeneous ideal defining a closed subscheme of ℙn1x...xℙnm; makeProductRing builds the graded coordinate ring of ℙn1x...xℙnm.
• IY, an ideal, a multi-homogeneous ideal defining a closed subscheme of ℙn1x...xℙnm; makeProductRing builds the graded coordinate ring of ℙn1x...xℙnm.
• Optional inputs:
• Verbose =>
• Outputs:
• isCompCont, , whether or not a top-dimensional irreducible (and reduced) component of the scheme X associated to IX is contained in the scheme Y associated to IY

## Description

For a subschemes X of an irreducible subscheme Y of ℙn1x...xℙnm this command tests whether or not a top-dimensional irreducible (and reduced) component of X is contained in Y

 ```i1 : R = makeProductRing({2,2,2}) o1 = R o1 : PolynomialRing``` ```i2 : x=(gens R)_{0..2} o2 = {a, b, c} o2 : List``` ```i3 : y=(gens R)_{3..5} o3 = {d, e, f} o3 : List``` ```i4 : z=(gens R)_{6..8} o4 = {g, h, i} o4 : List``` ```i5 : m1=matrix{{x_0,x_1,5*x_2},y_{0..2},{2*z_0,7*z_1,25*z_2}} o5 = | a b 5c | | d e f | | 2g 7h 25i | 3 3 o5 : Matrix R <--- R``` ```i6 : m2=matrix{{9*z_0,4*z_1,3*z_2},y_{0..2},x_{0..2}} o6 = | 9g 4h 3i | | d e f | | a b c | 3 3 o6 : Matrix R <--- R``` ```i7 : W=minors(3,m1)+minors(3,m2); o7 : Ideal of R``` `i8 : f=random({1,1,1},R);` ```i9 : Y=ideal (z_0*W_0-z_1*W_1)+ideal(f); o9 : Ideal of R``` ```i10 : X=((W)*ideal(y)+ideal(f)); o10 : Ideal of R``` ```i11 : time isComponentContained(X,Y) -- used 2.13869 seconds o11 = true``` ```i12 : print "we could confirm this with the computation:" we could confirm this with the computation:``` ```i13 : B=ideal(x)*ideal(y)*ideal(z) o13 = ideal (a*d*g, a*d*h, a*d*i, a*e*g, a*e*h, a*e*i, a*f*g, a*f*h, a*f*i, ----------------------------------------------------------------------- b*d*g, b*d*h, b*d*i, b*e*g, b*e*h, b*e*i, b*f*g, b*f*h, b*f*i, c*d*g, ----------------------------------------------------------------------- c*d*h, c*d*i, c*e*g, c*e*h, c*e*i, c*f*g, c*f*h, c*f*i) o13 : Ideal of R``` ```i14 : time isSubset(saturate(Y,B),saturate(X,B)) -- used 11.8756 seconds o14 = true```

## Ways to use isComponentContained :

• isComponentContained(Ideal,Ideal)