53 if ((rFieldType(r)==
n_Q)
54 ||(rFieldType(r)==
n_Zp)
74 ideal vi=
idInit(1,1); vi->m[0]=q;
75 ideal ui=
idInit(1,1); ui->m[0]=
p;
98 int comps=p_MaxComp(
p,r);
109 I->m[
i]=p_Add_q(I->m[
i],
p,r);
115 for(
i=comps-1;
i>=0;
i--)
126 else if (((rFieldType(r)==
n_Q)
127 ||(rFieldType(r)==
n_Zp)
133 ideal vi=
idInit(1,1); vi->m[0]=q;
134 ideal ui=
idInit(1,1); ui->m[0]=I->m[
i];
170 WerrorS(
"division over a coefficient domain only implemented for terms");
195 if ((rFieldType(r)==
n_Q)
196 ||(rFieldType(r)==
n_Zp)
212 ideal vi=
idInit(1,1); vi->m[0]=p_Copy(q,r);
213 ideal ui=
idInit(1,1); ui->m[0]=p_Copy(
p,r);
237 int comps=p_MaxComp(
p,r);
248 I->m[
i]=p_Add_q(I->m[
i],
p,r);
255 for(
i=comps-1;
i>=0;
i--)
267 else if ((rFieldType(r)==
n_Q)
268 ||(rFieldType(r)==
n_Zp))
272 ideal vi=
idInit(1,1); vi->m[0]=q;
273 ideal ui=
idInit(1,1); ui->m[0]=I->m[
i];
298 ideal vi=
idInit(1,1); vi->m[0]=q;
299 ideal ui=
idInit(1,1); ui->m[0]=I->m[
i];
335 WerrorS(
"division over a coefficient domain only implemented for terms");
382 ideal vi=
idInit(1,1); vi->m[0]=q;
383 ideal ui=
idInit(1,1); ui->m[0]=
p;
396 rest=
R->m[0];
R->m[0]=
NULL;
398 p_SetCompP(rest,0,r);
416 if (rField_is_Zp(r))
p_Norm(
f,r);
422 if (rField_is_Zp(r))
p_Norm(
g,r);
428 && (p_IsConstant(
f,r)
429 ||p_IsConstant(
g,r)))
451 if (
IDELEMS(S1)!=1)
WarnS(
"error in syzygy computation for GCD");
454 p_Delete(&S1->m[0],r);
BOOLEAN convSingTrP(poly p, const ring r)
poly singclap_pmod(poly f, poly g, const ring r)
poly singclap_pdivide(poly f, poly g, const ring r)
poly singclap_gcd_r(poly f, poly g, const ring r)
@ n_Q
rational (GMP) numbers
@ n_algExt
used for all algebraic extensions, i.e., the top-most extension in an extension tower is algebraic
@ n_transExt
used for all transcendental extensions, i.e., the top-most extension in an extension tower is transce...
void WerrorS(const char *s)
ideal idSyzygies(ideal h1, tHomog h, intvec **w, BOOLEAN setSyzComp, BOOLEAN setRegularity, int *deg, GbVariant alg)
ideal idLift(ideal mod, ideal submod, ideal *rest, BOOLEAN goodShape, BOOLEAN isSB, BOOLEAN divide, matrix *unit, GbVariant alg)
represents the generators of submod in terms of the generators of mod (Matrix(SM)*U-Matrix(rest)) = M...
BOOLEAN idIs0(ideal h)
returns true if h is the zero ideal
void p_TakeOutComp(poly *p, long comp, poly *q, int *lq, const ring r)
#define MATELEM(mat, i, j)
1-based access to matrix
The main handler for Singular numbers which are suitable for Singular polynomials.
CanonicalForm ndConvSingNFactoryN(number, BOOLEAN, const coeffs)
#define SI_RESTORE_OPT1(A)
#define TEST_RINGDEP_OPTS
poly p_DivideM(poly a, poly b, const ring r)
void p_Content(poly ph, const ring r)
poly pp_DivideM(poly a, poly b, const ring r)
void p_Norm(poly p1, const ring r)
poly p_Cleardenom(poly p, const ring r)
void rChangeCurrRing(ring r)
poly p_Divide(poly p, poly q, const ring r)
polynomial division a/b, ignoring the rest via singclap_pdivide resp. idLift destroys a,...
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
poly pp_Divide(poly p, poly q, const ring r)
polynomial division a/b, ignoring the rest via singclap_pdivide resp. idLift does not destroy a,...
poly singclap_gcd(poly f, poly g, const ring r)
polynomial gcd via singclap_gcd_r resp. idSyzygies destroys f and g
poly p_DivRem(poly p, poly q, poly &rest, const ring r)
Compatibility layer for legacy polynomial operations (over currRing).
void p_SetGlobals(const ring r, BOOLEAN complete)
set all properties of a new ring - also called by rComplete
#define rField_is_Ring(R)
ideal idInit(int idsize, int rank)
initialise an ideal / module
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
matrix id_Module2formatedMatrix(ideal mod, int rows, int cols, const ring R)