348{
349
351 {
355 }
356
359 int lsmod=0;
360 if (
k==0) { lsmod=1;
k=1;}
361
362
363
364
368
369 ideal s_quot;
370 ideal s_A;
371 if (orig_ring != syz_ring)
372 {
375 }
376 else
377 {
380 }
381
383 {
384 p_Shift(&s_quot->m[
i],lsmod,syz_ring);
388 s_quot->m[
i]=
p_Add_q(s_quot->m[
i],
p,syz_ring);
389 }
391
392 if (lsmod==1)
393 {
395 {
397 }
398 }
400 {
403 {
408 }
410 }
411
412 #if 0
414 {
419 }
421 {
426 }
427 #endif
428 ideal rest=
kNF(s_quot,syz_ring->qideal,s_A,0,lazyReduce);
429 #if 0
431 {
436 }
437 #endif
438
441
444 {
448 {
452 {
454 }
455 else
456 {
458 }
459 }
462 }
463 #if 0
465 {
470 }
471 #endif
472 #if 0
474 {
479 }
480 #endif
481
484 {
486 {
492 }
493 }
494 else
495 {
497
500 {
505 {
509 {
512 }
513 else
514 {
516 }
517 }
519
522 }
523 }
525 if (orig_ring != syz_ring)
526 {
531 {
532 *unit=
idrMoveR(*unit, syz_ring, orig_ring);
533 }
535 }
537}
void ipPrint_MA0(matrix m, const char *name)
ideal id_Copy(ideal h1, const ring r)
copy an ideal
BOOLEAN idIs0(ideal h)
returns true if h is the zero ideal
static void setUnit(int e, ideal *unit)
poly kNF(ideal F, ideal Q, poly p, int syzComp, int lazyReduce)
void p_Shift(poly *p, int i, const ring r)
shifts components of the vector p by i
static poly p_Neg(poly p, const ring r)
static poly p_Add_q(poly p, poly q, const ring r)
static unsigned long p_SetComp(poly p, unsigned long c, ring r)
static void p_Setm(poly p, const ring r)
void rChangeCurrRing(ring r)
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
ideal idrMoveR(ideal &id, ring src_r, ring dest_r)
ideal idrMoveR_NoSort(ideal &id, ring src_r, ring dest_r)
ideal idrCopyR_NoSort(ideal id, ring src_r, ring dest_r)
void PrintS(const char *s)
ring rAssure_SyzOrder(const ring r, BOOLEAN complete)
void rDelete(ring r)
unconditionally deletes fields in r
void rSetSyzComp(int k, const 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_Module2Matrix(ideal mod, const ring R)
long id_RankFreeModule(ideal s, ring lmRing, ring tailRing)
return the maximal component number found in any polynomial in s
int name
New type name for int.