# Singular          #### D.4.2.4 algDependent

Procedure from library `algebra.lib` (see algebra_lib).

Usage:
algDependent(f[,c]); f ideal (say, f = f1,...,fm), c integer

Return:
 ``` a list l of size 2, l integer, l ring: - l = 1 if f1,...,fm are algebraic dependent, 0 if not - l is a ring with variables x(1),...,x(n),y(1),...,y(m) if the basering has n variables. It contains the ideal 'ker', depending only on the y(i) and generating the algebraic relations between the f[i], i.e. substituting y(i) by fi yields 0. Of course, ker is nothing but the kernel of the ring map K[y(1),...,y(m)] ---> basering, y(i) --> fi. ```

Note:
Three different algorithms are used depending on c = 1,2,3. If c is not given or c=0, a heuristically best method is chosen. The basering may be a quotient ring.
To access to the ring l and see ker you must give the ring a name, e.g. def S=l; setring S; ker;

Display:
The above comment is displayed if printlevel >= 0 (default).

Example:
 ```LIB "algebra.lib"; int p = printlevel; printlevel = 1; ring R = 0,(x,y,z,u,v,w),dp; ideal I = xyzu2w-1yzu2w2+u4w2-1xu2vw+u2vw2+xyz-1yzw+2u2w-1xv+vw+2, x-w, u2w+1, yz-v; list l = algDependent(I); ==> ==> // The 2nd element of the list l is a ring with variables x(1),...,x(n), ==> // and y(1),...,y(m) if the basering has n variables and if the ideal ==> // is f,...,f[m]. The ring contains the ideal ker which depends only ==> // on the y(i) and generates the relations between the f[i]. ==> // I.e. substituting y(i) by f[i] yields 0. ==> // To access to the ring and see ker you must give the ring a name, ==> // e.g.: ==> def S = l; setring S; ker; ==> l; ==> 1 def S = l; setring S; ker; ==> ker=y(2)*y(3)*y(4)+y(3)^2-y(1)+1 printlevel = p; ```

### Misc 