Home Online Manual
Back: module_containment
Forward: algDependent
FastBack: absfact_lib
FastForward: assprimeszerodim_lib
Up: algebra_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.4.2.3 inSubring

Procedure from library algebra.lib (see algebra_lib).

inSubring(p,i); p poly, i ideal

         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.

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

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;
==> [1]:
==>    1
==> [2]:
==>    y(0)-y(1)*y(2)*y(3)-y(2)^2-1