Changeset c2868b in git for Singular/LIB/primdec.lib


Ignore:
Timestamp:
May 9, 2000, 3:26:10 PM (24 years ago)
Author:
Gerhard Pfister <pfister@…>
Branches:
(u'spielwiese', '5b153614cbc72bfa198d75b1e9e33dab2645d9fe')
Children:
b1926022497677c8d2f91e7c017f1c7a2317bc9a
Parents:
8cd4dfcd0c10c84e83c8f1397608fde5aad6a384
Message:
bug in equidim entfernt


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

Legend:

Unmodified
Added
Removed
  • Singular/LIB/primdec.lib

    r8cd4df rc2868b  
    1 // $Id: primdec.lib,v 1.58 2000-05-08 15:51:55 pfister Exp $
     1// $Id: primdec.lib,v 1.59 2000-05-09 13:26:10 pfister Exp $
    22///////////////////////////////////////////////////////////////////////////////
    33// primdec.lib                                                               //
     
    1111///////////////////////////////////////////////////////////////////////////////
    1212
    13 version="$Id: primdec.lib,v 1.58 2000-05-08 15:51:55 pfister Exp $";
     13version="$Id: primdec.lib,v 1.59 2000-05-09 13:26:10 pfister Exp $";
    1414info="
    1515LIBRARY: primdec.lib   PROCEDURES FOR PRIMARY DECOMPOSITION
     
    18071807  ideal te=imap(P,te);
    18081808  list equ,equi,indep;
     1809  int b;
    18091810  if(homo==1)
    18101811  {
     
    18171818  if ((dim(j)==-1)||(size(j)==0)||(nvars(basering)==1)||(dim(j)==0))
    18181819  {
     1820    if((size(reduce(te,j))==0)&&(deg(te[1])>0))
     1821    {
     1822      setring P;
     1823      return(eq);
     1824    }
    18191825    setring P;
     1826    i=imap(gnir,j);
    18201827    eq=i;
    18211828    return(eq);
     
    18551862  list l=minSat(j,h);
    18561863
    1857   equ[1]=l[1];
    1858   attrib(equ[1],"isSB",1);
    1859 
    1860   if(size(reduce(te,equ[1]))==0)
    1861   {
    1862     equ[1]=ideal(1);
    1863     attrib(equ[1],"isSB",1);
    1864   }
     1864  j=std(j,l[2]);
     1865  attrib(l[1],"isSB",1);
     1866  if(size(reduce(te,l[1]))!=0)
     1867  {
     1868    te=intersect(te,l[1]);
     1869    equi=equidim(j,te); 
     1870    if(dim(l[1])==dim(j))
     1871    {
     1872      equi[size(equi)]=intersect(l[1],equi[size(equi)]);
     1873    }
     1874    else
     1875    {
     1876      equi[size(equi)+1]=l[1];
     1877    }
     1878  }
    18651879  else
    18661880  {
    1867      te=intersect(te,equ[1]);
    1868   }
    1869  
    1870   j=std(j,l[2]);
    1871 
    1872   equi=equidim(j,te);
    1873   attrib(equi[1],"isSB",1);
    1874 
    1875   if(dim(equ[1])==dim(equi[1]))
    1876   {
    1877     equi[1]=intersect(equ[1],equi[1]);
    1878     equ=equi;
    1879   }
    1880   else
    1881   {
    1882      for(n=1;n<=size(equi);n++)
    1883      {
    1884        if(deg(equi[n][1])>0)
    1885        {
    1886          equ[size(equ)+1]=equi[n];
    1887        }
    1888     }
    1889   }
     1881    equi=equidim(j,te);
     1882  }
     1883  b=size(equi);
     1884
    18901885  setring P;
    1891   eq=imap(gnir,equ);
     1886  if(b!=0)
     1887  {
     1888    eq=imap(gnir,equi);
     1889  }
    18921890  kill gnir;
    18931891  return(eq);
Note: See TracChangeset for help on using the changeset viewer.