![]() |
#include <misc/auxiliary.h>
#include <omalloc/omalloc.h>
#include <misc/options.h>
#include <misc/intvec.h>
#include "matpol.h"
#include "monomials/p_polys.h"
#include "weight.h"
#include "sbuckets.h"
#include "clapsing.h"
#include "simpleideals.h"
Go to the source code of this file.
Functions | |
ideal | idInit (int idsize, int rank) |
initialise an ideal / module More... | |
void | idShow (const ideal id, const ring lmRing, const ring tailRing, const int debugPrint) |
int | id_PosConstant (ideal id, const ring r) |
index of generator with leading term in ground ring (if any); otherwise -1 More... | |
ideal | id_MaxIdeal (const ring r) |
initialise the maximal ideal (at 0) More... | |
void | id_Delete (ideal *h, ring r) |
deletes an ideal/module/matrix More... | |
void | id_ShallowDelete (ideal *h, ring r) |
Shallowdeletes an ideal/matrix. More... | |
void | idSkipZeroes (ideal ide) |
gives an ideal/module the minimal possible size More... | |
int | idElem (const ideal F) |
count non-zero elements More... | |
ideal | id_CopyFirstK (const ideal ide, const int k, const ring r) |
copies the first k (>= 1) entries of the given ideal/module and returns these as a new ideal/module (Note that the copied entries may be zero.) More... | |
void | id_Norm (ideal id, const ring r) |
ideal id = (id[i]), result is leadcoeff(id[i]) = 1 More... | |
void | id_DelMultiples (ideal id, const ring r) |
ideal id = (id[i]), c any unit if id[i] = c*id[j] then id[j] is deleted for j > i More... | |
void | id_DelEquals (ideal id, const ring r) |
ideal id = (id[i]) if id[i] = id[j] then id[j] is deleted for j > i More... | |
void | id_DelLmEquals (ideal id, const ring r) |
Delete id[j], if Lm(j) == Lm(i) and both LC(j), LC(i) are units and j > i. More... | |
void | id_DelDiv (ideal id, const ring r) |
delete id[j], if LT(j) == coeff*mon*LT(i) and vice versa, i.e., delete id[i], if LT(i) == coeff*mon*LT(j) More... | |
BOOLEAN | id_IsConstant (ideal id, const ring r) |
test if the ideal has only constant polynomials NOTE: zero ideal/module is also constant More... | |
ideal | id_Copy (ideal h1, const ring r) |
copy an ideal More... | |
void | id_DBTest (ideal h1, int level, const char *f, const int l, const ring r, const ring tailRing) |
Internal verification for ideals/modules and dense matrices! More... | |
static int | p_Comp_RevLex (poly a, poly b, BOOLEAN nolex, const ring R) |
for idSort: compare a and b revlex inclusive module comp. More... | |
intvec * | id_Sort (const ideal id, const BOOLEAN nolex, const ring r) |
sorts the ideal w.r.t. the actual ringordering uses lex-ordering when nolex = FALSE More... | |
ideal | id_SimpleAdd (ideal h1, ideal h2, const ring R) |
concat the lists h1 and h2 without zeros More... | |
BOOLEAN | idInsertPoly (ideal h1, poly h2) |
insert h2 into h1 (if h2 is not the zero polynomial) return TRUE iff h2 was indeed inserted More... | |
BOOLEAN | id_InsertPolyWithTests (ideal h1, const int validEntries, const poly h2, const bool zeroOk, const bool duplicateOk, const ring r) |
insert h2 into h1 depending on the two boolean parameters: More... | |
ideal | id_Add (ideal h1, ideal h2, const ring r) |
h1 + h2 More... | |
ideal | id_Mult (ideal h1, ideal h2, const ring R) |
h1 * h2 one h_i must be an ideal (with at least one column) the other h_i may be a module (with no columns at all) More... | |
BOOLEAN | idIs0 (ideal h) |
returns true if h is the zero ideal More... | |
long | id_RankFreeModule (ideal s, ring lmRing, ring tailRing) |
return the maximal component number found in any polynomial in s More... | |
BOOLEAN | id_HomIdeal (ideal id, ideal Q, const ring r) |
void | idInitChoise (int r, int beg, int end, BOOLEAN *endch, int *choise) |
void | idGetNextChoise (int r, int end, BOOLEAN *endch, int *choise) |
int | idGetNumberOfChoise (int t, int d, int begin, int end, int *choise) |
int | binom (int n, int r) |
ideal | id_FreeModule (int i, const ring r) |
the free module of rank i More... | |
static void | makemonoms (int vars, int actvar, int deg, int monomdeg, const ring r) |
ideal | id_MaxIdeal (int deg, const ring r) |
static void | id_NextPotence (ideal given, ideal result, int begin, int end, int deg, int restdeg, poly ap, const ring r) |
ideal | id_Power (ideal given, int exp, const ring r) |
void | id_Compactify (ideal id, const ring r) |
ideal | id_Head (ideal h, const ring r) |
returns the ideals of initial terms More... | |
ideal | id_Homogen (ideal h, int varnum, const ring r) |
ideal | id_Vec2Ideal (poly vec, const ring R) |
ideal | id_Matrix2Module (matrix mat, const ring R) |
matrix | id_Module2Matrix (ideal mod, const ring R) |
matrix | id_Module2formatedMatrix (ideal mod, int rows, int cols, const ring R) |
ideal | id_Subst (ideal id, int n, poly e, const ring r) |
BOOLEAN | id_HomModule (ideal m, ideal Q, intvec **w, const ring R) |
ideal | id_Jet (ideal i, int d, const ring R) |
ideal | id_JetW (ideal i, int d, intvec *iv, const ring R) |
int | id_ReadOutPivot (ideal arg, int *comp, const ring r) |
intvec * | id_QHomWeight (ideal id, const ring r) |
BOOLEAN | id_IsZeroDim (ideal I, const ring r) |
void | id_Normalize (ideal I, const ring r) |
normialize all polys in id More... | |
int | id_MinDegW (ideal M, intvec *w, const ring r) |
ideal | id_Transp (ideal a, const ring rRing) |
ideal | id_TensorModuleMult (const int m, const ideal M, const ring rRing) |
ideal | id_ChineseRemainder (ideal *xx, number *q, int rl, const ring r) |
void | id_Shift (ideal M, int s, const ring r) |
Variables | |
omBin | sip_sideal_bin = omGetSpecBin(sizeof(sip_sideal)) |
static poly * | idpower |
static int | idpowerpoint |
int binom | ( | int | n, |
int | r | ||
) |
Definition at line 894 of file simpleideals.cc.
ideal id_Add | ( | ideal | h1, |
ideal | h2, | ||
const ring | r | ||
) |
h1 + h2
Definition at line 695 of file simpleideals.cc.
ideal id_ChineseRemainder | ( | ideal * | xx, |
number * | q, | ||
int | rl, | ||
const ring | r | ||
) |
Definition at line 1721 of file simpleideals.cc.
void id_Compactify | ( | ideal | id, |
const ring | r | ||
) |
Definition at line 1068 of file simpleideals.cc.
ideal id_Copy | ( | ideal | h1, |
const ring | r | ||
) |
copies the first k (>= 1) entries of the given ideal/module and returns these as a new ideal/module (Note that the copied entries may be zero.)
Definition at line 225 of file simpleideals.cc.
void id_DBTest | ( | ideal | h1, |
int | level, | ||
const char * | f, | ||
const int | l, | ||
const ring | r, | ||
const ring | tailRing | ||
) |
Internal verification for ideals/modules and dense matrices!
Definition at line 421 of file simpleideals.cc.
void id_DelDiv | ( | ideal | id, |
const ring | r | ||
) |
delete id[j], if LT(j) == coeff*mon*LT(i) and vice versa, i.e., delete id[i], if LT(i) == coeff*mon*LT(j)
Definition at line 345 of file simpleideals.cc.
void id_DelEquals | ( | ideal | id, |
const ring | r | ||
) |
ideal id = (id[i]) if id[i] = id[j] then id[j] is deleted for j > i
Definition at line 294 of file simpleideals.cc.
void id_Delete | ( | ideal * | h, |
ring | r | ||
) |
void id_DelLmEquals | ( | ideal | id, |
const ring | r | ||
) |
Delete id[j], if Lm(j) == Lm(i) and both LC(j), LC(i) are units and j > i.
Definition at line 317 of file simpleideals.cc.
void id_DelMultiples | ( | ideal | id, |
const ring | r | ||
) |
ideal id = (id[i]), c any unit if id[i] = c*id[j] then id[j] is deleted for j > i
Definition at line 255 of file simpleideals.cc.
ideal id_FreeModule | ( | int | i, |
const ring | r | ||
) |
ideal id_Head | ( | ideal | h, |
const ring | r | ||
) |
Definition at line 787 of file simpleideals.cc.
Definition at line 1258 of file simpleideals.cc.
ideal id_Homogen | ( | ideal | h, |
int | varnum, | ||
const ring | r | ||
) |
Definition at line 1103 of file simpleideals.cc.
BOOLEAN id_InsertPolyWithTests | ( | ideal | h1, |
const int | validEntries, | ||
const poly | h2, | ||
const bool | zeroOk, | ||
const bool | duplicateOk, | ||
const ring | r | ||
) |
insert h2 into h1 depending on the two boolean parameters:
Definition at line 667 of file simpleideals.cc.
test if the ideal has only constant polynomials NOTE: zero ideal/module is also constant
Definition at line 396 of file simpleideals.cc.
Definition at line 1547 of file simpleideals.cc.
ideal id_Jet | ( | ideal | i, |
int | d, | ||
const ring | R | ||
) |
Definition at line 1381 of file simpleideals.cc.
Definition at line 1394 of file simpleideals.cc.
Definition at line 1127 of file simpleideals.cc.
ideal id_MaxIdeal | ( | const ring | r | ) |
initialise the maximal ideal (at 0)
Definition at line 101 of file simpleideals.cc.
ideal id_MaxIdeal | ( | int | deg, |
const ring | r | ||
) |
Definition at line 986 of file simpleideals.cc.
Definition at line 1576 of file simpleideals.cc.
Definition at line 1207 of file simpleideals.cc.
Definition at line 1161 of file simpleideals.cc.
ideal id_Mult | ( | ideal | h1, |
ideal | h2, | ||
const ring | R | ||
) |
h1 * h2 one h_i must be an ideal (with at least one column) the other h_i may be a module (with no columns at all)
Definition at line 708 of file simpleideals.cc.
|
static |
Definition at line 1015 of file simpleideals.cc.
void id_Norm | ( | ideal | id, |
const ring | r | ||
) |
void id_Normalize | ( | ideal | I, |
const ring | r | ||
) |
normialize all polys in id
Definition at line 1566 of file simpleideals.cc.
int id_PosConstant | ( | ideal | id, |
const ring | r | ||
) |
index of generator with leading term in ground ring (if any); otherwise -1
Definition at line 83 of file simpleideals.cc.
ideal id_Power | ( | ideal | given, |
int | exp, | ||
const ring | r | ||
) |
Definition at line 1042 of file simpleideals.cc.
Definition at line 1500 of file simpleideals.cc.
long id_RankFreeModule | ( | ideal | s, |
ring | lmRing, | ||
ring | tailRing | ||
) |
return the maximal component number found in any polynomial in s
Definition at line 763 of file simpleideals.cc.
int id_ReadOutPivot | ( | ideal | arg, |
int * | comp, | ||
const ring | r | ||
) |
Definition at line 1418 of file simpleideals.cc.
void id_ShallowDelete | ( | ideal * | h, |
ring | r | ||
) |
Shallowdeletes an ideal/matrix.
Definition at line 146 of file simpleideals.cc.
void id_Shift | ( | ideal | M, |
int | s, | ||
const ring | r | ||
) |
Definition at line 1766 of file simpleideals.cc.
ideal id_SimpleAdd | ( | ideal | h1, |
ideal | h2, | ||
const ring | R | ||
) |
sorts the ideal w.r.t. the actual ringordering uses lex-ordering when nolex = FALSE
Definition at line 505 of file simpleideals.cc.
Definition at line 1243 of file simpleideals.cc.
Definition at line 1641 of file simpleideals.cc.
ideal id_Transp | ( | ideal | a, |
const ring | rRing | ||
) |
Definition at line 1596 of file simpleideals.cc.
Definition at line 1116 of file simpleideals.cc.
int idElem | ( | const ideal | F | ) |
count non-zero elements
number of non-zero polys in F
Definition at line 208 of file simpleideals.cc.
void idGetNextChoise | ( | int | r, |
int | end, | ||
BOOLEAN * | endch, | ||
int * | choise | ||
) |
Definition at line 836 of file simpleideals.cc.
int idGetNumberOfChoise | ( | int | t, |
int | d, | ||
int | begin, | ||
int | end, | ||
int * | choise | ||
) |
Definition at line 862 of file simpleideals.cc.
ideal idInit | ( | int | idsize, |
int | rank | ||
) |
initialise an ideal / module
creates an ideal / module
Definition at line 38 of file simpleideals.cc.
void idInitChoise | ( | int | r, |
int | beg, | ||
int | end, | ||
BOOLEAN * | endch, | ||
int * | choise | ||
) |
Definition at line 814 of file simpleideals.cc.
insert h2 into h1 (if h2 is not the zero polynomial) return TRUE iff h2 was indeed inserted
Definition at line 642 of file simpleideals.cc.
BOOLEAN idIs0 | ( | ideal | h | ) |
Definition at line 60 of file simpleideals.cc.
void idSkipZeroes | ( | ideal | ide | ) |
|
static |
Definition at line 943 of file simpleideals.cc.
for idSort: compare a and b revlex inclusive module comp.
Definition at line 471 of file simpleideals.cc.
: TRUE iff (n != 0 and (LC(n) > 0 or deg(n) > 0)) in K(t_1, ..., t_n): TRUE iff (LC(numerator(n) is a constant and > 0) or (LC(numerator(n) is not a constant) in Z/2^kZ: TRUE iff 0 < n <= 2^(k-1) in Z/mZ: TRUE iff the internal mpz is greater than zero in Z: TRUE iff n > 0
|
static |
Definition at line 32 of file simpleideals.cc.
|
static |
Definition at line 34 of file simpleideals.cc.
omBin sip_sideal_bin = omGetSpecBin(sizeof(sip_sideal)) |
Definition at line 30 of file simpleideals.cc.