Changeset c2868b in git
- Timestamp:
- May 9, 2000, 3:26:10 PM (23 years ago)
- Branches:
- (u'spielwiese', '0d6b7fcd9813a1ca1ed4220cfa2b104b97a0a003')
- Children:
- b1926022497677c8d2f91e7c017f1c7a2317bc9a
- Parents:
- 8cd4dfcd0c10c84e83c8f1397608fde5aad6a384
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/primdec.lib
r8cd4df rc2868b 1 // $Id: primdec.lib,v 1.5 8 2000-05-08 15:51:55pfister Exp $1 // $Id: primdec.lib,v 1.59 2000-05-09 13:26:10 pfister Exp $ 2 2 /////////////////////////////////////////////////////////////////////////////// 3 3 // primdec.lib // … … 11 11 /////////////////////////////////////////////////////////////////////////////// 12 12 13 version="$Id: primdec.lib,v 1.5 8 2000-05-08 15:51:55pfister Exp $";13 version="$Id: primdec.lib,v 1.59 2000-05-09 13:26:10 pfister Exp $"; 14 14 info=" 15 15 LIBRARY: primdec.lib PROCEDURES FOR PRIMARY DECOMPOSITION … … 1807 1807 ideal te=imap(P,te); 1808 1808 list equ,equi,indep; 1809 int b; 1809 1810 if(homo==1) 1810 1811 { … … 1817 1818 if ((dim(j)==-1)||(size(j)==0)||(nvars(basering)==1)||(dim(j)==0)) 1818 1819 { 1820 if((size(reduce(te,j))==0)&&(deg(te[1])>0)) 1821 { 1822 setring P; 1823 return(eq); 1824 } 1819 1825 setring P; 1826 i=imap(gnir,j); 1820 1827 eq=i; 1821 1828 return(eq); … … 1855 1862 list l=minSat(j,h); 1856 1863 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 } 1865 1879 else 1866 1880 { 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 1890 1885 setring P; 1891 eq=imap(gnir,equ); 1886 if(b!=0) 1887 { 1888 eq=imap(gnir,equi); 1889 } 1892 1890 kill gnir; 1893 1891 return(eq);
Note: See TracChangeset
for help on using the changeset viewer.