My Project
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Functions
syzextra.h File Reference

Computation of Syzygies. More...

#include <vector>
#include <map>
#include <string.h>
#include <stack>
#include "kernel/ideals.h"

Go to the source code of this file.

Data Structures

class  SBucketFactory
 sBucket Factory More...
 
struct  SchreyerSyzygyComputationFlags
 Computation attribute storage. More...
 
class  CLCM
 
class  CLeadingTerm
 
class  CReducerFinder
 
struct  CCacheCompare
 
class  SchreyerSyzygyComputation
 Computing syzygies after Schreyer. More...
 

Macros

#define NOPRODUCT   1
 
#define NODIVISION   1
 

Typedefs

typedef idrecidhdl
 
typedef kBucketkBucket_pt
 
typedef sBucketsBucket_pt
 
typedef poly TCacheKey
 
typedef poly TCacheValue
 
typedef std::map< TCacheKey, TCacheValue, CCacheCompareTP2PCache
 
typedef std::map< int, TP2PCacheTCache
 

Functions

poly leadmonom (const poly p, const ring r, const bool bSetZeroComp=true)
 
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, poly, const ring)
 
static void ComputeSyzygy (const ideal L, const ideal T, ideal &LL, ideal &TT, const SchreyerSyzygyComputationFlags A)
 
static ideal ComputeLeadingSyzygyTerms (const ideal &L, const SchreyerSyzygyComputationFlags A)
 
static ideal Compute2LeadingSyzygyTerms (const ideal &L, const SchreyerSyzygyComputationFlags A)
 
static poly FindReducer (poly product, poly syzterm, ideal L, ideal LS, const SchreyerSyzygyComputationFlags A)
 
static poly TraverseTail (poly multiplier, poly tail, ideal L, ideal T, ideal LS, const SchreyerSyzygyComputationFlags A)
 
static poly ReduceTerm (poly multiplier, poly term4reduction, poly syztermCheck, ideal L, ideal T, ideal LS, const SchreyerSyzygyComputationFlags A)
 
static poly SchreyerSyzygyNF (poly syz_lead, poly syz_2, ideal L, ideal T, ideal LS, const SchreyerSyzygyComputationFlags A)
 

Detailed Description

Computation of Syzygies.

ABSTRACT: Computation of Syzygies due to Schreyer

Author
Oleksandr Motsak

Definition in file syzextra.h.

Macro Definition Documentation

◆ NODIVISION

#define NODIVISION   1

Definition at line 38 of file syzextra.h.

◆ NOPRODUCT

#define NOPRODUCT   1

Definition at line 32 of file syzextra.h.

Typedef Documentation

◆ idhdl

typedef idrec* idhdl

Definition at line 27 of file syzextra.h.

◆ kBucket_pt

typedef kBucket* kBucket_pt

Definition at line 29 of file syzextra.h.

◆ sBucket_pt

typedef sBucket* sBucket_pt

Definition at line 47 of file syzextra.h.

◆ TCache

typedef std::map<int, TP2PCache> TCache

Definition at line 315 of file syzextra.h.

◆ TCacheKey

typedef poly TCacheKey

Definition at line 297 of file syzextra.h.

◆ TCacheValue

typedef poly TCacheValue

Definition at line 298 of file syzextra.h.

◆ TP2PCache

Definition at line 314 of file syzextra.h.

Function Documentation

◆ Compute2LeadingSyzygyTerms()

static ideal Compute2LeadingSyzygyTerms ( const ideal &  L,
const SchreyerSyzygyComputationFlags  A 
)
inlinestatic

Definition at line 497 of file syzextra.h.

498{
500 syz.ComputeLeadingSyzygyTerms(true);
501 ideal LL, TT;
502 syz.ReadOffResult(LL, TT);
503 return LL; // assume TT is NULL!
504}
Computing syzygies after Schreyer.
Definition: syzextra.h:329
#define NULL
Definition: omList.c:12
#define A
Definition: sirandom.c:24

◆ ComputeLeadingSyzygyTerms()

static ideal ComputeLeadingSyzygyTerms ( const ideal &  L,
const SchreyerSyzygyComputationFlags  A 
)
inlinestatic

Definition at line 488 of file syzextra.h.

489{
491 syz.ComputeLeadingSyzygyTerms(false);
492 ideal LL, TT;
493 syz.ReadOffResult(LL, TT);
494 return LL; // assume TT is NULL!
495}

◆ ComputeSyzygy()

static void ComputeSyzygy ( const ideal  L,
const ideal  T,
ideal &  LL,
ideal &  TT,
const SchreyerSyzygyComputationFlags  A 
)
inlinestatic

Definition at line 481 of file syzextra.h.

482{
484 syz.ComputeSyzygy();
485 syz.ReadOffResult(LL, TT);
486}
STATIC_VAR jList * T
Definition: janet.cc:30

◆ FindReducer()

static poly FindReducer ( poly  product,
poly  syzterm,
ideal  L,
ideal  LS,
const SchreyerSyzygyComputationFlags  A 
)
inlinestatic

Definition at line 506 of file syzextra.h.

508{
509 SchreyerSyzygyComputation syz(L, NULL, LS, A);
510 return syz._FindReducer(product, syzterm);
511}

◆ leadmonom()

poly leadmonom ( const poly  p,
const ring  r,
const bool  bSetZeroComp = true 
)

◆ my_p_LmCmp()

bool my_p_LmCmp ( poly  ,
poly  ,
const  ring 
)

◆ ReduceTerm()

static poly ReduceTerm ( poly  multiplier,
poly  term4reduction,
poly  syztermCheck,
ideal  L,
ideal  T,
ideal  LS,
const SchreyerSyzygyComputationFlags  A 
)
inlinestatic

Definition at line 520 of file syzextra.h.

522{
523 SchreyerSyzygyComputation syz(L, T, LS, A);
524 return syz.ReduceTerm(multiplier, term4reduction, syztermCheck);
525}

◆ SchreyerSyzygyNF()

static poly SchreyerSyzygyNF ( poly  syz_lead,
poly  syz_2,
ideal  L,
ideal  T,
ideal  LS,
const SchreyerSyzygyComputationFlags  A 
)
inlinestatic

Definition at line 528 of file syzextra.h.

530{
531 SchreyerSyzygyComputation syz(L, T, LS, A);
532 return syz.SchreyerSyzygyNF(syz_lead, syz_2);
533}

◆ Sort_c_ds()

void Sort_c_ds ( const ideal  id,
const ring  r 
)

inplace sorting of the module (ideal) id wrt <_(c,ds)

◆ TraverseTail()

static poly TraverseTail ( poly  multiplier,
poly  tail,
ideal  L,
ideal  T,
ideal  LS,
const SchreyerSyzygyComputationFlags  A 
)
inlinestatic

Definition at line 513 of file syzextra.h.

515{
516 SchreyerSyzygyComputation syz(L, T, LS, A);
517 return syz.TraverseTail(multiplier, tail);
518}