![]() |
New implementations for the computation of syzygies and resolutions. More...
#include <kernel/mod2.h>#include <string.h>#include "syzextra.h"#include "DebugPrint.h"#include <omalloc/omalloc.h>#include <misc/intvec.h>#include <misc/options.h>#include <coeffs/coeffs.h>#include <polys/monomials/p_polys.h>#include <polys/monomials/ring.h>#include <polys/simpleideals.h>#include <polys/kbuckets.h>#include <polys/sbuckets.h>#include <polys/operations/p_Mult_q.h>#include <kernel/GBEngine/kstd1.h>#include <kernel/polys.h>#include <kernel/GBEngine/syz.h>#include <kernel/ideals.h>#include <kernel/oswrapper/timer.h>#include <Singular/tok.h>#include <Singular/ipid.h>#include <Singular/lists.h>#include <Singular/attrib.h>#include <Singular/ipshell.h>#include <stdio.h>#include <stdlib.h>Go to the source code of this file.
Data Structures | |
| class | SBucketWrapper |
| class | CDivisorEnumerator |
| TODO: More... | |
| class | CDivisorEnumerator2 |
| TODO: More... | |
Macros | |
| #define | _GNU_SOURCE /*for qsort_r on cygwin, must be before system includes*/ |
| #define | RTIMER_BENCHMARKING 0 |
| #define | qsort_my(m, s, ss, r, cmp) qsort(m, s, ss, cmp) |
Functions | |
| USING_NAMESPACE (SINGULARXXNAME ::DEBUG) BEGIN_NAMESPACE_SINGULARXX BEGIN_NAMESPACE(SYZEXTRA) BEGIN_NAMESPACE_NONAME SBucketFactory | |
| static FORCE_INLINE poly | pp_Add_qq (const poly a, const poly b, const ring R) |
| static FORCE_INLINE poly | p_VectorProductLT (poly s, const ideal &L, const ideal &T, const ring &R) |
| static FORCE_INLINE int | atGetInt (idhdl rootRingHdl, const char *attribute, long def) |
| END_NAMESPACE | BEGIN_NAMESPACE (SORT_c_ds) static int cmp_c_ds(const void *p1 |
| assume (R !=NULL) | |
| assume (r==currRing) | |
| assume (a !=NULL) | |
| assume (b !=NULL) | |
| p_LmTest (a, r) | |
| p_LmTest (b, r) | |
| if (iCompDiff > 0) return YES | |
| if (iCompDiff< 0) return NO | |
| assume (iCompDiff==0) | |
| if (iDegDiff > 0) return YES | |
| assume (iDegDiff==0) | |
| for (int v=rVar(r);v > 0;v--) | |
| static END_NAMESPACE void | writeLatexTerm (const poly t, const ring r, const bool bCurrSyz=true, const bool bLTonly=true) |
| writes a monomial (p), uses form x*gen(.) if ko != coloumn number of p More... | |
| static FORCE_INLINE poly | myp_Head (const poly p, const bool bIgnoreCoeff, const ring r) |
| poly | leadmonom (const poly p, const ring r, const bool bSetZeroComp) |
| return a new term: leading coeff * leading monomial of p with 0 leading component! More... | |
| poly | p_Tail (const poly p, const ring r) |
| return the tail of a given polynomial or vector returns NULL if input is NULL, otherwise the result is a new polynomial/vector in the ring r More... | |
| ideal | id_Tail (const ideal id, const ring r) |
| return the tail of a given ideal or module returns NULL if input is NULL, otherwise the result is a new ideal/module in the ring r NOTE: the resulting rank is autocorrected More... | |
| void | Sort_c_ds (const ideal id, const ring r) |
| inplace sorting of the module (ideal) id wrt <_(c,ds) More... | |
| bool | my_p_LmCmp (poly a, poly b, const ring r) |
| static BOOLEAN | _p_LmDivisibleByNoComp (const poly a, const poly b, const poly c, const ring r) |
| _p_LmDivisibleByNoComp for a | b*c More... | |
Variables | |
| END_NAMESPACE const void * | p2 { void *R = currRing |
| const int | YES = 1 |
| const int | NO = -1 |
| const ring | r = (const ring) R |
| const poly | a = *(const poly*)p1 |
| const poly | b = *(const poly*)p2 |
| const signed long | iCompDiff = p_GetComp(a, r) - p_GetComp(b, r) |
| const signed long | iDegDiff = p_Totaldegree(a, r) - p_Totaldegree(b, r) |
| return | |
New implementations for the computation of syzygies and resolutions.
ABSTRACT: Computation of Syzygies due to Schreyer
Definition in file syzextra.cc.
Definition at line 18 of file syzextra.cc.
| #define RTIMER_BENCHMARKING 0 |
Definition at line 64 of file syzextra.cc.
|
inlinestatic |
_p_LmDivisibleByNoComp for a | b*c
Definition at line 2159 of file syzextra.cc.
| assume | ( | iCompDiff | = =0 | ) |
| assume | ( | iDegDiff | = =0 | ) |
|
static |
Definition at line 188 of file syzextra.cc.
| END_NAMESPACE BEGIN_NAMESPACE | ( | SORT_c_ds | ) | const |
Definition at line 264 of file syzextra.cc.
return the tail of a given ideal or module returns NULL if input is NULL, otherwise the result is a new ideal/module in the ring r NOTE: the resulting rank is autocorrected
Definition at line 510 of file syzextra.cc.
| if | ( | iCompDiff | , |
| 0 | |||
| ) |
| if | ( | ) |
| if | ( | iDegDiff | , |
| 0 | |||
| ) |
return a new term: leading coeff * leading monomial of p with 0 leading component!
Definition at line 473 of file syzextra.cc.
Definition at line 1588 of file syzextra.cc.
Definition at line 456 of file syzextra.cc.
return the tail of a given polynomial or vector returns NULL if input is NULL, otherwise the result is a new polynomial/vector in the ring r
Definition at line 501 of file syzextra.cc.
|
static |
Definition at line 158 of file syzextra.cc.
Definition at line 153 of file syzextra.cc.
inplace sorting of the module (ideal) id wrt <_(c,ds)
Definition at line 527 of file syzextra.cc.
| USING_NAMESPACE | ( | SINGULARXXNAME ::DEBUG | ) |
Definition at line 68 of file syzextra.cc.
|
static |
writes a monomial (p), uses form x*gen(.) if ko != coloumn number of p
< needs * before pp or module generator
< need to write something after '-'!
< needs * before module generator?
Definition at line 336 of file syzextra.cc.
Definition at line 222 of file syzextra.cc.
| const signed long iDegDiff = p_Totaldegree(a, r) - p_Totaldegree(b, r) |
Definition at line 247 of file syzextra.cc.
| const int NO = -1 |
Definition at line 206 of file syzextra.cc.
| END_NAMESPACE const void* p2 { void *R = currRing |
Definition at line 202 of file syzextra.cc.
Definition at line 208 of file syzextra.cc.
| return |
Definition at line 280 of file syzextra.cc.
| const int YES = 1 |
Definition at line 205 of file syzextra.cc.