/**************************************** * Computer Algebra System SINGULAR * ****************************************/ /* $Id: f5gb.h,v 1.14 2008-12-27 13:50:05 ederc Exp $ */ /* * ABSTRACT: f5gb interface */ #ifndef F5_HEADER #define F5_HEADER #ifdef HAVE_F5 #include "lpolynomial.h" #include "lists.h" /* ================================================ computation of ONE polynomial as global variable ================================================ */ poly one_poly(); /* ====================================================== sort polynomials in ideal i by decreasing total degree ====================================================== */ void qsort_degree(poly* left, poly* right); /* ============================================== generating the list lp of ideal generators and test if 1 is in lp(return 1) or not(return 0) ============================================== */ void generate_input_list(LPoly* lp, ideal id, poly one); /* ================================================== computes incrementally gbs of subsets of the input gb{f_m} -> gb{f_m,f_(m-1)} -> gb{f_m,...,f_1} ================================================== */ LList* F5inc(const long i, LList* g_prev); /* ====================================== main function of our f5 implementation ====================================== */ ideal F5main(ideal i, ring r); #endif #endif