Changeset 0be039 in git for Singular/LIB/fpaprops.lib


Ignore:
Timestamp:
Mar 16, 2018, 6:27:45 PM (6 years ago)
Author:
Karim Abou Zeid <karim23697@…>
Branches:
(u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
Children:
52ac0882b123798821765bb16d5ba4b371ced4cd
Parents:
95a42a2dacdcadb5c004cb3520b5c252dfe8e784df09c0184ffc4aaf31c02b8691e68734f25fc3b3
Message:
Merge branch 'lpDivision' into stable
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/fpaprops.lib

    rdf09c0 r0be039  
    1919PROCEDURES:
    2020  lpNoetherian(<GB>);     check whether A/<GB> is (left/right) noetherian
    21   lpIsSemiPrime(<GB>);    check whether A/<GB> is semi prime
    22   lpIsPrime(<GB>);        check whether A/<GB> is prime
     21  lpIsSemiPrime(<GB>);    check whether A/<LM(GB)> is semi prime
     22  lpIsPrime(<GB>);        check whether A/<LM(GB)> is prime
    2323  lpGkDim(<GB>);          compute the Gelfand Kirillov dimension of A/<GB>
    2424  lpGlDimBound(<GB>);     compute an upper bound for the global dimension of A/<GB>
     
    3737@*      2 right noetherian
    3838@*      3 noetherian
    39 PURPOSE: Check whether R/<G> is (left/right) noetherian, where R is the basering
     39PURPOSE: Check whether A/<G> is (left/right) noetherian
    4040ASSUME: - basering is a Letterplace ring
    4141@*      - G is a Groebner basis
     
    108108  return (3 - inFlag - outFlag);
    109109}
    110 example {
     110example
     111{
    111112  "EXAMPLE:"; echo = 2;
    112113  ring r = 0,(x,y),dp;
     
    198199"USAGE: lpIsSemiPrime(G); G an ideal in a Letterplace ring
    199200RETURN: boolean
    200 PURPOSE: Check whether R/<G> is semi prime, where R is the basering
     201PURPOSE: Check whether A/<LM(G)> is semi prime, that is when p * (A/<LM(G)>) * p != 0 for all p in (A/<LM(G)> - {0}).
    201202ASSUME: - basering is a Letterplace ring
    202203      - G is a Groebner basis
     
    249250  return (1);
    250251}
    251 example {
     252example
     253{
    252254  "EXAMPLE:"; echo = 2;
    253255  ring r = 0,(x1,x2),dp;
     
    298300"USAGE: lpIsPrime(G); G an ideal in a Letterplace ring
    299301RETURN: boolean
    300 PURPOSE: Check whether R/<G> is prime, where R is the basering
     302PURPOSE: Check whether A/<LM(G)> is prime, that is when p1 * (A/<LM(G)>) * p2 != 0 for all p1, p2 in (A/<LM(G)> - {0}).
    301303ASSUME: - basering is a Letterplace ring
    302304      - G is a Groebner basis
     
    362364  return (1);
    363365}
    364 example {
     366example
     367{
    365368  "EXAMPLE:"; echo = 2;
    366369  ring r = 0,(x,y),dp;
     
    681684  return (UG);
    682685}
    683 example {
     686example
     687{
    684688  "EXAMPLE:"; echo = 2;
    685689  ring r = 0,(x,y,z),dp;
     
    10471051    for (int j = 1; j <= size(ivfi); j++) {
    10481052      int varindex = ivfi[j];
    1049       int subindex = lpIndexOf(s1, var(varindex));
    1050       if (subindex > 0) {
    1051         s2[subindex] = lpNF(s2[subindex],G);
    1052         fis = lpMult(fis, s2[subindex]);
    1053       } else {
    1054         fis = lpMult(fis, lpNF(iv2lp(varindex),G));
    1055       }
    1056       /*fis = lpNF(fis,G);*/
    1057       kill varindex; kill subindex;
     1053      if (varindex > 0) {
     1054        int subindex = lpIndexOf(s1, var(varindex));
     1055        if (subindex > 0) {
     1056          s2[subindex] = lpNF(s2[subindex],G);
     1057          fis = lpMult(fis, s2[subindex]);
     1058        } else {
     1059          fis = lpMult(fis, lpNF(iv2lp(varindex),G));
     1060        }
     1061        /*fis = lpNF(fis,G);*/
     1062        kill subindex;
     1063      }
     1064      kill varindex;
    10581065    } kill j;
    10591066    kill ivfi;
     
    10651072  return (fs);
    10661073}
    1067 example {
     1074example
     1075{
     1076  "EXAMPLE:"; echo = 2;
    10681077  //////// EXAMPLE A ////////
    10691078  ring r = 0,(x,y,z),dp;
     
    11441153    for (int j = 1; j <= size(ivfi); j++) {
    11451154      int varindex = ivfi[j];
    1146       int subindex = lpIndexOf(s1, var(varindex));
    1147       if (subindex > 0) {
    1148         tmpDegBound = tmpDegBound + deg(s2[subindex]);
    1149       } else {
    1150         tmpDegBound = tmpDegBound + 1;
    1151       }
    1152       kill varindex; kill subindex;
     1155      if (varindex > 0) {
     1156        int subindex = lpIndexOf(s1, var(varindex));
     1157        if (subindex > 0) {
     1158          tmpDegBound = tmpDegBound + deg(s2[subindex]);
     1159        } else {
     1160          tmpDegBound = tmpDegBound + 1;
     1161        }
     1162        kill subindex;
     1163      }
     1164      kill varindex;
    11531165    } kill j;
    11541166    if (tmpDegBound > maxDegBound) {
     
    11601172  // increase degbound by 50% when ideal is provided
    11611173  // needed for lpNF
    1162   maxDegBound = maxDegBound + maxDegBound/2;
     1174  maxDegBound = maxDegBound + (maxDegBound div 2);
    11631175
    11641176  return (maxDegBound);
    11651177}
    1166 example {
     1178example
     1179{
    11671180  // see lpSubstitute()
    11681181}
     
    11871200  return (maxDegBound);
    11881201}
    1189 example {
     1202example
     1203{
    11901204  // see lpSubstitute()
    11911205}
Note: See TracChangeset for help on using the changeset viewer.