My Project
Macros | Functions
syzextra.cc File Reference

New implementations for the computation of syzygies and resolutions. More...

#include "kernel/mod2.h"
#include <string.h>
#include "syzextra.h"
#include "misc/intvec.h"
#include "coeffs/coeffs.h"
#include "polys/monomials/p_polys.h"
#include "polys/monomials/ring.h"
#include "polys/simpleideals.h"
#include "kernel/polys.h"
#include "kernel/ideals.h"
#include <stdio.h>
#include <stdlib.h>

Go to the source code of this file.

Macros

#define _GNU_SOURCE   /*for qsort_r on cygwin, must be before system includes*/
 

Functions

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...
 

Detailed Description

New implementations for the computation of syzygies and resolutions.

ABSTRACT: Computation of Syzygies due to Schreyer

Author
Oleksandr Motsak

Definition in file syzextra.cc.

Macro Definition Documentation

◆ _GNU_SOURCE

#define _GNU_SOURCE   /*for qsort_r on cygwin, must be before system includes*/

Definition at line 18 of file syzextra.cc.

Function Documentation

◆ id_Tail()

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

Definition at line 48 of file syzextra.cc.

49{
50 if( UNLIKELY(id == NULL) )
51 return NULL;
52
53 const ideal newid = idInit(IDELEMS(id),id->rank);
54
55 for (int i=IDELEMS(id) - 1; i >= 0; i--)
56 newid->m[i] = p_Tail( id->m[i], r );
57
58 newid->rank = id_RankFreeModule(newid, currRing);
59
60 return newid;
61}
#define UNLIKELY(X)
Definition: auxiliary.h:404
int i
Definition: cfEzgcd.cc:132
#define NULL
Definition: omList.c:12
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:13
ideal idInit(int idsize, int rank)
initialise an ideal / module
Definition: simpleideals.cc:35
long id_RankFreeModule(ideal s, ring lmRing, ring tailRing)
return the maximal component number found in any polynomial in s
#define IDELEMS(i)
Definition: simpleideals.h:23
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 i...
Definition: syzextra.cc:40

◆ p_Tail()

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

Definition at line 40 of file syzextra.cc.

41{
42 if( UNLIKELY(p == NULL) )
43 return NULL;
44 else
45 return p_Copy( pNext(p), r );
46}
int p
Definition: cfModGcd.cc:4078
#define pNext(p)
Definition: monomials.h:36
static poly p_Copy(poly p, const ring r)
returns a copy of p
Definition: p_polys.h:846