# Singular

#### D.2.4.9 extend

Procedure from library `grobcov.lib` (see grobcov_lib).

Return:
When calling extend(grobcov(S,"rep",2)) the result is of the form ( (lpp_1,basis_1,segment_1,lpph_1), ... (lpp_s,basis_s,segment_s,lpph_s) ) where each function of the basis can be given by an ideal of representants.

Note:
The basering R, must be of the form Q[a][x], (a=parameters, x=variables), and should be defined previously. The ideal must be defined on R.

parametric ideal, full representation.

Example:
 ```LIB "grobcov.lib"; ring R=(0,a0,b0,c0,a1,b1,c1),(x), dp; short=0; ideal S=a0*x^2+b0*x+c0, a1*x^2+b1*x+c1; def GCS=grobcov(S,"rep",2); GCS; ==> [1]: ==> [1]: ==> _[1]=1 ==> [2]: ==> _[1]=1 ==> [3]: ==> [1]: ==> [1]: ==> _[1]=0 ==> [2]: ==> [1]: ==> _[1]=(a0^2*c1^2-a0*b0*b1*c1-2*a0*c0*a1*c1+a0*c0*b1^2+b0^2*\ a1*c1-b0*c0*a1*b1+c0^2*a1^2) ==> [4]: ==> [1]: ==> _[1]=0 ==> [2]: ==> _[1]=(a0^2*c1^2-a0*b0*b1*c1-2*a0*c0*a1*c1+a0*c0*b1^2+b0^2*a1*c1-\ b0*c0*a1*b1+c0^2*a1^2) ==> [5]: ==> 1 ==> [2]: ==> [1]: ==> _[1]=x ==> [2]: ==> _[1]=(b0*a1*c1-c0*a1*b1)*x+(-a0*c1^2+b0*b1*c1+c0*a1*c1-c0*b1^2) ==> [3]: ==> [1]: ==> [1]: ==> _[1]=(a0^2*c1^2-a0*b0*b1*c1-2*a0*c0*a1*c1+a0*c0*b1^2+b0^2*a1*\ c1-b0*c0*a1*b1+c0^2*a1^2) ==> [2]: ==> [1]: ==> _[1]=(b0*c1-c0*b1) ==> _[2]=(a0*c1-c0*a1) ==> _[3]=(a0*b1-b0*a1) ==> [2]: ==> _[1]=(a1) ==> _[2]=(a0) ==> [4]: ==> [1]: ==> _[1]=(a0^2*c1^2-a0*b0*b1*c1-2*a0*c0*a1*c1+a0*c0*b1^2+b0^2*a1*c1-\ b0*c0*a1*b1+c0^2*a1^2) ==> [2]: ==> _[1]=(-a0*c1+c0*a1) ==> _[2]=(-a0*b1+b0*a1) ==> _[3]=(-a0*b0*c1+a0*c0*b1) ==> [5]: ==> x ==> [3]: ==> [1]: ==> _[1]=x ==> [2]: ==> _[1]=(b1)*x+(c1) ==> [3]: ==> [1]: ==> [1]: ==> _[1]=(a1) ==> _[2]=(b0*c1-c0*b1) ==> _[3]=(a0) ==> [2]: ==> [1]: ==> _[1]=(b1) ==> _[2]=(a1) ==> _[3]=(b0) ==> _[4]=(a0) ==> [4]: ==> [1]: ==> _[1]=(a1) ==> _[2]=(a0) ==> _[3]=(-b0*c1+c0*b1) ==> [2]: ==> _[1]=(b1) ==> _[2]=(a1) ==> _[3]=(b0) ==> _[4]=(a0) ==> [5]: ==> x*@t ==> [4]: ==> [1]: ==> _[1]=1 ==> [2]: ==> _[1]=1 ==> [3]: ==> [1]: ==> [1]: ==> _[1]=(b1) ==> _[2]=(a1) ==> _[3]=(b0) ==> _[4]=(a0) ==> [2]: ==> [1]: ==> _[1]=(c1) ==> _[2]=(b1) ==> _[3]=(a1) ==> _[4]=(c0) ==> _[5]=(b0) ==> _[6]=(a0) ==> [4]: ==> [1]: ==> _[1]=(b1) ==> _[2]=(a1) ==> _[3]=(b0) ==> _[4]=(a0) ==> [2]: ==> _[1]=(c1) ==> _[2]=(b1) ==> _[3]=(a1) ==> _[4]=(c0) ==> _[5]=(b0) ==> _[6]=(a0) ==> [5]: ==> @t^2 ==> [5]: ==> [1]: ==> _[1]=0 ==> [2]: ==> _[1]=0 ==> [3]: ==> [1]: ==> [1]: ==> _[1]=(c1) ==> _[2]=(b1) ==> _[3]=(a1) ==> _[4]=(c0) ==> _[5]=(b0) ==> _[6]=(a0) ==> [2]: ==> [1]: ==> _[1]=1 ==> [4]: ==> [1]: ==> _[1]=(c1) ==> _[2]=(b1) ==> _[3]=(a1) ==> _[4]=(c0) ==> _[5]=(b0) ==> _[6]=(a0) ==> [2]: ==> _[1]=1 ==> [5]: ==> 0 ==> [6]: ==> [1]: ==> _[1]=x^2 ==> [2]: ==> _[1]=(a1)*x^2+(b1)*x+(c1) ==> [3]: ==> [1]: ==> [1]: ==> _[1]=(b0*c1-c0*b1) ==> _[2]=(a0*c1-c0*a1) ==> _[3]=(a0*b1-b0*a1) ==> [2]: ==> [1]: ==> _[1]=(a1) ==> _[2]=(b0*c1-c0*b1) ==> _[3]=(a0) ==> [4]: ==> [1]: ==> _[1]=(-b0*c1+c0*b1) ==> _[2]=(-a0*c1+c0*a1) ==> _[3]=(-a0*b1+b0*a1) ==> [2]: ==> _[1]=(a1) ==> _[2]=(a0) ==> _[3]=(-b0*c1+c0*b1) ==> [5]: ==> x^2 ==> [7]: ==> [1]: ==> _[1]=1 ==> [2]: ==> _[1]=1 ==> [3]: ==> [1]: ==> [1]: ==> _[1]=(a1) ==> _[2]=(a0) ==> [2]: ==> [1]: ==> _[1]=(a1) ==> _[2]=(b0*c1-c0*b1) ==> _[3]=(a0) ==> [4]: ==> [1]: ==> _[1]=(a1) ==> _[2]=(a0) ==> [2]: ==> _[1]=(a1) ==> _[2]=(a0) ==> _[3]=(-b0*c1+c0*b1) ==> [5]: ==> @t def FGC=extend(GCS,"rep",0); // Full representation= FGC; ==> [1]: ==> [1]: ==> _[1]=1 ==> [2]: ==> _[1]=1 ==> [3]: ==> [1]: ==> [1]: ==> _[1]=0 ==> [2]: ==> [1]: ==> _[1]=(a0^2*c1^2-a0*b0*b1*c1-2*a0*c0*a1*c1+a0*c0*b1^2+b0^2*\ a1*c1-b0*c0*a1*b1+c0^2*a1^2) ==> [4]: ==> 1 ==> [2]: ==> [1]: ==> _[1]=x ==> [2]: ==> _[1]=(a0*b1-b0*a1)*x+(a0*c1-c0*a1) ==> [3]: ==> [1]: ==> [1]: ==> _[1]=(a0^2*c1^2-a0*b0*b1*c1-2*a0*c0*a1*c1+a0*c0*b1^2+b0^2*a1*\ c1-b0*c0*a1*b1+c0^2*a1^2) ==> [2]: ==> [1]: ==> _[1]=(b0*c1-c0*b1) ==> _[2]=(a0*c1-c0*a1) ==> _[3]=(a0*b1-b0*a1) ==> [2]: ==> _[1]=(a1) ==> _[2]=(a0) ==> [4]: ==> x ==> [3]: ==> [1]: ==> _[1]=x ==> [2]: ==> [1]: ==> _[1]=(b1)*x+(c1) ==> _[2]=(b0)*x+(c0) ==> [3]: ==> [1]: ==> [1]: ==> _[1]=(a1) ==> _[2]=(b0*c1-c0*b1) ==> _[3]=(a0) ==> [2]: ==> [1]: ==> _[1]=(b1) ==> _[2]=(a1) ==> _[3]=(b0) ==> _[4]=(a0) ==> [4]: ==> x*@t ==> [4]: ==> [1]: ==> _[1]=1 ==> [2]: ==> _[1]=1 ==> [3]: ==> [1]: ==> [1]: ==> _[1]=(b1) ==> _[2]=(a1) ==> _[3]=(b0) ==> _[4]=(a0) ==> [2]: ==> [1]: ==> _[1]=(c1) ==> _[2]=(b1) ==> _[3]=(a1) ==> _[4]=(c0) ==> _[5]=(b0) ==> _[6]=(a0) ==> [4]: ==> @t^2 ==> [5]: ==> [1]: ==> _[1]=0 ==> [2]: ==> _[1]=0 ==> [3]: ==> [1]: ==> [1]: ==> _[1]=(c1) ==> _[2]=(b1) ==> _[3]=(a1) ==> _[4]=(c0) ==> _[5]=(b0) ==> _[6]=(a0) ==> [2]: ==> [1]: ==> _[1]=1 ==> [4]: ==> 0 ==> [6]: ==> [1]: ==> _[1]=x^2 ==> [2]: ==> [1]: ==> _[1]=(a1)*x^2+(b1)*x+(c1) ==> _[2]=(a0)*x^2+(b0)*x+(c0) ==> [3]: ==> [1]: ==> [1]: ==> _[1]=(b0*c1-c0*b1) ==> _[2]=(a0*c1-c0*a1) ==> _[3]=(a0*b1-b0*a1) ==> [2]: ==> [1]: ==> _[1]=(a1) ==> _[2]=(b0*c1-c0*b1) ==> _[3]=(a0) ==> [4]: ==> x^2 ==> [7]: ==> [1]: ==> _[1]=1 ==> [2]: ==> _[1]=1 ==> [3]: ==> [1]: ==> [1]: ==> _[1]=(a1) ==> _[2]=(a0) ==> [2]: ==> [1]: ==> _[1]=(a1) ==> _[2]=(b0*c1-c0*b1) ==> _[3]=(a0) ==> [4]: ==> @t ```