Changeset c31de1 in git
- Timestamp:
- Sep 16, 2019, 10:07:44 AM (5 years ago)
- Branches:
- (u'spielwiese', '4a9821a93ffdc22a6696668bd4f6b8c9de3e6c5f')
- Children:
- 87e6257aaa559cc34d7925dfa7e190c22a5ec62895585d33d07c3356a90d394382b62a2f48f713f1
- Parents:
- 82ca97cf422ca0d749d8aaf0e4046e362eb99bdca853df285d8d22e2cba18f1e83c01fb064e0ceed
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/chern.lib
r82ca97 rc31de1 190 190 def br@=basering; // remember the base ring 191 191 // add additional variables to the base ring 192 execute("ring r@= ("+ charstr(basering) +"),("+varstr(basering)+",c@(1..nV),A@(1..nV)), dp;" ); 192 int ii; 193 list l2 = ringlist(basering)[2]; 194 for (ii = 1; ii <= nV; ii++) 195 { 196 l2[size(l2)+1] = "c@("+string(ii)+")"; 197 } 198 for (ii = 1; ii <= nV; ii++) 199 { 200 l2[size(l2)+1] = "A@("+string(ii)+")"; 201 } 202 ring r@ = create_ring(ringlist(basering)[1], l2, "dp", "no_minpoly"); 193 203 execute( "map F= br@,"+varstr(br@)+";" ); // define the corresponding inclusion of rings 194 204 ideal V=F(V); … … 688 698 def br@=basering; // remember the base ring 689 699 // add additional variables c@, a@(1..n) to the base ring 690 execute("ring r@= (" + charstr(basering) + "),(c@,"+varstr(basering)+", a@(1..n)), lp;" ); 700 list l3 = "c@"; 701 l3 = l3+ ringlist(basering)[2]; 702 for (int ii = 1; ii <= n; ii++) 703 { 704 l3[size(l3)+1] = "a@("+string(ii)+")"; 705 } 706 ring r@ = create_ring(ringlist(basering)[1], l3, "lp", "no_minpoly"); 691 707 execute( "map F= br@,"+varstr(br@)+";" ); // define the corresponding inclusion of rings 692 708 list c=F(c); // embed c in the bigger ring … … 1018 1034 def br@=basering; // remember the base ring 1019 1035 // add additional variables a@(1..r), b@(1..R), x@ to the base ring 1020 execute("ring r@=("+ charstr(basering) +"),(x@,"+varstr(basering)+",a@(1..r),b@(1..R)), lp;"); 1036 int ii; 1037 list l4 = "x@"; 1038 l4 = l4+ ringlist(basering)[2]; 1039 for (ii = 1; ii <= r; ii++) 1040 { 1041 l4[size(l4)+1] = "a@("+string(ii)+")"; 1042 } 1043 for (ii = 1; ii <= R; ii++) 1044 { 1045 l4[size(l4)+1] = "b@("+string(ii)+")"; 1046 } 1047 ring r@ = create_ring(ringlist(basering)[1], l4, "lp", "no_minpoly"); 1021 1048 execute( "map F= br@,"+varstr(br@)+";" ); // define the corresponding inclusion of rings 1022 1049 list c=F(c); // embed c in the bigger ring … … 1101 1128 def br@=basering; // remember the base ring 1102 1129 // add additional variables to the base ring 1103 execute("ring r@=("+charstr(basering)+"), ("+varstr(basering)+", t@, c@(1..r), C@(1..R)), dp;"); 1130 int ii; 1131 list l5 = ringlist(basering)[2]; 1132 l5[size(l5)+1] = "t@"; 1133 for (ii = 1; ii <= r; ii++) 1134 { 1135 l5[size(l5)+1] = "c@("+string(ii)+")"; 1136 } 1137 for (ii = 1; ii <= R; ii++) 1138 { 1139 l5[size(l5)+1] = "C@("+string(ii)+")"; 1140 } 1141 ring r@ = create_ring(ringlist(basering)[1], l5, "dp", "no_minpoly"); 1104 1142 execute( "map F= br@,"+varstr(br@)+";" ); // define the corresponding inclusion of rings 1105 1143 list c, C; … … 1235 1273 def br@=basering; // remember the base ring 1236 1274 // add additional variables to the base ring 1237 execute("ring r@=("+charstr(basering)+"), ("+varstr(basering)+", t@, c@(1..r), C@(1..R)), dp;"); 1275 int ii; 1276 list l6 = ringlist(basering)[2]; 1277 l6[size(l6)+1] = "t@"; 1278 for (ii = 1; ii <= r; ii++) 1279 { 1280 l6[size(l6)+1] = "c@("+string(ii)+")"; 1281 } 1282 for (ii = 1; ii <= R; ii++) 1283 { 1284 l6[size(l6)+1] = "C@("+string(ii)+")"; 1285 } 1286 ring r@ = create_ring(ringlist(basering)[1], l6, "dp", "no_minpoly"); 1238 1287 execute( "map F= br@,"+varstr(br@)+";" ); // define the corresponding inclusion of rings 1239 1288 list c, C; … … 1571 1620 def br@=basering; // remember the base ring 1572 1621 // add additional variables to the base ring 1573 execute("ring r@=(" + charstr(basering) + "),(x@,"+varstr(basering)+", a@(1..r)), lp;" ); 1622 int ii; 1623 list l7 = "x@"; 1624 l7 = l7+ ringlist(basering)[2]; 1625 for (ii = 1; ii <= r; ii++) 1626 { 1627 l7[size(l7)+1] = "a@("+string(ii)+")"; 1628 } 1629 ring r@ = create_ring(ringlist(basering)[1], l7, "lp", "no_minpoly"); 1574 1630 execute( "map F= br@,"+varstr(br@)+";" ); // define the corresponding inclusion of rings 1575 1631 list c=F(c); // embed c into the bigger ring … … 1697 1753 def br@=basering; // remember the base ring 1698 1754 // add additional variables to the base ring 1699 execute("ring r@=(" + charstr(basering) + "), ("+varstr(basering)+", t@, c@(1..r)), dp;" ); 1755 list l8 = ringlist(basering)[2]; 1756 l8[size(l8)+1] = "t@"; 1757 for (int ii = 1; ii <= r; ii++) 1758 { 1759 l8[size(l8)+1] = "c@("+string(ii)+")"; 1760 } 1761 ring r@ = create_ring(ringlist(basering)[1], l8, "dp", "no_minpoly"); 1700 1762 execute( "map F= br@,"+varstr(br@)+";" ); // define the corresponding inclusion of rings 1701 1763 list c; … … 1863 1925 def br@=basering; // remember the base ring 1864 1926 // add additional variables a@(1..r), x@ to the base ring 1865 execute("ring r@= (" + charstr(basering) + "), (x@,"+varstr(basering)+", a@(1..r)), lp;" ); 1927 list l9 = "x@"; 1928 l9 = l9+ ringlist(basering)[2]; 1929 for (int ii = 1; ii <= r; ii++) 1930 { 1931 l9[size(l9)+1] = "a@("+string(ii)+")"; 1932 } 1933 ring r@ = create_ring(ringlist(basering)[1], l9, "lp", "no_minpoly"); 1866 1934 execute( "map F= br@,"+varstr(br@)+";" ); // define the corresponding inclusion of rings 1867 1935 list c = F(c); // embed c into the bigger ring … … 1991 2059 def br@=basering; // remember the base ring 1992 2060 // add additional variables to the base ring 1993 execute("ring r@=(" + charstr(basering) + "), ("+varstr(basering)+", t@, c@(1..r)), dp;" ); 2061 list l10 = ringlist(basering)[2]; 2062 l10[size(l10)+1] = "t@"; 2063 for (int ii = 1; ii <= r; ii++) 2064 { 2065 l10[size(l10)+1] = "c@("+string(ii)+")"; 2066 } 2067 ring r@ = create_ring(ringlist(basering)[1], l10, "dp", "no_minpoly"); 1994 2068 execute( "map F= br@,"+varstr(br@)+";" ); // define the corresponding inclusion of rings 1995 2069 list c; … … 2113 2187 def br@=basering; // remember the base ring 2114 2188 // add additional variables to the base ring 2115 execute("ring r@=(" + charstr(basering) + "), ("+varstr(basering)+", a@, c@(1..n)), dp;" ); 2189 list l11 = ringlist(basering)[2]; 2190 l11[size(l11)+1] = "a@"; 2191 for (int ii = 1; ii <= n; ii++) 2192 { 2193 l11[size(l11)+1] = "c@("+string(ii)+")"; 2194 } 2195 ring r@ = create_ring(ringlist(basering)[1], l11, "dp", "no_minpoly"); 2116 2196 execute( "map F= br@,"+varstr(br@)+";" ); // define the corresponding inclusion of rings 2117 2197 list c=F(c); // embed c into the bigger ring … … 2195 2275 def br@=basering; // remember the base ring 2196 2276 // add additional variables a@(1..n), x@ to the base ring 2197 execute("ring r@=(" + charstr(basering) + "), (x@,"+varstr(basering)+", a@(1..n)), lp;" ); 2277 list l12 = "x@"; 2278 l12 = l12+ ringlist(basering)[2]; 2279 for (int ii = 1; ii <= n; ii++) 2280 { 2281 l12[size(l12)+1] = "a@("+string(ii)+")"; 2282 } 2283 ring r@ = create_ring(ringlist(basering)[1], l12, "lp", "no_minpoly"); 2198 2284 execute( "map F= br@,"+varstr(br@)+";" ); // define the corresponding inclusion of rings 2199 2285 list c=F(c); // embed c into the bigger ring … … 3076 3162 def br@=basering; // remember the base ring 3077 3163 // add additional variables t@(1), ... , t@(sz) and u@ to the base ring 3078 execute("ring r@=("+ charstr(basering) +"),("+varstr(basering)+",t@(1..sz),u@), dp;"); 3164 list l13 = ringlist(basering)[2]; 3165 for (int ii = 1; ii <= sz; ii++) 3166 { 3167 l13[size(l13)+1] = "t@("+string(ii)+")"; 3168 } 3169 l13[size(l13)+1] = "u@"; 3170 ring r@ = create_ring(ringlist(basering)[1], l13, "dp", "no_minpoly"); 3079 3171 execute( "map F= br@,"+varstr(br@)+";" ); // define the corresponding inclusion of rings 3080 3172 ideal I=F(I); // the ideal generated by I in the new ring … … 3170 3262 def br@=basering; // remember the base ring 3171 3263 // add additional variables t@(1), ... , t@(sz) and u@ to the base ring 3172 execute("ring r@=("+ charstr(basering) +"),("+varstr(basering)+",t@(1..sz),u@), dp;"); 3264 list l14 = ringlist(basering)[2]; 3265 for (int ii = 1; ii <= sz; ii++) 3266 { 3267 l14[size(l14)+1] = "t@("+string(ii)+")"; 3268 } 3269 l14[size(l14)+1] = "u@"; 3270 ring r@ = create_ring(ringlist(basering)[1], l14, "dp", "no_minpoly"); 3173 3271 execute( "map F= br@,"+varstr(br@)+";" ); // define the corresponding inclusion of rings 3174 3272 ideal I=F(I); // the ideal generated by I in the new ring … … 3883 3981 int sz=ncols(I); 3884 3982 def br@=basering; // remember the base ring 3885 execute("ring r@=("+ charstr(basering) +"),("+varstr(basering)+",t@(1..sz),u@), dp;"); 3983 list l15 = ringlist(basering)[2]; 3984 for (int ii = 1; ii <= sz; ii++) 3985 { 3986 l15[size(l15)+1] = "t@("+string(ii)+")"; 3987 } 3988 l15[size(l15)+1] = "u@"; 3989 ring r@ = create_ring(ringlist(basering)[1], l15, "dp", "no_minpoly"); 3886 3990 execute( "map F= br@,"+varstr(br@)+";" ); // define the corresponding inclusion of rings 3887 3991 ideal I=F(I); -
Singular/LIB/finvar.lib
r82ca97 rc31de1 7192 7192 int m=ncols(F); 7193 7193 string mp=string(minpoly); 7194 execute("ring R=("+charstr(br)+"),("+varstr(br)+",y(1..m)),dp;"); 7194 list l2 = ringlist(br)[2]; 7195 for (int ii = 1; ii <= m; ii++) 7196 { 7197 l2[size(l2)+1] = "y("+string(ii)+")"; 7198 } 7199 ring R = create_ring(ringlist(br)[1], l2, "dp", "no_minpoly"); 7195 7200 if (mp!="0") 7196 7201 { execute("minpoly=number("+mp+");"); } … … 7414 7419 int m=ncols(F); 7415 7420 string mp=string(minpoly); 7416 execute("ring R=("+charstr(br)+"),("+varstr(br)+",y(1..m)),lp;"); 7421 list l2 = ringlist(br)[2]; 7422 for (int ii = 1; ii <= m; ii++) 7423 { 7424 l2[size(l2)+1] = "y("+string(ii)+")"; 7425 } 7426 ring R = create_ring(ringlist(br)[1], l2, "lp", "no_minpoly"); 7417 7427 if (mp!="0") 7418 7428 { execute("minpoly=number("+mp+");"); } -
Singular/LIB/graal.lib
r82ca97 rc31de1 358 358 else 359 359 { string pars; string vars = varstr(basering); } 360 ring Q0 = create_ring("("+charstr(basering)+pars+")", "("+vars+")", "dp");360 execute("ring Q0 = ("+charstr(basering)+pars+"),("+vars+"),dp;"); 361 361 ideal J0 = imap(Q,J); 362 362 Gr.Q0 = Q0; … … 404 404 string ostring = ordstr(basering); 405 405 ostring = ostring[1..size(ostring)-2]; 406 list l2; 407 for (int ii = 1; ii <= s; ii++) 408 { 409 l2[ii] = "Y("+string(ii)+")"; 410 } 411 l2[s+1] = ringlist(basering)[2]; 406 412 execute("ring Q0y = ("+charstr(basering)+"),(Y(1..s),"+varstr(basering)+"),(ds(s),c,"+ostring+")"); 407 413 setring Q0y; -
Singular/LIB/hnoether.lib
r82ca97 rc31de1 2736 2736 string strmip=string(minpoly); 2737 2737 string strf=string(f); 2738 execute("ring tempr=("+string(char(basering))+","+parstr(basering)+"),(" 2739 +varstr(basering)+"),dp;"); 2738 ring tempr = create_ring("("+string(char(basering))+","+parstr(basering)+")", "("+varstr(basering)+")", "dp"); 2740 2739 execute("minpoly="+strmip+";"); 2741 2740 execute("poly f="+strf+";"); -
Singular/LIB/ncalg.lib
r82ca97 rc31de1 595 595 int @d = nrows(A); 596 596 int n = ncols(A); 597 execute("ring r1=0,(d(1..n)),"+sord+";"); 597 list l2; 598 int ii; 599 for (ii = 1; ii <= n; ii++) 600 { 601 l2[ii] = "d("+string(ii)+")"; 602 } 603 ring r1 = create_ring(0, l2, sord); 598 604 ideal I0; 599 605 if (size(#)==0) … … 614 620 } 615 621 } 616 string sord2 = "(a(0:" + string(n) + ")," + sord + ")"; 617 execute("ring GR = (0,b(1..@d)),(x(1..n),d(1..n)),"+sord2+";"); 622 string l3 = "(0"; 623 for (ii = 1; ii <= @d; ii++) 624 { 625 l3 = l3+",b("+string(ii)+")"; 626 } 627 l3 = l3+")"; 628 list l4; 629 for (ii = 1; ii <= n; ii++) 630 { 631 l4[ii] = "x("+string(ii)+")"; 632 l4[n+ii] = "d("+string(ii)+")"; 633 } 634 string sord2 = "(a(0"; 635 for (ii = 2; ii <= n; ii++) 636 { 637 sord2 = sord2 + ",0"; 638 } 639 sord2 = sord2 + ")," + sord + ")"; 640 ring GR = create_ring(l3, l4, sord2); 618 641 def W=Weyl(); setring W; 619 642 kill GR; -
Singular/LIB/poly.lib
r82ca97 rc31de1 740 740 else 741 741 { 742 execute("ring R=("+charstr(br)+"),(@z,@x(1..n)),(dp(1),"+ordstr(br)+");"); 742 list l2 = "@z"; 743 for (int ii = 1; ii <= n; ii++) 744 { 745 l2[ii+1] = "@x("+string(ii)+")"; 746 } 747 ring R = create_ring(ringlist(br)[1], l2, "(dp(1),"+ordstr(br)+")", "no_minpoly"); 743 748 } 744 749 if (mp!="0") -
Singular/LIB/resolve.lib
r82ca97 rc31de1 666 666 //--------------------------------------------------------------------------- 667 667 //--- control the names of the variables 668 execute("ring R=("+charstr(R0)+"),(x(1..n)),dp;"); 668 list l2; 669 int ii; 670 for (ii = 1; ii <= n; ii++) 671 { 672 l2[ii] = "x("+string(ii)+")"; 673 } 674 ring R = create_ring(ringlist(R0)[1], l2, "dp", "no_minpoly"); 669 675 list BO=fetch(R1,BO); 670 676 ideal C=fetch(R1,C); … … 706 712 //to have the list depending on R in case BO[4] is empty 707 713 708 execute("ring S=("+charstr(R)+"),("+varstr(R)+",y(0..s-1)),dp;"); 714 l2 = ringlist(R)[2]; 715 for (ii = 0; ii <= s-1; ii++) 716 { 717 l2[size(l2)+1] = "y("+string(ii)+")"; 718 } 719 ring S = create_ring(ringlist(R)[1], l2, "dp", "no_minpoly"); 709 720 list resu; 710 721 list B; 711 execute("ring T=("+charstr(R)+"),("+varstr(R)+",y(0..s-1),t),dp;"); 722 l2 = ringlist(R)[2]; 723 for (ii = 0; ii <= s-1; ii++) 724 { 725 l2[size(l2)+1] = "y("+string(ii)+")"; 726 } 727 l2[size(l2)+1] = "t"; 728 ring T = create_ring(ringlist(R)[1], l2, "dp", "no_minpoly"); 712 729 ideal C=imap(R,C); 713 730 ideal W=imap(R,W); -
Singular/iparith.cc
ra853df rc31de1 2563 2563 int ul= IDELEMS((ideal)u->Data()); 2564 2564 int vl= IDELEMS((ideal)v->Data()); 2565 #ifdef HAVE_SHIFTBBA 2566 if (rIsLPRing(currRing)) 2567 { 2568 if (currRing->LPncGenCount < ul) 2569 { 2570 Werror("At least %d ncgen variables are needed for this computation.", ul); 2571 return TRUE; 2572 } 2573 } 2574 #endif 2565 2575 ideal m = idLift((ideal)u->Data(),(ideal)v->Data(),NULL,FALSE, 2566 2576 hasFlag(u,FLAG_STD)); … … 2573 2583 if ((v->rtyp!=IDHDL)||(v->e!=NULL)) return TRUE; 2574 2584 idhdl h=(idhdl)v->data; 2585 #ifdef HAVE_SHIFTBBA 2586 if (rIsLPRing(currRing)) 2587 { 2588 if (currRing->LPncGenCount < IDELEMS((ideal)u->Data())) 2589 { 2590 Werror("At least %d ncgen variables are needed for this computation.", IDELEMS((ideal)u->Data())); 2591 return TRUE; 2592 } 2593 } 2594 #endif 2575 2595 // CopyD for IDEAL_CMD and MODUL_CMD are identical: 2576 2596 res->data = (char *)idLiftStd((ideal)u->Data(), … … 6772 6792 int ul= IDELEMS((ideal)u->Data()); 6773 6793 int vl= IDELEMS((ideal)v->Data()); 6794 #ifdef HAVE_SHIFTBBA 6795 if (rIsLPRing(currRing)) 6796 { 6797 if (currRing->LPncGenCount < ul) 6798 { 6799 Werror("At least %d ncgen variables are needed for this computation.", ul); 6800 return TRUE; 6801 } 6802 } 6803 #endif 6774 6804 ideal m 6775 6805 = idLift((ideal)u->Data(),(ideal)v->Data(),NULL,FALSE,hasFlag(u,FLAG_STD), … … 6785 6815 idhdl hv=(idhdl)v->data; 6786 6816 idhdl hw=(idhdl)w->data; 6817 #ifdef HAVE_SHIFTBBA 6818 if (rIsLPRing(currRing)) 6819 { 6820 if (currRing->LPncGenCount < IDELEMS((ideal)u->Data())) 6821 { 6822 Werror("At least %d ncgen variables are needed for this computation.", IDELEMS((ideal)u->Data())); 6823 return TRUE; 6824 } 6825 } 6826 #endif 6787 6827 // CopyD for IDEAL_CMD and MODUL_CMD are identical: 6788 6828 res->data = (char *)idLiftStd((ideal)u->Data(), -
Singular/table.h
r82ca97 rc31de1 286 286 #if defined(HAVE_PLURAL) || defined(HAVE_SHIFTBBA) 287 287 ,{D(jjTWOSTD), TWOSTD_CMD, IDEAL_CMD, IDEAL_CMD , ALLOW_NC |NO_RING} 288 #endif 289 #ifdef HAVE_SHIFTBBA 290 ,{D(jjTWOSTD), TWOSTD_CMD, MODUL_CMD, MODUL_CMD , ALLOW_LP |NO_RING} 288 291 #endif 289 292 //,{ jjWRONG , TRACE_CMD, 0, INTVEC_CMD , ALLOW_NC |ALLOW_RING} -
kernel/ideals.cc
ra853df rc31de1 1080 1080 pSetComp(q,k+1+j); 1081 1081 pSetmComp(q); 1082 while (pNext(p)) pIter(p); 1083 pNext(p) = q; 1082 #ifdef HAVE_SHIFTBBA 1083 // non multiplicative variable 1084 if (rIsLPRing(currRing)) 1085 { 1086 pSetExp(q, currRing->isLPring - currRing->LPncGenCount + j + 1, 1); 1087 p_Setm(q, currRing); 1088 s_temp->m[j] = pAdd(p, q); 1089 } 1090 else 1091 #endif 1092 { 1093 while (pNext(p)) pIter(p); 1094 pNext(p) = q; 1095 } 1084 1096 } 1085 1097 } -
libpolys/polys/clapsing.cc
r82ca97 rc31de1 68 68 } 69 69 } 70 else 70 else 71 71 if (rField_is_Q(r)) 72 72 {
Note: See TracChangeset
for help on using the changeset viewer.