source: git/Singular/dyn_modules/gfanlib/witness.h @ dffd154

spielwiese
Last change on this file since dffd154 was dffd154, checked in by Yue Ren <ren@…>, 10 years ago
chg: status update 20.09.
  • Property mode set to 100644
File size: 1.7 KB
Line 
1#ifndef WITNESS_H
2#define WITNESS_H
3
4#include <libpolys/polys/monomials/monomials.h>
5#include <libpolys/polys/simpleideals.h>
6
7/**
8 * Computes a division discarding remainder of f with respect to G.
9 * Given f a polynomial and G={g1,...,gk} a set of polynomials in r,
10 * returns a matrix Q=(q1,...,qk) over r such that
11 *   f = q1*g1+...+qk*gk+s
12 * is a determinate division with remainder s.
13 */
14matrix divisionDiscardingRemainder(const poly f, const ideal G, const ring r);
15
16/**
17 * Computes a division discarding remainder of F with respect to G.
18 * Given F={f1,...,fl} and G={g1,...,gk} two sets of polynomials in r,
19 * returns a matrix Q=(qij) i=1,..,k j=1,...,l over r such that
20 *   fj = q1j*g1+...+qkj*gk+sj
21 * is a determinate division with remainder sj for all j=1,...,l.
22 */
23matrix divisionDiscardingRemainder(const ideal F, const ideal G, const ring r);
24
25/**
26 * Let w be the uppermost weight vector in the matrix defining the ordering on r.
27 * Let I be a Groebner basis of an ideal in r, inI its initial form with respect w.
28 * Given an w-homogeneous element m of inI, computes a witness g of m in I,
29 * i.e. g in I such that in_w(g)=m.
30 */
31poly witness(const poly m, const ideal I, const ideal inI, const ring r);
32
33/**
34 * Computes witnesses in J for inI
35 * Given inI={h1,...,hl} and J={g1,...,gk} two sets of polynomials in r,
36 * returns a set I={f1,...,fl} of <g1,...,gk> such that
37 *   in_w(fj)=hj for all j=1,...,l,
38 * where w denotes the uppoermost weight vector in the matrix defining the ordering on r.
39 * Assumes that hj is an element of <in_w(g1),...,in_w(gk)>
40 */
41ideal witness(const ideal inI, const ideal J, const ring r);
42
43#ifndef NDEBUG
44#include <Singular/ipid.h>
45BOOLEAN dwrDebug(leftv res, leftv args);
46BOOLEAN witnessDebug(leftv res, leftv args);
47#endif
48
49#endif
Note: See TracBrowser for help on using the repository browser.