Changeset a0b5e2 in git
- Timestamp:
- Sep 20, 2010, 6:47:00 PM (13 years ago)
- Branches:
- (u'spielwiese', '8d54773d6c9e2f1d2593a28bc68b7eeab54ed529')
- Children:
- 50b025ceafb1c25958940abd4fee0a82510cba8e
- Parents:
- dec1024e771ce38246bebbcab5f04dba4465e82d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/monomial.lib
rdec1024 ra0b5e2 16 16 (radical, intersection, quotient...). 17 17 18 LITERATURE: Miller, Ezra and Sturmfels, Bernd: Combinatorial Commutative Algebra, 19 Springer 2004 20 18 21 PROCEDURES: 19 22 isMonomial(id); checks whether an ideal id is monomial … … 31 34 isirreducibleMon(id); checks whether a monomial ideal id is irreducible 32 35 isartinianMon(id); checks whether a monomial ideal id is artininan 33 isgenericMon(id); checks whether a monomial ideal id is generic 36 isgenericMon(id); checks whether a monomial ideal id is generic, i.e., 37 no two minimal generators of it agree in the exponent 38 of any variable that actually appears in both of them. 34 39 dimMon(id); dimension of a monomial ideal id 35 40 irreddecMon(id,..); computes the irreducible decomposition of a monomial … … 47 52 " 48 53 USAGE: checkIdeal (I); I ideal. 49 RETURN: 1, if ideal is generated bymonomials; 0, otherwise.54 RETURN: 1, if the given generators of I are monomials; 0, otherwise. 50 55 " 51 56 // Aqui NO estoy quitando el caso de que el ideal sea el trivial. … … 68 73 USAGE: quotientIdealMon(I,f); I ideal, f polynomial. 69 74 RETURN: an ideal, the quotient ideal I:(f). 70 ASSUME: I is an ideal g eneratedby a list of monomials and f is a monomial75 ASSUME: I is an ideal given by a list of monomials and f is a monomial 71 76 of the basering. 72 77 " … … 211 216 // Si no tienen el mismo numero de generadores, no pueden ser iguales; ya 212 217 // que vienen dados por el sistema minimal de generadores. 213 if ( size(I) <> size(J))218 if (ncols(I) <> ncols(J)) 214 219 { 215 220 return(0); … … 507 512 " 508 513 USAGE: isMinimal (I); I ideal. 509 RETURN: 1, if the g enerators of I are the minimal ones;514 RETURN: 1, if the given generators of I are the minimal ones; 510 515 0 & minimal generators of I, otherwise. 511 ASSUME: I is an ideal of the basering g enerated by monomials.516 ASSUME: I is an ideal of the basering given by monomial generators. 512 517 " 513 518 { … … 548 553 I = J; 549 554 i--; 550 sizI = size(I);555 sizI = ncols(I); 551 556 } 552 557 } … … 568 573 RETURN: a list, 1 & the minimal generators of I, if I is a monomial ideal; 569 574 0, otherwise. 570 ASSUME: I is an ideal of the basering wh ich is not generated by575 ASSUME: I is an ideal of the basering whose given generators are not 571 576 monomials. 572 577 NOTE: this procedure is NOT Grobner free and should be used only if the 573 ideal has non-monomial generators(use first checkIdeal)578 given generators are not monomials. (use first checkIdeal) 574 579 " 575 580 { … … 685 690 "USAGE: minbaseMon (I); I ideal. 686 691 RETURN: an ideal, the minimal monomial generators of I. 687 (-1 if the g enerators of I are not monomials)692 (-1 if the given generators of I are not monomials) 688 693 ASSUME: I is an ideal generated by a list of monomials of the basering. 689 694 EXAMPLE: example minbaseMon; shows an example. … … 697 702 if (control == 0) 698 703 { 699 return (-1);704 ERROR ("the ideal is not monomial"); 700 705 } 701 706 // Quitamos los ceros del sistema de generadores. … … 945 950 ASSUME: I,J are monomial ideals of the basering. 946 951 NOTE: the minimal monomial generating set is returned. 952 USING THE SINGULAR COMMAND 'intersect' IS USUALLY FASTER 947 953 EXAMPLE: example intersectMon; shows some examples 948 954 " … … 1069 1075 { 1070 1076 ERROR ("the second ideal is not monomial."); 1071 return (-1);1072 1077 } 1073 1078 else … … 2652 2657 } 2653 2658 // Generico 2654 sizI = size(I);2659 sizI = ncols(I); 2655 2660 if (genericlist[1] == 0) 2656 2661 { … … 3080 3085 { 3081 3086 expartI = leadexp(artI[1]); 3082 if ( size(artI) <> 1)3083 { 3084 artI = artI[2.. size(artI)];3087 if (ncols(artI) <> 1) 3088 { 3089 artI = artI[2..ncols(artI)]; 3085 3090 } 3086 3091 // Hay que distinguir T_1 y T_2. Para ello se comparar vectores … … 3553 3558 { 3554 3559 artI = sort(artI)[1]; 3555 int sizartI = size(artI);3560 int sizartI = ncols(artI); 3556 3561 for (i = 1 ; i <= sizartI - 1 ; i ++) 3557 3562 { … … 3577 3582 poly comp; 3578 3583 intvec exp; 3579 int sizIrred = size(irredDec);3584 int sizIrred = ncols(irredDec); 3580 3585 ideal auxIdeal; 3581 3586 for (i = 1 ; i <= sizIrred ; i ++) … … 3634 3639 (returns -1 if I is not a monomial ideal). 3635 3640 ASSUME: I is a monomial ideal of the basering k[x(1)..x(n)]. 3636 NOTE: This procesure returns the irreducible decomposition of I. 3641 NOTE: This procedure returns the irreducible decomposition of I, 3642 i.e., the unique irredundant decomposition of I into irreducible 3643 monomial ideals. 3637 3644 One may call the procedure with different algorithms using 3638 3645 the optional argument 'alg': … … 3739 3746 (returns -1 if I is not a monomial ideal). 3740 3747 ASSUME: I is a monomial ideal of the basering k[x(1)..x(n)]. 3741 NOTE: This proce sure returns a minimal primary decomposition of I.3748 NOTE: This procedure returns a minimal primary decomposition of I. 3742 3749 One may call the procedure with different algorithms using 3743 3750 the optional argument 'alg':
Note: See TracChangeset
for help on using the changeset viewer.