source: git/Singular/ideals.h @ 5480da

spielwiese
Last change on this file since 5480da was 4f75c3, checked in by Thomas Siebert <siebert@…>, 26 years ago
*** empty log message *** git-svn-id: file:///usr/local/Singular/svn/trunk@1159 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 3.7 KB
Line 
1#ifndef IDEALS_H
2#define IDEALS_H
3/****************************************
4*  Computer Algebra System SINGULAR     *
5****************************************/
6/* $Id: ideals.h,v 1.6 1998-02-19 12:45:40 siebert Exp $ */
7/*
8* ABSTRACT - all basic methods to manipulate ideals
9*/
10#include "structs.h"
11
12#ifdef MDEBUG
13ideal idDBInit (int size, int rank, char *f, int l);
14#define idInit(A,B) idDBInit(A,B,__FILE__,__LINE__)
15void idDBDelete (ideal* h, char *f, int l);
16#define idDelete(A) idDBDelete(A,__FILE__,__LINE__)
17#else
18ideal idInit (int size, int rank=1);
19  /*- creates an ideal -*/
20void idDelete (ideal* h);
21  /*- deletes an ideal -*/
22#endif
23  /*- initialise an ideal -*/
24ideal idMaxIdeal (int deg);
25  /*- initialise the maximal ideal (at 0) -*/
26void idSkipZeroes (ideal ide);
27  /*gives an ideal the minimal possible size*/
28void idNorm(ideal id);
29void idDelMultiples(ideal id);
30void idDelEquals(ideal id);
31
32#ifdef PDEBUG
33void idDBTest(ideal h1,char *f,int l);
34#define idTest(A) idDBTest(A,__FILE__,__LINE__)
35#else
36#define idTest(A)
37#endif
38
39#ifdef MDEBUG
40ideal idDBCopy(ideal h1,char *f,int l);
41#define idCopy(A) idDBCopy(A,__FILE__,__LINE__)
42#else
43ideal idCopy (ideal h1);
44#endif
45  /*adds two ideals without simplifying the result*/
46ideal idSimpleAdd (ideal h1,ideal h2);
47  /*adds the quotient ideal*/
48ideal idAdd (ideal h1,ideal h2);
49  /* h1 + h2 */
50ideal idMult (ideal h1,ideal h2);
51  /*hh := h1 * h2*/
52
53BOOLEAN idIs0 (ideal h);
54
55int     idRankFreeModule(ideal m);
56
57BOOLEAN idHomIdeal (ideal id, ideal Q=NULL);
58BOOLEAN idHomModule(ideal m, ideal Q,intvec **w);
59
60ideal idMinBase (ideal h1);
61  /*returns a minimized set of generators of h1*/
62int pLowVar (poly p);
63  /*-the minimal index of used variables - 1-*/
64ideal idDehomogen (ideal id1,poly p,number n);
65  /*dehomogenized the generators of the ideal id1 with the leading
66  monomial of p replaced by n*/
67void pShift (poly * p,int i);
68  /*- verschiebt die Indizes der Modulerzeugenden um i -*/
69void    idInitChoise (int r,int beg,int end,BOOLEAN *endch,int * choise);
70void    idGetNextChoise (int r,int end,BOOLEAN *endch,int * choise);
71int     idGetNumberOfChoise(int t, int d, int begin, int end, int * choise);
72
73int     binom (int n,int r);
74
75ideal   idFreeModule (int i);
76
77ideal   idSect (ideal h1,ideal h2);
78ideal   idMultSect(resolvente arg, int length);
79
80ideal   idSyzygies (ideal h1,ideal quot, tHomog h,intvec **w);
81ideal   idSyzygies (ideal h1,ideal quot, tHomog h,intvec **w,
82           BOOLEAN setRegularity, int &deg);
83ideal idSyzMin (ideal h1,ideal  quot, tHomog h,intvec **w,
84           BOOLEAN setRegularity, int &deg);
85ideal   idLiftStd  (ideal h1, ideal quot, matrix *m, tHomog h=testHomog);
86
87ideal   idLift (ideal mod, ideal sumod);
88ideal   idLiftNonStB (ideal  mod, ideal submod);
89
90intvec * idMWLift(ideal mod,intvec * weights);
91
92ideal   idQuot (ideal h1,ideal h2,BOOLEAN h1IsStb=FALSE);
93
94ideal   idPower(ideal gid,int deg);
95
96//ideal   idElimination (ideal h1,poly delVar);
97ideal   idElimination (ideal h1,poly delVar, intvec *hilb=NULL);
98
99ideal   idMinors(matrix a, int ar);
100
101ideal   idCompactify(ideal id);
102
103ideal   idMinEmbedding(ideal arg);
104
105ideal   idHead(ideal h);
106
107ideal   idHomogen(ideal h, int varnum);
108
109BOOLEAN idIsSubModule(ideal id1,ideal id2);
110
111ideal   idVec2Ideal(poly vec);
112
113ideal   idMatrix2Module(matrix mat);
114
115matrix  idModule2Matrix(ideal mod);
116
117matrix  idModule2formatedMatrix(ideal mod,int rows, int cols);
118
119ideal   idSubst(ideal i, int n, poly e);
120
121ideal   idJet(ideal i,int d);
122ideal   idJetW(ideal i,int d, intvec * iv);
123
124matrix  idDiff(matrix i, int k);
125matrix  idDiffOp(ideal I, ideal J,BOOLEAN multiply=TRUE);
126
127intvec *idSort(ideal id,BOOLEAN nolex=TRUE);
128ideal   idModulo (ideal h1,ideal h2);
129int     idElem(ideal F);
130matrix  idCoeffOfKBase(ideal arg, ideal kbase, poly how);
131intvec *idQHomWeights(ideal id);
132#endif
Note: See TracBrowser for help on using the repository browser.