 |
My Project
debian-1:4.1.1-p2+ds-4
|
#include <syzextra.h>
Definition at line 264 of file syzextra.h.
◆ CReducersHash
◆ TComponentKey
◆ TReducers
◆ CReducerFinder() [1/2]
goes over all leading terms
Definition at line 1505 of file syzextra.cc.
1507 m_L(const_cast<ideal>(L)),
◆ ~CReducerFinder()
CReducerFinder::~CReducerFinder |
( |
| ) |
|
Definition at line 1470 of file syzextra.cc.
1472 for( CReducersHash::const_iterator it =
m_hash.begin(); it !=
m_hash.end(); it++ )
1475 for(TReducers::const_iterator vit =
v.begin(); vit !=
v.end(); vit++ )
1476 delete const_cast<CLeadingTerm*>(*vit);
◆ CReducerFinder() [2/2]
◆ FindReducer() [1/2]
Definition at line 1823 of file syzextra.cc.
1844 if (syzterm !=
NULL)
1851 const BOOLEAN to_check = (syz_checker.IsNonempty());
1859 while( itr.MoveNext() )
1861 assume( itr.Current().CheckLT( L ) );
1863 const poly
p = itr.Current().lt();
1864 const int k = itr.Current().label();
1875 if (syzterm !=
NULL && (
k == c))
1878 assume( itr.Current().CheckLT( L ) );
1883 if( to_check && syz_checker.IsDivisible(q) )
1885 assume( itr.Current().CheckLT( L ) );
1905 assume( itr.Current().CheckLT( L ) );
◆ FindReducer() [2/2]
Definition at line 1919 of file syzextra.cc.
1935 if (syzterm !=
NULL)
1940 const BOOLEAN to_check = (syz_checker.IsNonempty());
1944 while( itr.MoveNext() )
1946 assume( itr.Current().CheckLT( L ) );
1948 const poly
p = itr.Current().lt();
1949 const int k = itr.Current().label();
1956 if (syzterm !=
NULL && (
k == c))
1959 assume( itr.Current().CheckLT( L ) );
1964 if( to_check && syz_checker.IsDivisible(q) )
1966 assume( itr.Current().CheckLT( L ) );
1978 assume( itr.Current().CheckLT( L ) );
◆ Initialize()
void CReducerFinder::Initialize |
( |
const ideal |
L | ) |
|
◆ IsDivisible()
bool CReducerFinder::IsDivisible |
( |
const poly |
q | ) |
const |
◆ IsNonempty()
bool CReducerFinder::IsNonempty |
( |
| ) |
const |
|
inline |
◆ operator=()
◆ PreProcessTerm()
is the term to be "preprocessed" as lower order term or lead to only reducible syzygies...
Definition at line 402 of file syzextra.cc.
417 CReducersHash::const_iterator itr =
m_hash.find(
comp);
419 if ( itr ==
m_hash.end() )
424 const bool bIdealCase = (
comp == 0);
425 const bool bSyzCheck = syzChecker.
IsNonempty();
430 const int N =
rVar(r);
433 for(TReducers::const_iterator vit =
v.begin(); (vit !=
v.end()) && coprime; ++vit )
437 const poly
p = (*vit)->lt();
442 for(
int var =
N; var > 0; --var )
449 if( bSyzCheck && coprime )
465 return coprime? 3: 0;
◆ CDivisorEnumerator
◆ CDivisorEnumerator2
◆ m_hash
◆ m_L
ideal CReducerFinder::m_L |
|
private |
The documentation for this class was generated from the following files:
const ring m_rBaseRing
global base ring
static long p_GetExp(const poly p, const unsigned long iBitmask, const int VarOffset)
get a single variable exponent @Note: the integer VarOffset encodes:
#define p_SetCoeff0(p, n, r)
static void p_ExpVectorDiff(poly pr, poly p1, poly p2, const ring r)
SchreyerSyzygyComputationFlags(idhdl rootRingHdl)
static poly p_LmInit(poly p, const ring r)
int status int void size_t count int const void size_t count const char int flags
const CanonicalForm CFMap CFMap & N
static FORCE_INLINE BOOLEAN n_IsOne(number n, const coeffs r)
TRUE iff 'n' represents the one element.
static short rVar(const ring r)
#define rVar(r) (r->N)
const int OPT__TAILREDSYZ
Reduce syzygy tails wrt the leading syzygy terms.
static void p_LmDelete(poly p, const ring r)
static poly p_New(const ring, omBin bin)
bool IsDivisible(const poly q) const
static FORCE_INLINE number n_Mult(number a, number b, const coeffs r)
return the product of 'a' and 'b', i.e., a*b
static FORCE_INLINE number n_Init(long i, const coeffs r)
a number representing i in the given coeff field/ring r
static void p_ExpVectorSum(poly pr, poly p1, poly p2, const ring r)
static FORCE_INLINE number n_InpNeg(number n, const coeffs r)
in-place negation of n MUST BE USED: n = n_InpNeg(n) (no copy is returned)
static void p_LmFree(poly p, ring)
static FORCE_INLINE number n_Copy(number n, const coeffs r)
return a copy of 'n'
static unsigned long p_SetComp(poly p, unsigned long c, ring r)
void Initialize(const ideal L)
static void p_Setm(poly p, const ring r)
const Variable & v
< [in] a sqrfree bivariate poly
static BOOLEAN p_ExpVectorEqual(poly p1, poly p2, const ring r1, const ring r2)
static FORCE_INLINE number n_Div(number a, number b, const coeffs r)
return the quotient of 'a' and 'b', i.e., a/b; raises an error if 'b' is not invertible in r exceptio...
int comp(const CanonicalForm &A, const CanonicalForm &B)
compare polynomials
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy
std::vector< const CLeadingTerm * > TReducers
static BOOLEAN p_LmIsConstant(const poly p, const ring r)