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 idrec * | idhdl
typedef kBucket * | kBucket_pt
typedef sBucket * | sBucket_pt
typedef poly | TCacheKey
typedef poly | TCacheValue
typedef std::map< TCacheKey, TCacheValue, CCacheCompare > | TP2PCache
typedef std::map< int, TP2PCache > | TCache

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

typedef std::map<TCacheKey, TCacheValue, CCacheCompare> TP2PCache

Definition at line 314 of file syzextra.h.

## Function Documentation

## Compute2LeadingSyzygyTerms()

ideal Compute2LeadingSyzygyTerms | ( | const ideal & | L,
|  | const SchreyerSyzygyComputationFlags | A )

inline static

Definition at line 497 of file syzextra.h.

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

## ComputeLeadingSyzygyTerms()

ideal ComputeLeadingSyzygyTerms | ( | const ideal & | L,
|  | const SchreyerSyzygyComputationFlags | A )

inline static

Definition at line 488 of file syzextra.h.

{
SchreyerSyzygyComputation syz(L, NULL, A);
syz.ComputeLeadingSyzygyTerms(false);
ideal LL, TT;
syz.ReadOffResult(LL, TT);
return LL; // assume TT is NULL!
}

## ComputeSyzygy()

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

inline static

Definition at line 481 of file syzextra.h.

{
SchreyerSyzygyComputation syz(L, T, A);
syz.ComputeSyzygy();
syz.ReadOffResult(LL, TT);
}
T
STATIC_VAR jList * T
Definition janet.cc:30

## FindReducer()

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

inline static

Definition at line 506 of file syzextra.h.

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

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

inline static

Definition at line 520 of file syzextra.h.

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

## SchreyerSyzygyNF()

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

inline static

Definition at line 528 of file syzextra.h.

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

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

inline static

Definition at line 513 of file syzextra.h.

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