Changeset 251616 in git


Ignore:
Timestamp:
Jan 19, 2010, 1:32:29 PM (14 years ago)
Author:
Frank Seelisch <seelisch@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '38dfc5131670d387a89455159ed1e071997eec94')
Children:
f606dbe568a03055a3e4a029a6c71f831623fc9c
Parents:
3948a1e9c9fb36b2b3fdfb8b3583a4c89c99d271
Message:
Stefan Steidel: two procedures added in poly.lib

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

Legend:

Unmodified
Added
Removed
  • Singular/LIB/poly.lib

    r3948a1 r251616  
    88PROCEDURES:
    99 cyclic(int);           ideal of cyclic n-roots
     10 elemSymmId(int);       ideal of elementary symmetric polynomials
    1011 katsura([i]);          katsura [i] ideal
    1112 freerank(poly/...)     rank of coker(input) if coker is free else -1
     
    155156   substitute(I,v,f);
    156157}
     158
    157159///////////////////////////////////////////////////////////////////////////////
    158160proc cyclic (int n)
     
    183185   homog(cyclic(5),z);
    184186}
    185 ///////////////////////////////////////////////////////////////////////////////
    186 
     187
     188///////////////////////////////////////////////////////////////////////////////
     189proc elemSymmPoly(int d, int lindex, int hindex)
     190"USAGE:  elemSymmPoly(d,lindex,hindex); d,lindex,hindex integers
     191RETURN:  elementary symmetric polynomial of degree d for variables
     192@*       var(lindex),...,var(hindex) of basering
     193EXAMPLE: example elemSymmPoly; shows an example
     194"
     195{
     196 if(hindex - lindex + 1 < d)
     197 {
     198   int i = hindex - lindex + 1;
     199   "========================================================";
     200   "There is no elementary symmetric polynomial of degree "+string(d);
     201   "for just "+string(i)+" variables.";
     202   "========================================================";
     203   return(poly(0));
     204 }
     205 if(d == 0)
     206 {
     207   return(poly(1));
     208 }
     209 else
     210 {
     211   int i;
     212   poly p;
     213   for (i = lindex; i <=  hindex - d + 1; i++)
     214   {
     215     p = p + var(i) * elemSymmPoly(d - 1, i + 1, hindex);
     216   }
     217   return(p);
     218 }
     219}
     220example
     221{ "EXAMPLE:"; echo = 2;
     222  ring R = 0, (u,v,w,x,y,z), lp;
     223  elemSymmPoly(3,2,5);
     224  elemSymmPoly(6,1,6);
     225}
     226
     227//////////////////////////////////////////////////////////////////////////
     228proc elemSymmId(int n)
     229"USAGE:  elemSymmId(n); n integer
     230RETURN:  ideal of elementary symmetric polynomials for 1-st n
     231@*       variables of basering
     232EXAMPLE: example elemSymmId; shows an example
     233{
     234 int i;
     235 ideal symm;
     236 for(i = 1; i <= n; i++)
     237 {
     238   symm = symm + elemSymmPoly(i, 1, n);
     239 }
     240 return(symm);
     241}
     242example
     243{ "EXAMPLE:"; echo = 2;
     244  ring R = 0, (v,w,x,y,z), lp;
     245  elemSymmId(3);
     246  elemSymmId(nvars(basering));
     247}
     248
     249//////////////////////////////////////////////////////////////////////////
    187250proc katsura
    188251"USAGE: katsura([n]); n integer
Note: See TracChangeset for help on using the changeset viewer.