|
D.2.9.10 finalcases
Procedure from library redcgs.lib (see redcgs_lib).
- Usage:
- finalcases(T);
T is the list provided by buildtree
- Return:
- A list with the CGS determined by buildtree.
Each element of the list represents one segment
of the buildtree CGS.
The list elements have the following structure:
[1]: label (an intvec(1,0,..)) that indicates the position
in the buildtree but that is irrelevant for the CGS
[2]: 1 (integer) it is also irrelevant and indicates
that this was a terminal vertex in buildtree.
[3]: the reduced basis of the segment.
[4], [5], [6]: the red-spec of the null and non-null conditions
of the segment.
[4] is the null-conditions radical ideal N,
[5] is the non-null polynomials set (ideal) W,
[6] is the set of prime components (ideals) of N.
[7]: is the set of lpp
[8]: poly 1 (irrelevant) is the condition to branch (but no
more branch is necessary in the discussion, so 1 is the result.
- Note:
- It can be called having as argument the list output by buildtree
Example:
| LIB "redcgs.lib";
ring R=(0,a1,a2,a3,a4),(x1,x2,x3,x4),dp;
ideal F=x4-a4+a2, x1+x2+x3+x4-a1-a3-a4, x1*x3*x4-a1*a3*a4, x1*x3+x1*x4+x2*x3+x3*x4-a1*a4-a1*a3-a3*a4;
def T=buildtree(F);
finalcases(T);
==> [1]:
==> [1]:
==> 0,0
==> [2]:
==> 1
==> [3]:
==> _[1]=x4
==> _[2]=-x1-x2-x3+(a1+a3+a4)
==> _[3]=x3^2+(-a1-a3-a4)*x3+(a1*a3+a1*a4+a3*a4)
==> [4]:
==> _[1]=(a2-a4)
==> _[2]=(a1*a3*a4)
==> [5]:
==> _[1]=0
==> [6]:
==> [1]:
==> _[1]=(a4)
==> _[2]=(a2)
==> [2]:
==> _[1]=(a3)
==> _[2]=(a2-a4)
==> [3]:
==> _[1]=(a2-a4)
==> _[2]=(a1)
==> [7]:
==> _[1]=x4
==> _[2]=x1
==> _[3]=x3^2
==> [8]:
==> 1
==> [2]:
==> [1]:
==> 0,1
==> [2]:
==> 1
==> [3]:
==> _[1]=1
==> [4]:
==> _[1]=(a2-a4)
==> [5]:
==> _[1]=(a1)
==> _[2]=(a3)
==> _[3]=(a4)
==> [6]:
==> [1]:
==> _[1]=(a2-a4)
==> [7]:
==> _[1]=1
==> [8]:
==> 1
==> [3]:
==> [1]:
==> 1
==> [2]:
==> 1
==> [3]:
==> _[1]=x4+(a2-a4)
==> _[2]=-x1-x2-x3+(a1+a2+a3)
==> _[3]=x3^2+(-a2+a4)*x2+(-a1-a2-a3)*x3+(a1*a2+a1*a3+a2^2+a2*a3-a2*a4)
==> _[4]=(a2-a4)*x2*x3+(a2^2-2*a2*a4+a4^2)*x2+(-a1*a2^2-a1*a2*a3+a1*a2*\
a4-a2^3-a2^2*a3+2*a2^2*a4+a2*a3*a4-a2*a4^2)
==> _[5]=(a2^2-2*a2*a4+a4^2)*x2^2+(-2*a1*a2^2-a1*a2*a3+3*a1*a2*a4+a1*a3\
*a4-a1*a4^2-3*a2^3-2*a2^2*a3+7*a2^2*a4+3*a2*a3*a4-5*a2*a4^2-a3*a4^2+a4^3)\
*x2+(-a1*a2^2-a1*a2*a3+a1*a2*a4-a2^3-a2^2*a3+2*a2^2*a4+a2*a3*a4-a2*a4^2)*\
x3+(a1^2*a2^2+a1^2*a2*a3-a1^2*a2*a4+3*a1*a2^3+4*a1*a2^2*a3-5*a1*a2^2*a4+a\
1*a2*a3^2-3*a1*a2*a3*a4+2*a1*a2*a4^2+2*a2^4+3*a2^3*a3-5*a2^3*a4+a2^2*a3^2\
-5*a2^2*a3*a4+4*a2^2*a4^2-a2*a3^2*a4+2*a2*a3*a4^2-a2*a4^3)
==> [4]:
==> _[1]=0
==> [5]:
==> _[1]=(a2-a4)
==> [6]:
==> [1]:
==> _[1]=0
==> [7]:
==> _[1]=x4
==> _[2]=x1
==> _[3]=x3^2
==> _[4]=x2*x3
==> _[5]=x2^2
==> [8]:
==> 1
|
|