source: git/kernel/f5gb.h @ a41f3aa

spielwiese
Last change on this file since a41f3aa was a41f3aa, checked in by Christian Eder, 15 years ago
criterion1() and criterion2() done, changed rules(added pointer on LPoly generating this rule) git-svn-id: file:///usr/local/Singular/svn/trunk@11348 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 1.9 KB
Line 
1/****************************************
2*  Computer Algebra System SINGULAR     *
3****************************************/
4/* $Id: f5gb.h,v 1.20 2009-02-03 20:55:43 ederc Exp $ */
5/*
6* ABSTRACT: f5gb interface
7*/
8#ifndef F5_HEADER
9#define F5_HEADER
10
11#ifdef HAVE_F5
12#include "f5data.h"
13#include "f5lists.h"
14
15
16/*
17======================================================
18sort polynomials in ideal i by decreasing total degree
19======================================================
20*/
21void qsort_degree(poly* left, poly* right);
22
23/*
24==============================================
25generating the list lp of ideal generators and
26test if 1 is in lp(return 1) or not(return 0)
27==============================================
28*/
29void generate_input_list(LPoly* lp, ideal id, poly one);
30
31/*
32==================================================
33computes incrementally gbs of subsets of the input
34gb{f_m} -> gb{f_m,f_(m-1)} -> gb{f_m,...,f_1} 
35==================================================
36*/
37LList* F5inc(int* i, poly* f_i, LList* gPrev, poly* ONE);
38
39/*
40================================================================
41computes a list of critical pairs for the next reduction process
42first element in gPrev is always the newest element which must
43build critical pairs with all other elements in gPrev
44================================================================
45*/
46CList* criticalPair(LList* gPrev, CList* critPairs, LTagList* lTag, RTagList* rTag);
47
48/*
49========================================
50Criterion 1, i.e. Faugere's F5 Criterion
51========================================
52*/
53bool criterion1(poly* t, LNode* l, LTagList* lTag);
54
55/*
56=====================================
57Criterion 2, i.e. Rewritten Criterion
58=====================================
59*/
60bool criterion2(poly* t, LNode* l, RTagList* rTag);
61
62/*
63======================================
64main function of our f5 implementation
65======================================
66*/
67ideal F5main(ideal i, ring r);
68
69#endif
70#endif
Note: See TracBrowser for help on using the repository browser.