Singular Manual: Di Biase and Urbanke

| #### C.6.2.4 The algorithm of Di Biase and Urbanke Like the algorithm of Hosten and Sturmfels, the algorithm of Di Biase and Urbanke (see [DBUr95]) performs up to Groebner basis computations. It needs no auxiliary variables, but a supplementary precondition; namely, the existence of a vector without zero components in the kernel of . The main idea comes from the following observation: Let be an integer matrix, a lattice basis of the integer kernel of . Assume that all components of are positive. Then i.e., the ideal on the right is already saturated w.r.t. all variables. The algorithm starts by finding a lattice basis of the kernel of such that has no zero component. Let be the set of indices with . Multiplying the components of and the columns of by yields a matrix and a lattice basis of the kernel of that fulfill the assumption of the observation above. It is then possible to compute a generating set of by applying the following ``variable flip'' successively to : Let be an elimination ordering for . Let be the matrix obtained by multiplying the -th column of by . Let be a Groebner basis of w.r.t. (where is neither involved in nor in ). Then is a generating set for .

User manual for Singular version 4.3.2p10, 2023, generated by texi2html.