Changeset d8d3af in git
- Timestamp:
- May 8, 2000, 5:51:55 PM (23 years ago)
- Branches:
- (u'spielwiese', '0d6b7fcd9813a1ca1ed4220cfa2b104b97a0a003')
- Children:
- 62e2d6009f561be67e002fef8503d15b30c4f8c4
- Parents:
- 33c96aa0ca7b10d8e8b1b12a0b0bb5abaad3da9d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/primdec.lib
r33c96a rd8d3af 1 // $Id: primdec.lib,v 1.5 7 2000-05-08 10:07:48pfister Exp $1 // $Id: primdec.lib,v 1.58 2000-05-08 15:51:55 pfister Exp $ 2 2 /////////////////////////////////////////////////////////////////////////////// 3 3 // primdec.lib // … … 11 11 /////////////////////////////////////////////////////////////////////////////// 12 12 13 version="$Id: primdec.lib,v 1.5 7 2000-05-08 10:07:48pfister Exp $";13 version="$Id: primdec.lib,v 1.58 2000-05-08 15:51:55 pfister Exp $"; 14 14 info=" 15 15 LIBRARY: primdec.lib PROCEDURES FOR PRIMARY DECOMPOSITION … … 1764 1764 } 1765 1765 /////////////////////////////////////////////////////////////////////////////// 1766 proc equidim(ideal i )1766 proc equidim(ideal i,list #) 1767 1767 "USAGE: equidim(i); i ideal 1768 1768 RETURN: list = list of equidimensional ideals a1,...,as such that … … 1775 1775 intvec w; 1776 1776 int n; 1777 ideal te=1; 1777 1778 int a=attrib(i,"isSB"); 1778 1779 int homo=homog(i); 1779 1780 if(size(#)!=0) 1781 { 1782 te=#[1]; 1783 } 1780 1784 if(((homo==1)||(a==1))&&(find(ordstr(basering),"l")==0) 1781 1785 &&(find(ordstr(basering),"s")==0)) … … 1800 1804 ideal j=groebner(i); 1801 1805 } 1806 1807 ideal te=imap(P,te); 1802 1808 list equ,equi,indep; 1803 1809 if(homo==1) … … 1817 1823 1818 1824 indep=maxIndependSet(j); 1825 1819 1826 string va=string(maxideal(1)); 1827 1820 1828 execute "ring gnir1 = ("+charstr(basering)+"),("+indep[1][1]+"),(" 1821 1829 +indep[1][2]+");"; 1822 execute "map phi=gnir,"+va+";";1823 1830 if(homo==1) 1824 1831 { 1825 ideal j=std( phi(i),hil,w);1832 ideal j=std(imap(gnir,i),hil,w); 1826 1833 } 1827 1834 else 1828 1835 { 1829 ideal j=groebner( phi(i));1836 ideal j=groebner(imap(gnir,i)); 1830 1837 } 1831 1838 string quotring=prepareQuotientring(nvars(basering)-indep[1][3]); 1839 1832 1840 execute quotring; 1841 1833 1842 ideal j=imap(gnir1,j); 1843 1834 1844 kill gnir1; 1835 1845 j=clearSB(j); … … 1843 1853 ideal h=imap(quring,h); 1844 1854 kill quring; 1845 1846 1855 list l=minSat(j,h); 1856 1847 1857 equ[1]=l[1]; 1848 1858 attrib(equ[1],"isSB",1); 1849 1859 1860 if(size(reduce(te,equ[1]))==0) 1861 { 1862 equ[1]=ideal(1); 1863 attrib(equ[1],"isSB",1); 1864 } 1865 else 1866 { 1867 te=intersect(te,equ[1]); 1868 } 1869 1850 1870 j=std(j,l[2]); 1851 1871 1852 equi=equidim(j );1872 equi=equidim(j,te); 1853 1873 attrib(equi[1],"isSB",1); 1854 1874
Note: See TracChangeset
for help on using the changeset viewer.