@c ---content LibInfo---
@comment This file was generated by doc2tex.pl from d2t_singular/stratify_lib.doc
@comment DO NOT EDIT DIRECTLY, BUT EDIT d2t_singular/stratify_lib.doc INSTEAD
@c library version: (1.7.2.4,2002/04/11)
@c library file: ../Singular/LIB/stratify.lib
@cindex stratify.lib
@cindex stratify_lib
@table @asis
@item @strong{Library:}
stratify.lib
@item @strong{Purpose:}
   Algorithmic Stratification for Unipotent Group-Actions
@item @strong{Author:}
Anne Fruehbis-Krueger, anne@@mathematik.uni-kl.de

@item @strong{Overview:}
This library provides an implementation of the algorithm
of Greuel and Pfister introduced in the article <Geometric
quotients of unipotent group actions>.

@end table

@strong{Procedures:}
@menu
* prepMat:: list of submatrices corresp. to given filtration
* stratify:: algorithmic stratification (main procedure)
@end menu
@c ---end content LibInfo---

@c ------------------- prepMat -------------
@node prepMat, stratify,, stratify_lib
@subsubsection prepMat
@cindex prepMat
@c ---content prepMat---
Procedure from library @code{stratify.lib} (@pxref{stratify_lib}).

@table @asis
@item @strong{Usage:}
prepMat(M,wr,ws,step);
@*where M is a matrix, wr is an intvec of size ncols(M),
ws an intvec of size nrows(M) and step is an integer

@item @strong{Return:}
2 lists of submatrices corresponding to the filtrations
specified by wr and ws
@*the first list corresponds to the list for the filtration
of AdA, i.e. the ranks of these matrices will be the r_i,
the second one to the list for the filtration of L, i.e.
the ranks of these matrices will be the s_i

@item @strong{Note:}
* the entries of the matrix M are M_ij=delta_i(x_j),
@** wr is used to determine what subset of the set of all dx_i is
generating AdF^l(A):
@*if (k-1)*step <= wr[i] < k*step, then dx_i is in the set of
generators of AdF^l(A) for all l>=k and the i-th column
of M appears in each submatrix starting from the k-th
@** ws is used to determine what subset of the set of all delta_i
is generating Z_l(L):
@*if (k-1)*step <= ws[i] < k*step, then delta_i is in the set
of generators of Z_l(A) for l < k and the i-th row of M
appears in each submatrix up to the (k-1)th
@** the entries of wr and ws as well as step should be positive
integers

@end table
@strong{Example:}
@smallexample
@c computed example prepMat d2t_singular/stratify_lib.doc:67 
LIB "stratify.lib";
ring r=0,(t(1..3)),dp;
matrix M[2][3]=0,t(1),3*t(2),0,0,t(1);
print(M);
@expansion{} 0,t(1),3*t(2),
@expansion{} 0,0,   t(1)   
intvec wr=1,3,5;
intvec ws=2,4;
int step=2;
prepMat(M,wr,ws,step);
@expansion{} [1]:
@expansion{}    [1]:
@expansion{}       _[1,1]=0
@expansion{}       _[2,1]=0
@expansion{}    [2]:
@expansion{}       _[1,1]=0
@expansion{}       _[1,2]=t(1)
@expansion{}       _[2,1]=0
@expansion{}       _[2,2]=0
@expansion{}    [3]:
@expansion{}       _[1,1]=0
@expansion{}       _[1,2]=t(1)
@expansion{}       _[1,3]=3*t(2)
@expansion{}       _[2,1]=0
@expansion{}       _[2,2]=0
@expansion{}       _[2,3]=t(1)
@expansion{} [2]:
@expansion{}    [1]:
@expansion{}       _[1,1]=0
@expansion{}       _[1,2]=t(1)
@expansion{}       _[1,3]=3*t(2)
@expansion{}       _[2,1]=0
@expansion{}       _[2,2]=0
@expansion{}       _[2,3]=t(1)
@expansion{}    [2]:
@expansion{}       _[1,1]=0
@expansion{}       _[1,2]=0
@expansion{}       _[1,3]=t(1)
@c end example prepMat d2t_singular/stratify_lib.doc:67
@end smallexample
@c ---end content prepMat---

@c ------------------- stratify -------------
@node stratify,, prepMat, stratify_lib
@subsubsection stratify
@cindex stratify
@c ---content stratify---
Procedure from library @code{stratify.lib} (@pxref{stratify_lib}).

@table @asis
@item @strong{Usage:}
stratify(M,wr,ws,step);
@*where M is a matrix, wr is an intvec of size ncols(M),
ws an intvec of size nrows(M) and step is an integer

@item @strong{Return:}
list of lists, each entry of the big list corresponds to one
locally closed set and has the following entries:
@*1) intvec giving the corresponding rs-vector
@*2) ideal determining the closed set
@*3) list d of polynomials determining the open set D(d[1])
empty list if there is more than one open set
@*4-n) lists of polynomials determining open sets which all lead
to the same rs-vector

@item @strong{Note:}
* ring ordering should be global, i.e. the ring should be a
polynomial ring
@** the entries of the matrix M are M_ij=delta_i(x_j),
@** wr is used to determine what subset of the set of all dx_i is
generating AdF^l(A):
@*if (k-1)*step < wr[i] <= k*step, then dx_i is in the set of
generators of AdF^l(A) for all l>=k
@** ws is used to determine what subset of the set of all delta_i
is generating Z_l(L):
@*if (k-1)*step <= ws[i] < k*step, then delta_i is in the set
of generators of Z_l(A) for l < k
@** the entries of wr and ws as well as step should be positive
integers
@** the filtrations have to be known, no sanity checks concerning
the filtrations are performed !!!

@end table
@strong{Example:}
@smallexample
@c computed example stratify d2t_singular/stratify_lib.doc:123 
LIB "stratify.lib";
ring r=0,(t(1..3)),dp;
matrix M[2][3]=0,t(1),3*t(2),0,0,t(1);
intvec wr=1,3,5;
intvec ws=2,4;
int step=2;
stratify(M,wr,ws,step);
@expansion{} [1]:
@expansion{}    [1]:
@expansion{}       0,0,0,0
@expansion{}    [2]:
@expansion{}       _[1]=t(2)
@expansion{}       _[2]=t(1)
@expansion{}    [3]:
@expansion{}       [1]:
@expansion{}          1
@expansion{} [2]:
@expansion{}    [1]:
@expansion{}       0,1,0,1
@expansion{}    [2]:
@expansion{}       _[1]=t(1)
@expansion{}    [3]:
@expansion{}       [1]:
@expansion{}          t(2)
@expansion{}       [2]:
@expansion{}          t(2)
@expansion{} [3]:
@expansion{}    [1]:
@expansion{}       1,2,1,2
@expansion{}    [2]:
@expansion{}       _[1]=0
@expansion{}    [3]:
@expansion{}       [1]:
@expansion{}          t(1)
@expansion{}       [2]:
@expansion{}          t(1)
@c end example stratify d2t_singular/stratify_lib.doc:123
@end smallexample
@c ---end content stratify---
