![]() |
My Project
|
#include "misc/auxiliary.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 | |
| 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 | |
| ideal | id_MaxIdeal (const ring r) |
| initialise the maximal ideal (at 0) | |
| void | id_Delete (ideal *h, ring r) |
| deletes an ideal/module/matrix | |
| void | id_Delete0 (ideal *h, ring r) |
| void | id_ShallowDelete (ideal *h, ring r) |
| Shallowdeletes an ideal/matrix. | |
| void | idSkipZeroes (ideal ide) |
| gives an ideal/module the minimal possible size | |
| int | idSkipZeroes0 (ideal ide) |
| 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.) | |
| void | id_Norm (ideal id, const ring r) |
| ideal id = (id[i]), result is leadcoeff(id[i]) = 1 | |
| 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 | |
| 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 | |
| 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. | |
| static void | id_DelDiv_SEV (ideal id, int k, const ring r) |
| delete id[j], if LT(j) == coeff*mon*LT(i) | |
| 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) | |
| BOOLEAN | id_IsConstant (ideal id, const ring r) |
| test if the ideal has only constant polynomials NOTE: zero ideal/module is also constant | |
| ideal | id_Copy (ideal h1, const ring r) |
| copy an ideal | |
| 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! | |
| void | id_DBLmTest (ideal h1, int level, const char *f, const int l, const ring r) |
| Internal verification for ideals/modules and dense matrices! | |
| static int | p_Comp_RevLex (poly a, poly b, BOOLEAN nolex, const ring R) |
| for idSort: compare a and b revlex inclusive module comp. | |
| 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 | |
| ideal | id_SimpleAdd (ideal h1, ideal h2, const ring R) |
| concat the lists h1 and h2 without zeros | |
| ideal | id_SimpleMove (ideal h1, ideal h2, const ring R) |
| concat the lists h1 and h2 without zeros, destroys h1,h2 | |
| BOOLEAN | idInsertPoly (ideal h1, poly h2) |
| insert h2 into h1 (if h2 is not the zero polynomial) return TRUE iff h2 was indeed inserted | |
| BOOLEAN | idInsertPolyOnPos (ideal I, poly p, int pos) |
| insert p into I on position pos | |
| 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: | |
| ideal | id_Add (ideal h1, ideal h2, const ring r) |
| h1 + h2 | |
| 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) | |
| BOOLEAN | idIs0 (ideal h) |
| returns true if h is the zero ideal | |
| BOOLEAN | idIsMonomial (ideal h) |
| returns true if h is generated by monomials | |
| BOOLEAN | idIsSimpleGB (ideal F, ideal Q) |
| returns true if F in R/Q has a "simple" GB | |
| long | id_RankFreeModule (ideal s, ring lmRing, ring tailRing) |
| return the maximal component number found in any polynomial in s | |
| BOOLEAN | id_IsModule (ideal A, const ring src) |
| BOOLEAN | id_HomIdeal (ideal id, ideal Q, const ring r) |
| BOOLEAN | id_HomIdealDP (ideal id, ideal Q, const ring r) |
| BOOLEAN | id_HomIdealW (ideal id, ideal Q, const intvec *w, const ring r) |
| BOOLEAN | id_HomModuleW (ideal id, ideal Q, const intvec *w, const intvec *module_w, 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 | |
| static void | makemonoms (int vars, int actvar, int deg, int monomdeg, const ring r) |
| static void | lpmakemonoms (int vars, int deg, 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 | |
| ideal | id_Homogen (ideal h, int varnum, const ring r) |
| ideal | id_HomogenDP (ideal h, int varnum, const ring r) |
| ideal | id_Vec2Ideal (poly vec, const ring R) |
| poly | id_Array2Vector (poly *m, unsigned n, const ring R) |
| for julia: convert an array of poly to vector | |
| ideal | id_Matrix2Module (matrix mat, const ring R) |
| converts mat to module, destroys mat | |
| matrix | id_Module2Matrix (ideal mod, const ring R) |
| matrix | id_Module2formatedMatrix (ideal mod, int rows, int cols, const ring R) |
| ideal | id_ResizeModule (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 (const ideal i, int d, const ring R) |
| ideal | id_Jet0 (const ideal i, const ring R) |
| ideal | id_JetW (const ideal i, int d, intvec *iv, 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 | |
| int | id_MinDegW (ideal M, intvec *w, const ring r) |
| ideal | id_Transp (ideal a, const ring rRing) |
| transpose a module | |
| 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) |
| ideal | id_Delete_Pos (const ideal I, const int p, const ring r) |
| ideal | id_PermIdeal (ideal I, int R, int C, const int *perm, const ring src, const ring dst, nMapFunc nMap, const int *par_perm, int P, BOOLEAN use_mult) |
| mapping ideals/matrices to other rings | |
Variables | |
| VAR omBin | sip_sideal_bin = omGetSpecBin(sizeof(sip_sideal)) |
| STATIC_VAR poly * | idpower |
| STATIC_VAR int | idpowerpoint |
| int binom | ( | int | n, |
| int | r ) |
Definition at line 1293 of file simpleideals.cc.
| ideal id_Add | ( | ideal | h1, |
| ideal | h2, | ||
| const ring | r ) |
h1 + h2
Definition at line 954 of file simpleideals.cc.
| poly id_Array2Vector | ( | poly * | m, |
| unsigned | n, | ||
| const ring | R ) |
for julia: convert an array of poly to vector
Definition at line 1618 of file simpleideals.cc.
| ideal id_ChineseRemainder | ( | ideal * | xx, |
| number * | q, | ||
| int | rl, | ||
| const ring | r ) |
Definition at line 2228 of file simpleideals.cc.
| void id_Compactify | ( | ideal | id, |
| const ring | r ) |
Definition at line 1540 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 266 of file simpleideals.cc.
Internal verification for ideals/modules and dense matrices!
Definition at line 605 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 554 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 463 of file simpleideals.cc.
|
static |
delete id[j], if LT(j) == coeff*mon*LT(i)
Definition at line 381 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 331 of file simpleideals.cc.
| void id_Delete | ( | ideal * | h, |
| ring | r ) |
deletes an ideal/module/matrix
Definition at line 123 of file simpleideals.cc.
| void id_Delete0 | ( | ideal * | h, |
| ring | r ) |
Definition at line 155 of file simpleideals.cc.
| 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 354 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 296 of file simpleideals.cc.
| ideal id_FreeModule | ( | int | i, |
| const ring | r ) |
the free module of rank i
Definition at line 1316 of file simpleideals.cc.
| ideal id_Head | ( | ideal | h, |
| const ring | r ) |
returns the ideals of initial terms
Definition at line 1564 of file simpleideals.cc.
Definition at line 1163 of file simpleideals.cc.
Definition at line 1805 of file simpleideals.cc.
| BOOLEAN id_HomModuleW | ( | ideal | id, |
| ideal | Q, | ||
| const intvec * | w, | ||
| const intvec * | module_w, | ||
| const ring | r ) |
| ideal id_Homogen | ( | ideal | h, |
| int | varnum, | ||
| const ring | r ) |
Definition at line 1584 of file simpleideals.cc.
| ideal id_HomogenDP | ( | ideal | h, |
| int | varnum, | ||
| const ring | r ) |
Definition at line 1596 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 926 of file simpleideals.cc.
test if the ideal has only constant polynomials NOTE: zero ideal/module is also constant
Definition at line 529 of file simpleideals.cc.
Definition at line 1092 of file simpleideals.cc.
Definition at line 2045 of file simpleideals.cc.
Definition at line 1928 of file simpleideals.cc.
Definition at line 1941 of file simpleideals.cc.
Definition at line 1954 of file simpleideals.cc.
converts mat to module, destroys mat
Definition at line 1641 of file simpleideals.cc.
| ideal id_MaxIdeal | ( | const ring | r | ) |
initialise the maximal ideal (at 0)
Definition at line 98 of file simpleideals.cc.
| ideal id_MaxIdeal | ( | int | deg, |
| const ring | r ) |
Definition at line 1433 of file simpleideals.cc.
Definition at line 2075 of file simpleideals.cc.
Definition at line 1721 of file simpleideals.cc.
Definition at line 1675 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 967 of file simpleideals.cc.
|
static |
Definition at line 1487 of file simpleideals.cc.
| void id_Norm | ( | ideal | id, |
| const ring | r ) |
ideal id = (id[i]), result is leadcoeff(id[i]) = 1
Definition at line 282 of file simpleideals.cc.
| void id_Normalize | ( | ideal | I, |
| const ring | r ) |
normialize all polys in id
Definition at line 2064 of file simpleideals.cc.
| ideal id_PermIdeal | ( | ideal | I, |
| int | R, | ||
| int | C, | ||
| const int * | perm, | ||
| const ring | src, | ||
| const ring | dst, | ||
| nMapFunc | nMap, | ||
| const int * | par_perm, | ||
| int | P, | ||
| BOOLEAN | use_mult ) |
mapping ideals/matrices to other rings
Definition at line 2300 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 80 of file simpleideals.cc.
| ideal id_Power | ( | ideal | given, |
| int | exp, | ||
| const ring | r ) |
Definition at line 1514 of file simpleideals.cc.
Definition at line 1998 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 1073 of file simpleideals.cc.
| ideal id_ResizeModule | ( | ideal | mod, |
| int | rows, | ||
| int | cols, | ||
| const ring | R ) |
Definition at line 1753 of file simpleideals.cc.
| void id_ShallowDelete | ( | ideal * | h, |
| ring | r ) |
Shallowdeletes an ideal/matrix.
Definition at line 177 of file simpleideals.cc.
| void id_Shift | ( | ideal | M, |
| int | s, | ||
| const ring | r ) |
Definition at line 2277 of file simpleideals.cc.
| ideal id_SimpleAdd | ( | ideal | h1, |
| ideal | h2, | ||
| const ring | R ) |
concat the lists h1 and h2 without zeros
Definition at line 790 of file simpleideals.cc.
| ideal id_SimpleMove | ( | ideal | h1, |
| ideal | h2, | ||
| const ring | R ) |
concat the lists h1 and h2 without zeros, destroys h1,h2
Definition at line 831 of file simpleideals.cc.
sorts the ideal w.r.t. the actual ringordering uses lex-ordering when nolex = FALSE
Definition at line 695 of file simpleideals.cc.
| ideal id_Subst | ( | ideal | id, |
| int | n, | ||
| poly | e, | ||
| const ring | r ) |
Definition at line 1790 of file simpleideals.cc.
Definition at line 2148 of file simpleideals.cc.
| ideal id_Transp | ( | ideal | a, |
| const ring | rRing ) |
transpose a module
Definition at line 2095 of file simpleideals.cc.
| ideal id_Vec2Ideal | ( | poly | vec, |
| const ring | R ) |
Definition at line 1609 of file simpleideals.cc.
| void idGetNextChoise | ( | int | r, |
| int | end, | ||
| BOOLEAN * | endch, | ||
| int * | choise ) |
Definition at line 1235 of file simpleideals.cc.
| int idGetNumberOfChoise | ( | int | t, |
| int | d, | ||
| int | begin, | ||
| int | end, | ||
| int * | choise ) |
Definition at line 1261 of file simpleideals.cc.
| ideal idInit | ( | int | idsize, |
| int | rank ) |
initialise an ideal / module
creates an ideal / module
Definition at line 35 of file simpleideals.cc.
| void idInitChoise | ( | int | r, |
| int | beg, | ||
| int | end, | ||
| BOOLEAN * | endch, | ||
| int * | choise ) |
Definition at line 1213 of file simpleideals.cc.
| BOOLEAN idInsertPoly | ( | ideal | h1, |
| poly | h2 ) |
insert h2 into h1 (if h2 is not the zero polynomial) return TRUE iff h2 was indeed inserted
Definition at line 880 of file simpleideals.cc.
| BOOLEAN idInsertPolyOnPos | ( | ideal | I, |
| poly | p, | ||
| int | pos ) |
insert p into I on position pos
Definition at line 899 of file simpleideals.cc.
| BOOLEAN idIs0 | ( | ideal | h | ) |
| BOOLEAN idIsMonomial | ( | ideal | h | ) |
returns true if h is generated by monomials
Definition at line 1020 of file simpleideals.cc.
| BOOLEAN idIsSimpleGB | ( | ideal | F, |
| ideal | Q ) |
returns true if F in R/Q has a "simple" GB
Definition at line 1040 of file simpleideals.cc.
Definition at line 57 of file simpleideals.cc.
| void idSkipZeroes | ( | ideal | ide | ) |
| int idSkipZeroes0 | ( | ideal | ide | ) |
Definition at line 237 of file simpleideals.cc.
|
static |
Definition at line 1395 of file simpleideals.cc.
|
static |
Definition at line 1347 of file simpleideals.cc.
for idSort: compare a and b revlex inclusive module comp.
Definition at line 658 of file simpleideals.cc.
| STATIC_VAR poly* idpower |
Definition at line 29 of file simpleideals.cc.
| STATIC_VAR int idpowerpoint |
Definition at line 31 of file simpleideals.cc.
| VAR omBin sip_sideal_bin = omGetSpecBin(sizeof(sip_sideal)) |
Definition at line 27 of file simpleideals.cc.