Go to the first, previous, next, last section, table of contents.

### `dp_gr_main`, `dp_gr_mod_main`

`dp_gr_main(plist,vlist,homo,modular,order)`
`dp_gr_mod_main(plist,vlist,homo,modular,order)`
  :: Groebner basis computation (built-in functions)

return
  list
plist, vlist
  list
order
  number, list or matrix
homo
  flag
modular
  flag or prime

- These functions are fundamental built-in functions for Groebner basis computation and `gr()`,`hgr()` and `gr_mod()` are all interfaces to these functions.
- If homo is not equal to 0, homogenization is applied before entering Buchberger algorithm
- For `dp_gr_mod_main()`, modular means a computation over GF(modular). For `dp_gr_main()`, modular has the following mean.
  1. If modular is 1 , trace lifting is used. Primes for trace lifting are generated by `lprime()`, starting from `lprime(0)`, until the computation succeeds.
  2. If modular is an integer greater than 1, the integer is regarded as a prime and trace lifting is executed by using the prime. If the computation fails then 0 is returned.
  3. If modular is negative, the above rule is applied for -modular but the Groebner basis check and ideal-membership check are omitted in the last stage of trace lifting.
- `gr(P,V,O)`, `hgr(P,V,O)` and `gr_mod(P,V,O,M)` execute `dp_gr_main(P,V,0,1,O)`, `dp_gr_main(P,V,1,1,O)` and `dp_gr_mod_main(P,V,0,M,O)` respectively.
- Actual computation is controlled by various parameters set by `dp_gr_flags()`, other then by homo and modular.

`References`
  section `dp_ord`, section `dp_gr_flags`, `dp_gr_print`, section `gr`, `hgr`, `gr_mod`, `dgr`, section Controlling Groebner basis computations

Go to the first, previous, next, last section, table of contents.