Changeset ab8937 in git


Ignore:
Timestamp:
Mar 17, 2009, 5:48:31 PM (15 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
Children:
4719f01c274a8a357e9e557302db0d2f24ff396f
Parents:
a8301332fef1b5e1c3b4d9866ef452648141b21e
Message:
*hannes: fix return value of decomp(i,3) in all cases


git-svn-id: file:///usr/local/Singular/svn/trunk@11566 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/primdec.lib

    ra830133 rab8937  
    11///////////////////////////////////////////////////////////////////////////////
    2 version="$Id: primdec.lib,v 1.141 2008-11-12 17:37:30 Singular Exp $";
     2version="$Id: primdec.lib,v 1.142 2009-03-17 16:48:31 Singular Exp $";
    33category="Commutative Algebra";
    44info="
     
    26772677   return(re);
    26782678}
    2679 
     2679///////////////////////////////////////////////////////////////////////////////
     2680static proc prepare_absprimdec(list primary)
     2681{
     2682  list resu,tempo;
     2683  string absotto;
     2684  resu[size(primary)/2]=list();
     2685  for(int ab=1;ab<=size(primary)/2;ab++)
     2686  {
     2687    absotto= absFactorize(primary[2*ab][1],77);
     2688    tempo=primary[2*ab-1],primary[2*ab],absotto,string(var(nvars(basering)));
     2689    resu[ab]=tempo;
     2690  }
     2691  return(resu);
     2692}
    26802693///////////////////////////////////////////////////////////////////////////////
    26812694static proc decomp(ideal i,list #)
     
    27512764        l[1]=maxideal(1);
    27522765        l[2]=maxideal(1);
     2766        if (abspri) { return(prepare_absprimdec(l));}
    27532767        return(l);
    27542768      }
     2769      if (abspri) { return(prepare_absprimdec(primary));}
    27552770      return(primary);
    27562771    }
     
    27702785  {
    27712786    primary=i,i;
     2787    if (abspri) { return(prepare_absprimdec(primary));}
    27722788    return(primary);
    27732789  }
     
    28362852      primary[1]=i;
    28372853      primary[2]=i;
     2854      if (abspri) { return(prepare_absprimdec(primary));}
    28382855      return(primary);
    28392856    }
     
    28792896      }
    28802897      setring @P;
     2898      if (abspri) { return(prepare_absprimdec(imap(gnir,pr)));}
    28812899      return(imap(gnir,pr));
    28822900    }
     
    28902908    setring @P;
    28912909    primary=ideal(1),ideal(1);
     2910    if (abspri) { return(prepare_absprimdec(primary));}
    28922911    return(primary);
    28932912  }
     
    29182937
    29192938//HIER
    2920     if(abspri)
    2921     {
    2922       list resu,tempo;
    2923       string absotto;
    2924       for(ab=1;ab<=size(primary)/2;ab++)
    2925       {
    2926         absotto= absFactorize(primary[2*ab][1],77);
    2927         tempo=primary[2*ab-1],primary[2*ab],absotto,string(var(nvars(basering)));
    2928         resu[ab]=tempo;
    2929       }
    2930       primary=resu;
    2931     }
     2939    if (abspri) { return(prepare_absprimdec(primary));}
    29322940    return(primary);
    29332941  }
     
    29872995      primary=imap(gnir,primary);
    29882996    }
     2997    if (abspri) { return(prepare_absprimdec(primary));}
    29892998    return(primary);
    29902999  }
     
    36503659    primary=cleanPrimary(primary);
    36513660  }
     3661  else { return(prepare_absprimdec(primary));}
    36523662  return(primary);
    36533663}
     
    51705180  int n=nvars(R);
    51715181  list L=decomp(I,3);
    5172   string newvar=L[1][3];
     5182  L;
     5183  string newvar=string(L[1][3]);
    51735184  int k=find(newvar,",",find(newvar,",")+1);
    51745185  newvar=newvar[k+1..size(newvar)];
Note: See TracChangeset for help on using the changeset viewer.