D.4.3.11 isFlat
...............
Procedure from library homolog.lib (see homolog_lib).

Usage:
isFlat(M); M module

Return:
1 if M'=coker(M) is flat;

0 if this is not the case.

Example:
LIB "homolog.lib";
ring A = 0,(x,y),dp;
matrix M[3][3] = x-1,y,x,x,x+1,y,x2,xy+x+1,x2+y;
print(M);
==> x-1,y,     x,  
==> x,  x+1,   y,  
==> x2, xy+x+1,x2+y
isFlat(M);             // coker(M) is not flat over A=Q[x,y]
==> 0
qring B = std(x2+x-y);   // the ring B=Q[x,y]/<x2+x-y>
matrix M = fetch(A,M);
isFlat(M);             // coker(M) is flat over B
==> 1
setring A;
qring C = std(x2+x+y);   // the ring C=Q[x,y]/<x2+x+y>
matrix M = fetch(A,M);
isFlat(M);             // coker(M) is not flat over C
==> 0

<font size="-1">
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; User manual for <a href="http://www.singular.uni-kl.de/"><i>Singular</i></a> version 2-0-4, October 2002,
generated by <a href="http://www.gnu.org/software/texinfo/"><i>texi2html</i></a>.
</font>

</body>
</html>
