Home Online Manual
Top
Back: PtoCrep
Forward: extendGC
FastBack:
FastForward:
Up: grobcov_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.2.4.8 extendpoly

Procedure from library grobcov.lib (see grobcov_lib).

Usage:
extendGC(poly f,ideal p,ideal q);
f is a polynomial in Q[a][x] in generic representation of an I-regular function F defined on the locally
closed segment S=V(p) \ V(q).
p,q are ideals in Q[a], representing the Crep of
segment S.

Return:
the extended representation of F in S.
It can consist of a single polynomial or a set of
polynomials when needed.

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

Example:
 
LIB "grobcov.lib";
// EXAMPLE 1
if(defined(R)){kill R;}
ring R=(0,a1,a2),(x),lp;
short=0;
poly f=(a1^2-4*a1+a2^2-a2)*x+(a1^4-16*a1+a2^3-4*a2);
ideal p=a1*a2;
ideal q=a2^2-a2,a1*a2,a1^2-4*a1;
extendpoly(f,p,q);
==> (a1+4*a2-4)*x+(a1^3+4*a2^2-16)
// EXAMPLE 2
if (defined(R)){kill R;}
ring R=(0,a0,b0,c0,a1,b1,c1,a2,b2,c2),(x), dp;
short=0;
poly f=(b1*a2*c2-c1*a2*b2)*x+(-a1*c2^2+b1*b2*c2+c1*a2*c2-c1*b2^2);
ideal p=
(-a0*b1*c2+a0*c1*b2+b0*a1*c2-b0*c1*a2-c0*a1*b2+c0*b1*a2),
(a1^2*c2^2-a1*b1*b2*c2-2*a1*c1*a2*c2+a1*c1*b2^2+b1^2*a2*c2-b1*c1*a2*b2+c1^2*a2^2),
(a0*a1*c2^2-a0*b1*b2*c2-a0*c1*a2*c2+a0*c1*b2^2+b0*b1*a2*c2-b0*c1*a2*b2
- c0*a1*a2*c2+c0*c1*a2^2),
(a0^2*c2^2-a0*b0*b2*c2-2*a0*c0*a2*c2+a0*c0*b2^2+b0^2*a2*c2-b0*c0*a2*b2+c0^2*a2^2),
(a0*a1*c1*c2-a0*b1^2*c2+a0*b1*c1*b2-a0*c1^2*a2+b0*a1*b1*c2-b0*a1*c1*b2
-c0*a1^2*c2+c0*a1*c1*a2),
(a0^2*c1*c2-a0*b0*b1*c2-a0*c0*a1*c2+a0*c0*b1*b2-a0*c0*c1*a2+b0^2*a1*c2
-b0*c0*a1*b2+c0^2*a1*a2),
(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*a0*a1*b1*c1*c2-a0*a1*c1^2*b2-a0*b1^3*c2+a0*b1^2*c1*b2-a0*b1*c1^2*a2
-b0*a1^2*c1*c2+b0*a1*b1^2*c2-b0*a1*b1*c1*b2+b0*a1*c1^2*a2-c0*a1^2*b1*c2+c0*a1^2*c1*b2);
ideal q=
(-a1*c2+c1*a2),
(-a1*b2+b1*a2),
(-a0*c2+c0*a2),
(-a0*b2+b0*a2),
(-a0*c1+c0*a1),
(-a0*b1+b0*a1),
(-a1*b1*c2+a1*c1*b2),
(-a0*b1*c2+a0*c1*b2),
(-a0*b0*c2+a0*c0*b2),
(-a0*b0*c1+a0*c0*b1);
extendpoly(f,p,q);
==> _[1]=(-a1*b2+b1*a2)*x+(-a1*c2+c1*a2)
==> _[2]=(-a0*b2+b0*a2)*x+(-a0*c2+c0*a2)
==> _[3]=(-a0*b1+b0*a1)*x+(-a0*c1+c0*a1)