My Project
Loading...
Searching...
No Matches
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)
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()

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()

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()

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()

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()

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()

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()

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}