|
C.6.2.4 The algorithm of Di Biase and UrbankeLike the algorithm of Hosten and Sturmfels, the algorithm of Di Biase and Urbanke (see [DBUr95]) performs up to n∕2 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 A. The main idea comes from the following observation: Let B be an integer matrix, u1,…,ur a lattice basis of the integer kernel of B. Assume that all components of u1 are positive. Then ![]() The algorithm starts by finding a lattice basis v1,…,vr of the kernel of A such that v1 has no zero component. Let {i1,…,il} be the set of indices i with v1,i < 0. Multiplying the components i1,…,il of v1,…,vr and the columns i1,…,il of A by −1 yields a matrix B and a lattice basis u1,…,ur of the kernel of B that fulfill the assumption of the observation above. We are then able to compute a generating set of IA by applying the following “variable flip” successively to i = i1,…,il: Let > be an elimination ordering for xi. Let Ai be the matrix obtained by multiplying the i-th column of A with −1. Let ![]() ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |