|
D.4.2.3 inSubring
Procedure from library algebra.lib (see algebra_lib).
- Usage:
- inSubring(p,i); p poly, i ideal
- Return:
| a list l of size 2, l[1] integer, l[2] string
l[1]=1 if and only if p is in the subring generated by i=i[1],...,i[k],
and then l[2] = y(0)-h(y(1),...,y(k)) if p = h(i[1],...,i[k])
l[1]=0 if and only if p is in not the subring generated by i,
and then l[2] = h(y(0),y(1),...,y(k)) where p satisfies the
nonlinear relation h(p,i[1],...,i[k])=0.
|
- Note:
- the proc algebra_containment tests the same using a different
algorithm, which is often faster
if l[1] == 0 then l[2] may contain more than one relation h(y(0),y(1),...,y(k)),
separated by comma
Example:
| LIB "algebra.lib";
ring q=0,(x,y,z,u,v,w),dp;
poly p=xyzu2w-1yzu2w2+u4w2-1xu2vw+u2vw2+xyz-1yzw+2u2w-1xv+vw+2;
ideal I =x-w,u2w+1,yz-v;
inSubring(p,I);
==> [1]:
==> 1
==> [2]:
==> y(0)-y(1)*y(2)*y(3)-y(2)^2-1
|
|