Changeset 120c9b1 in git


Ignore:
Timestamp:
Feb 17, 2014, 5:56:58 PM (10 years ago)
Author:
Jakob Kröker <kroeker@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'b52fc4b2495505785981d640dcf7eb3e456778ef')
Children:
8f26085572bdbfac4561a9322ebb192165ecda95
Parents:
db6ce3d65adb7660eb3d95e0cdf88acac26736e8
git-author:
Jakob Kröker <kroeker@math.uni-hannover.de>2014-02-17 17:56:58+01:00
git-committer:
Jakob Kröker <kroeker@math.uni-hannover.de>2014-02-17 19:01:24+01:00
Message:
fix for bug 527 and correct return data structure in case zero ideal is passed to primdecZ
Files:
3 added
2 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/primdecint.lib

    rdb6ce3 r120c9b1  
    4242"
    4343{
    44    if(size(I)==0){return(list(ideal(0),ideal(0)));}
     44   if(size(I)==0){return(list(list(ideal(0),ideal(0))));}
    4545
    4646//--------------------  Initialize optional parameters  ------------------------
     
    9797
    9898      list A;
     99      A[1]= ideal(0);
    99100      ideal J = imap(R,J);
    100101
     
    184185         "A is computed in "+string(rtimer - RT)+" seconds.";
    185186      }
    186       for(i=1;i<=size(A);i++)
     187      for(i=2;i<=size(A);i++)
    187188      {
    188189      //=== computes for all p in L the minimal associated primes of
     
    944945   setring Rp;
    945946   ideal J = imap(R,J);
     947   int sizeA;
    946948   if(nu > 1)
    947949   {
    948950      //=== p is of multiplicity > 1 in q
    949       list A = minAssGTZ(J);
    950       setring R;
    951       list A = imap(Rp,A);
    952       return(list(A,p,nu));
     951      list A = minAssGTZ(J);   
    953952   }
    954953   else
    955954   {
    956955      list A = primdecGTZ(J);
    957       setring R;
    958       list A = imap(Rp,A);
    959       return(list(A,p,nu));
    960    }
     956   }
     957   sizeA = size(A);     
     958   setring R;
     959   list A;
     960   if (sizeA>0)   {  A = imap(Rp,A);    }
     961   return(list(A,p,nu));
    961962}
    962963
     
    11001101         {
    11011102            list C;
     1103            C[1]= ideal(0); //add dummy entry to tie C to current ring
    11021104            int i;
    11031105            for(i=1;i<=size(I);i++)
    11041106            {
    1105                C[i]=I[i];
     1107               C[i+1]=I[i];
    11061108            }
    11071109         }
     
    11141116            ideal I=imap(Shelp,I);
    11151117            list C;
     1118            C[1]= ideal(0); //add dummy entry to tie C to current ring
    11161119            int i;
    11171120            for(i=1;i<=size(I);i++)
    11181121            {
    1119                C[i]=leadcoef(I[i]);
     1122               C[i+1]=leadcoef(I[i]);
    11201123            }
    11211124            setring Shelp;
     
    11291132         I=stdZ(I);
    11301133         list C;
     1134         C[1]= ideal(0); //add dummy entry to tie C to current ring
    11311135         int i;
    11321136         for(i=1;i<=size(I);i++)
    11331137         {
    1134             C[i]=I[i];
     1138            C[i+1]=I[i];
    11351139         }
    11361140         list rl=ringlist(R);
     
    11391143      }
    11401144      poly h=1;
    1141       for(i=1;i<=size(C);i++)
     1145      for(i=2;i<=size(C);i++) // leave out first dummy entry in C.
    11421146      {
    11431147         if(deg(C[i])>0){h=h*C[i];}  // das muss noch besser gemacht werden,
  • Tst/Short.lst

    rdb6ce3 r120c9b1  
    5252Short/bug_52.tst
    5353Short/bug_526.tst
     54Short/bug_527_s.tst
    5455Short/bug_53.tst
    5556Short/bug_54.tst
Note: See TracChangeset for help on using the changeset viewer.