source: git/kernel/f5gb.h @ e8272f

spielwiese
Last change on this file since e8272f was 8627ad, checked in by Christian Eder, 16 years ago
*** empty log message *** git-svn-id: file:///usr/local/Singular/svn/trunk@10806 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 1.1 KB
Line 
1/****************************************
2*  Computer Algebra System SINGULAR     *
3****************************************/
4/* $Id: f5gb.h,v 1.6 2008-06-26 16:05:21 ederc Exp $ */
5/*
6* ABSTRACT: f5gb interface
7*/
8#ifndef F5_HEADER
9#define F5_HEADER
10#include "mod2.h"
11
12#ifdef HAVE_F5
13
14
15// structure of the rules, i.e. index and term
16struct rule{
17        long index;
18        poly term;
19};
20
21
22// class of a labeled polynomial
23class lpoly {
24        private:
25                poly term;
26                long index;
27                poly polynomial;
28
29        public:
30                void setPoly(poly p);
31                poly getPoly();
32                void setTerm(poly t);
33                poly getTerm();
34                void setIndex(long i);
35                long getIndex();
36};
37
38
39
40
41// sort polynomials in ideal i by decreasing total degree
42void qsort_degree(poly* left, poly* right);
43
44
45// computes incrementally gbs of subsets of the input
46// gb{f_m} -> gb{f_m,f_(m-1)} -> gb{f_m,...,f_1} 
47lpoly* f5_inc(lpoly* lp, lpoly* g_prev);
48
49
50// main function of our f5 implementation
51ideal F5main(ideal i, ring r);
52#endif
53#endif
54
Note: See TracBrowser for help on using the repository browser.