 |
My Project
debian-1:4.1.1-p2+ds-4build1
|
Go to the source code of this file.
|
static void | sm_ExactPolyDiv (poly, poly, const ring) |
|
static BOOLEAN | sm_IsNegQuot (poly, const poly, const poly, const ring) |
|
static void | sm_ExpMultDiv (poly, const poly, const poly, const ring) |
|
static void | sm_PolyDivN (poly, const number, const ring) |
|
static BOOLEAN | smSmaller (poly, poly) |
|
static void | sm_CombineChain (poly *, poly, const ring) |
|
static void | sm_FindRef (poly *, poly *, poly, const ring) |
|
static void | sm_ElemDelete (smpoly *, const ring) |
|
static smpoly | smElemCopy (smpoly) |
|
static float | sm_PolyWeight (smpoly, const ring) |
|
static smpoly | sm_Poly2Smpoly (poly, const ring) |
|
static poly | sm_Smpoly2Poly (smpoly, const ring) |
|
static BOOLEAN | sm_HaveDenom (poly, const ring) |
|
static number | sm_Cleardenom (ideal, const ring) |
|
static poly | pp_Mult_Coeff_mm_DivSelect_MultDiv (poly p, int &lp, poly m, poly a, poly b, const ring currRing) |
|
static poly | sm_SelectCopy_ExpMultDiv (poly p, poly m, poly a, poly b, const ring currRing) |
|
static void | smMinSelect (long *, int, int) |
|
long | sm_ExpBound (ideal m, int di, int ra, int t, const ring currRing) |
|
ring | sm_RingChange (const ring origR, long bound) |
|
void | sm_KillModifiedRing (ring r) |
|
BOOLEAN | sm_CheckDet (ideal I, int d, BOOLEAN sw, const ring r) |
|
poly | sm_CallDet (ideal I, const ring R) |
|
void | sm_CallBareiss (ideal I, int x, int y, ideal &M, intvec **iv, const ring R) |
|
poly | sm_MultDiv (poly a, poly b, const poly c, const ring R) |
|
void | sm_SpecialPolyDiv (poly a, poly b, const ring R) |
|
static void | sm_NumberDelete (smnumber *, const ring R) |
|
static smnumber | smNumberCopy (smnumber) |
|
static smnumber | sm_Poly2Smnumber (poly, const ring) |
|
static poly | sm_Smnumber2Poly (number, const ring) |
|
static BOOLEAN | smCheckSolv (ideal) |
|
ideal | sm_CallSolv (ideal I, const ring R) |
|
◆ smprec
◆ smnrec
◆ SM_MIN_LENGTH_BUCKET
◆ smnumber
◆ smpoly
◆ pp_Mult_Coeff_mm_DivSelect_MultDiv()
static poly pp_Mult_Coeff_mm_DivSelect_MultDiv |
( |
poly |
p, |
|
|
int & |
lp, |
|
|
poly |
m, |
|
|
poly |
a, |
|
|
poly |
b, |
|
|
const ring |
currRing |
|
) |
| |
|
static |
◆ sm_CallBareiss()
void sm_CallBareiss |
( |
ideal |
I, |
|
|
int |
x, |
|
|
int |
y, |
|
|
ideal & |
M, |
|
|
intvec ** |
iv, |
|
|
const ring |
R |
|
) |
| |
◆ sm_CallDet()
poly sm_CallDet |
( |
ideal |
I, |
|
|
const ring |
R |
|
) |
| |
Definition at line 356 of file sparsmat.cc.
359 if (I->ncols != I->rank)
361 Werror(
"det of %ld x %d module (matrix)",I->rank,I->ncols);
◆ sm_CallSolv()
ideal sm_CallSolv |
( |
ideal |
I, |
|
|
const ring |
R |
|
) |
| |
◆ sm_CheckDet()
◆ sm_Cleardenom()
static number sm_Cleardenom |
( |
ideal |
id, |
|
|
const ring |
R |
|
) |
| |
|
static |
◆ sm_CombineChain()
static void sm_CombineChain |
( |
poly * |
px, |
|
|
poly |
r, |
|
|
const ring |
R |
|
) |
| |
|
static |
◆ sm_ElemDelete()
◆ sm_ExactPolyDiv()
static void sm_ExactPolyDiv |
( |
poly |
a, |
|
|
poly |
b, |
|
|
const ring |
R |
|
) |
| |
|
static |
◆ sm_ExpBound()
long sm_ExpBound |
( |
ideal |
m, |
|
|
int |
di, |
|
|
int |
ra, |
|
|
int |
t, |
|
|
const ring |
currRing |
|
) |
| |
Definition at line 188 of file sparsmat.cc.
197 al = di*
sizeof(long);
199 bl = ra*
sizeof(long);
201 for (
i=di-1;
i>=0;
i--)
◆ sm_ExpMultDiv()
static void sm_ExpMultDiv |
( |
poly |
t, |
|
|
const poly |
b, |
|
|
const poly |
c, |
|
|
const ring |
R |
|
) |
| |
|
static |
◆ sm_FindRef()
static void sm_FindRef |
( |
poly * |
ref, |
|
|
poly * |
px, |
|
|
poly |
r, |
|
|
const ring |
R |
|
) |
| |
|
static |
◆ sm_HaveDenom()
◆ sm_IsNegQuot()
◆ sm_KillModifiedRing()
void sm_KillModifiedRing |
( |
ring |
r | ) |
|
◆ sm_MultDiv()
poly sm_MultDiv |
( |
poly |
a, |
|
|
poly |
b, |
|
|
const poly |
c, |
|
|
const ring |
R |
|
) |
| |
◆ sm_NumberDelete()
◆ sm_Poly2Smnumber()
◆ sm_Poly2Smpoly()
◆ sm_PolyDivN()
static void sm_PolyDivN |
( |
poly |
a, |
|
|
const number |
x, |
|
|
const ring |
R |
|
) |
| |
|
static |
◆ sm_PolyWeight()
◆ sm_RingChange()
ring sm_RingChange |
( |
const ring |
origR, |
|
|
long |
bound |
|
) |
| |
Definition at line 258 of file sparsmat.cc.
264 int *block0=(
int*)
omAlloc0(3*
sizeof(
int));
265 int *block1=(
int*)
omAlloc0(3*
sizeof(
int));
274 tmpR->bitmask = 2*
bound;
275 tmpR->wvhdl = (
int **)
omAlloc0((3) *
sizeof(
int*));
281 if (origR->qideal!=
NULL)
286 Print(
"[%ld:%d]", (
long) tmpR->bitmask, tmpR->ExpL_Size);
◆ sm_SelectCopy_ExpMultDiv()
static poly sm_SelectCopy_ExpMultDiv |
( |
poly |
p, |
|
|
poly |
m, |
|
|
poly |
a, |
|
|
poly |
b, |
|
|
const ring |
currRing |
|
) |
| |
|
static |
◆ sm_Smnumber2Poly()
static poly sm_Smnumber2Poly |
( |
number |
a, |
|
|
const ring |
R |
|
) |
| |
|
static |
◆ sm_Smpoly2Poly()
◆ sm_SpecialPolyDiv()
void sm_SpecialPolyDiv |
( |
poly |
a, |
|
|
poly |
b, |
|
|
const ring |
R |
|
) |
| |
◆ smCheckSolv()
static BOOLEAN smCheckSolv |
( |
ideal |
I | ) |
|
|
static |
Definition at line 2943 of file sparsmat.cc.
2946 if ((
i == 0) || (
i != I->rank-1))
2948 WerrorS(
"wrong dimensions for linsolv");
2953 if(I->m[
i-1] ==
NULL)
2955 WerrorS(
"singular input for linsolv");
◆ smElemCopy()
◆ smMinSelect()
static void smMinSelect |
( |
long * |
c, |
|
|
int |
t, |
|
|
int |
d |
|
) |
| |
|
static |
◆ smNumberCopy()
◆ smSmaller()
static BOOLEAN smSmaller |
( |
poly |
a, |
|
|
poly |
b |
|
) |
| |
|
static |
◆ smnrec_bin
◆ smprec_bin
static BOOLEAN sm_IsNegQuot(poly, const poly, const poly, const ring)
static BOOLEAN p_LmIsConstantComp(const poly p, const ring r)
static long p_GetExp(const poly p, const unsigned long iBitmask, const int VarOffset)
get a single variable exponent @Note: the integer VarOffset encodes:
void p_Normalize(poly p, const ring r)
ideal idrCopyR_NoSort(ideal id, ring src_r, ring dest_r)
void smToIntvec(intvec *)
static void p_ExpVectorDiff(poly pr, poly p1, poly p2, const ring r)
const CanonicalForm int const CFList const Variable & y
static poly p_Neg(poly p, const ring r)
void rKillModifiedRing(ring r)
BOOLEAN id_IsConstant(ideal id, const ring r)
test if the ideal has only constant polynomials NOTE: zero ideal/module is also constant
static void smMinSelect(long *, int, int)
static FORCE_INLINE void n_Delete(number *p, const coeffs r)
delete 'p'
static poly pp_Mult_mm(poly p, poly m, const ring r)
static FORCE_INLINE BOOLEAN n_IsZero(number n, const coeffs r)
TRUE iff 'n' represents the zero element.
ring sm_RingChange(const ring origR, long bound)
static FORCE_INLINE BOOLEAN n_IsOne(number n, const coeffs r)
TRUE iff 'n' represents the one element.
static BOOLEAN smCheckSolv(ideal)
static FORCE_INLINE void n_Normalize(number &n, const coeffs r)
inplace-normalization of n; produces some canonical representation of n;
static poly pp_Mult_Coeff_mm_DivSelect(poly p, const poly m, const ring r)
static unsigned long p_SetExp(poly p, const unsigned long e, const unsigned long iBitmask, const int VarOffset)
set a single variable exponent @Note: VarOffset encodes the position in p->exp
ring rCopy0(const ring r, BOOLEAN copy_qideal, BOOLEAN copy_ordering)
poly prMoveR(poly &p, ring src_r, ring dest_r)
static unsigned pLength(poly a)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
static FORCE_INLINE number n_Add(number a, number b, const coeffs r)
return the sum of 'a' and 'b', i.e., a+b
static short rVar(const ring r)
#define rVar(r) (r->N)
poly kBucketExtractLm(kBucket_pt bucket)
static void p_ExpVectorAdd(poly p1, poly p2, const ring r)
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
void kBucket_Add_q(kBucket_pt bucket, poly q, int *l)
Add to Bucket a poly ,i.e. Bpoly == q+Bpoly.
ideal idrMoveR(ideal &id, ring src_r, ring dest_r)
void kBucketDestroy(kBucket_pt *bucket_pt)
long id_RankFreeModule(ideal s, ring lmRing, ring tailRing)
return the maximal component number found in any polynomial in s
#define TEST_OPT_NOT_BUCKETS
#define omFreeSize(addr, size)
void kBucketInit(kBucket_pt bucket, poly lm, int length)
static void sm_FindRef(poly *, poly *, poly, const ring)
static BOOLEAN smSmaller(poly, poly)
void smNewBareiss(int, int)
static void p_LmDelete(poly p, const ring r)
static poly p_New(const ring, omBin bin)
static poly pp_Mult_qq(poly p, poly q, const ring r)
poly p_Cleardenom(poly p, const ring r)
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 sm_CombineChain(poly *, poly, const ring)
static poly p_Init(const ring r, omBin bin)
static int p_LmCmp(poly p, poly q, const ring r)
void sm_KillModifiedRing(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 sm_PolyDivN(poly, const number, const ring)
static number sm_Cleardenom(ideal, const ring)
static void p_LmFree(poly p, ring)
static void p_Delete(poly *p, const ring r)
static poly p_Add_q(poly p, poly q, const ring r)
static poly pp_Mult_Coeff_mm_DivSelect_MultDiv(poly p, int &lp, poly m, poly a, poly b, const ring currRing)
static poly sm_SelectCopy_ExpMultDiv(poly p, poly m, poly a, poly b, const ring currRing)
static CanonicalForm bound(const CFMatrix &M)
static void sm_ExpMultDiv(poly, const poly, const poly, const ring)
void Werror(const char *fmt,...)
static BOOLEAN rOrd_is_Comp_dp(const ring r)
static number p_SetCoeff(poly p, number n, ring r)
#define SM_MIN_LENGTH_BUCKET
static FORCE_INLINE number n_Copy(number n, const coeffs r)
return a copy of 'n'
void WerrorS(const char *s)
static unsigned long p_SetComp(poly p, unsigned long c, ring r)
static void sm_ExactPolyDiv(poly, poly, const ring)
static FORCE_INLINE BOOLEAN n_Equal(number a, number b, const coeffs r)
TRUE iff 'a' and 'b' represent the same number; they may have different representations.
static BOOLEAN p_IsConstantPoly(const poly p, const ring r)
static BOOLEAN p_IsConstant(const poly p, const ring r)
kBucket_pt kBucketCreate(const ring bucket_ring)
Creation/Destruction of buckets.
const CanonicalForm int s
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...
long sm_ExpBound(ideal m, int di, int ra, int t, const ring currRing)
static BOOLEAN sm_HaveDenom(poly, const ring)
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy
static FORCE_INLINE int n_Size(number n, const coeffs r)
return a non-negative measure for the complexity of n; return 0 only when n represents zero; (used fo...
#define omFreeBin(addr, bin)
static BOOLEAN p_LmDivisibleByNoComp(poly a, poly b, const ring r)
static FORCE_INLINE number n_GetDenom(number &n, const coeffs r)
return the denominator of n (if elements of r are by nature not fractional, result is 1)
static poly p_Mult_nn(poly p, number n, const ring r)
ideal idrCopyR(ideal id, ring src_r, ring dest_r)
static BOOLEAN rField_is_Q(const ring r)
BOOLEAN rComplete(ring r, int force)
this needs to be called whenever a new ring is created: new fields in ring are created (like VarOffse...