|
D.7.5.7 ZeroSet
Procedure from library zeroset.lib (see zeroset_lib).
- Usage:
ZeroSet(I [,opt] ); I=ideal, opt=integer
- Purpose:
compute the zero-set of the zero-dim. ideal I, in a finite extension
of the ground field.
- Return:
ring, a polynomial ring over an extension field of the ground field,
containing a list ’zeroset’, a polynomial ’newA’, and an
ideal ’id’:
| - ’zeroset’ is the list of the zeros of the ideal I, each zero is an ideal.
- if the ground field is Q(a’) and the extension field is Q(a), then
’newA’ is the representation of a’ in Q(a).
If the basering contains a parameter ’a’ and the minpoly remains unchanged
then ’newA’ = ’a’.
If the basering does not contain a parameter then ’newA’ = ’a’ (default).
- ’id’ is the ideal I in Q(a)[x_1,...] (a’ substituted by ’newA’)
|
- Assume:
dim(I) = 0, and ground field to be Q or a simple extension of Q given
by a minpoly.
- Options:
opt = 0 no primary decomposition (default)
opt > 0 primary decomposition
- Note:
If I contains an algebraic number (parameter) then ’I’ must be
transformed w.r.t. ’newA’ in the new ring.
Example:
| LIB "zeroset.lib";
ring R = (0,a), (x,y,z), lp;
minpoly = a2 + 1;
ideal I = x2 - 1/2, a*z - 1, y - 2;
def T = ZeroSet(I);
→ 1
setring T;
minpoly;
→ (4a4+4a2+9)
newA;
→ (1/3a3+5/6a)
id;
→ id[1]=(1/3a3+5/6a)*z-1
→ id[2]=y-2
→ id[3]=2*x2-1
zeroset;
→ [1]:
→ _[1]=(1/3a3-1/6a)
→ _[2]=2
→ _[3]=(-1/3a3-5/6a)
→ [2]:
→ _[1]=(-1/3a3+1/6a)
→ _[2]=2
→ _[3]=(-1/3a3-5/6a)
map F1 = basering, zeroset[1];
map F2 = basering, zeroset[2];
F1(id);
→ _[1]=0
→ _[2]=0
→ _[3]=0
F2(id);
→ _[1]=0
→ _[2]=0
→ _[3]=0
|
|