Changeset 927ed62 in git


Ignore:
Timestamp:
Aug 4, 1997, 5:14:21 PM (27 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '0bc2210f8055033868008a3836878db65ec6f89e')
Children:
64ced665a64c267e8dab9316b38726a2e5d10ef6
Parents:
2d18815165593b7beda491c982a1f635a1b4048e
Message:
* hannes: new function content in poly.lib
          lcm moved from primdec.lib to poly.lib


git-svn-id: file:///usr/local/Singular/svn/trunk@600 2c84dea3-7e68-4137-9b89-c4e89433aadc
Location:
Singular/LIB
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/poly.lib

    r2d1881 r927ed62  
    1 // $Id: poly.lib,v 1.5 1997-08-04 14:46:51 Singular Exp $
     1// $Id: poly.lib,v 1.6 1997-08-04 15:14:19 Singular Exp $
    22//system("random",787422842);
    33//(GMG, last modified 22.06.96)
     
    1010 is_homog(poly/...);    int, =1 resp. =0 if input is homogeneous resp. not
    1111 is_zero(poly/...);     int, =1 resp. =0 if coker(input) is 0 resp. not
     12 lcm(ideal);            lcm of given generators of ideal
    1213 maxcoef(poly/...);     maximal length of coefficient occuring in poly/...
    1314 maxdeg(poly/...);      int/intmat = degree/s of terms of maximal order
     
    520521}
    521522
     523///////////////////////////////////////////////////////////////////////////////
     524
     525proc lcm (ideal i)
     526USAGE:   lcm(i); i ideal
     527RETURN:  poly = lcm(i[1],...,i[size(i)])
     528NOTE:   
     529EXAMPLE: example lcm; shows an example
     530{
     531  int k,j;
     532   poly p,q;
     533  i=simplify(i,10);
     534  for(j=1;j<=size(i);j++)
     535  {
     536    if(deg(i[j])>0)
     537    {
     538      p=i[j];
     539      break;
     540    }
     541  }
     542  if(deg(p)==-1)
     543  {
     544    return(1);
     545  }
     546  for (k=j+1;k<=size(i);k++)
     547  {
     548     if(deg(i[k])!=0)
     549     {
     550        q=GCD(p,i[k]);
     551        if(deg(q)==0)
     552        {
     553           p=p*i[k];
     554        }
     555        else
     556        {
     557           p=p/q;
     558           p=p*i[k];
     559        }
     560     }
     561   }
     562  return(p);
     563}
     564example
     565{ "EXAMPLE:"; echo = 2;
     566   ring  r = 0,(x,y,z),lp;
     567   poly  p = (x+y)*(y+z);
     568   poly  q = (z4+2)*(y+z);
     569   ideal l=p,q;
     570   poly  pr= lcm(l);
     571   pr;
     572   l=1,-1,p,1,-1,q,1;
     573   pr=lcm(l);
     574   pr;
     575}
     576
     577///////////////////////////////////////////////////////////////////////////////
     578
     579proc content(f)
     580USAGE:   content(f); f polynomial/vector
     581RETURN:  number, the content (greatest common factor of coefficients)
     582         of the polynomial/vector f
     583EXAMPLE: example content; shows an example
     584{
     585  return(leadcoef(f)/leadcoef(cleardenom(f)));
     586
     587example
     588{ "EXAMPLE:"; echo = 2;
     589   ring r=0,(x,y,z),(c,lp);
     590   content(3x2+18xy-27xyz);
     591   vector v=[3x2+18xy-27xyz,15x2+12y4,3];
     592   content(v);
     593}
     594
  • Singular/LIB/prim_dec.lib

    r2d1881 r927ed62  
    1 // $Id: prim_dec.lib,v 1.2 1997-08-04 14:46:51 Singular Exp $
     1// $Id: prim_dec.lib,v 1.3 1997-08-04 15:14:20 Singular Exp $
    22///////////////////////////////////////////////////////
    33// pseudoprimdec.lib
     
    10441044   return(0);
    10451045}
    1046 
    1047 
    1048 
    1049 //proc lcm (ideal i)
    1050 //USAGE:   lcm(i); i list of polynomials
    1051 //RETURN:  poly = lcm(i[1],...,i[size(i)])
    1052 //NOTE:   
    1053 //EXAMPLE: example lcm; shows an example
    1054 //{
    1055 //  int k,j;
    1056 //  poly p,q;
    1057 //  int sizei=size(i);
    1058 //  for(j=1;j<=sizei;j++)
    1059 //  {
    1060 //    if(deg(i[j])>0)
    1061 //    {
    1062 //      p=i[j];
    1063 //      break;
    1064 //    }
    1065 //  }
    1066 //  if(deg(p)==-1)
    1067 //  {
    1068 //    return(1);
    1069 //  }
    1070 //  for (k=j+1;k<=sizei;k++)
    1071 //  {
    1072 //     if(deg(i[k])!=0)
    1073 //     {
    1074 //        q=gcd(p,i[k]);
    1075 //        if(deg(q)!=0)     // gcd!=1
    1076 //        {
    1077 //           p=system("pdivide",p,q);
    1078 //        }
    1079 //        p=p*i[k];
    1080 //     }
    1081 //   }
    1082 //  return(p);
    1083 //}
    1084 //example
    1085 //{ "EXAMPLE:"; echo = 2;
    1086 //   ring  r = 0,(x,y,z),lp;
    1087 //   poly  p = (x+y)*(y+z);
    1088 //   poly  q = (z4+2)*(y+z);
    1089 //   ideal l=p,q;
    1090 //   poly  pr= lcm(l);
    1091 //   pr;
    1092 //   l=1,-1,p,1,-1,q,1;
    1093 //   pr=lcm(l);
    1094 //   pr;
    1095 //}
    1096 
  • Singular/LIB/primdec.lib

    r2d1881 r927ed62  
    1 // $Id: primdec.lib,v 1.1 1997-05-05 12:03:01 Singular Exp $
     1// $Id: primdec.lib,v 1.2 1997-08-04 15:14:21 Singular Exp $
    22///////////////////////////////////////////////////////
    33// primdec.lib
     
    2424
    2525LIB "random.lib";
     26LIB "poly.lib";
    2627///////////////////////////////////////////////////////////////////////////////
    2728
     
    11781179
    11791180///////////////////////////////////////////////////////////////////////////////
    1180 
    1181 proc lcm (ideal i)
    1182 USAGE:   lcm(i); i list of polynomials
    1183 RETURN:  poly = lcm(i[1],...,i[size(i)])
    1184 NOTE:   
    1185 EXAMPLE: example lcm; shows an example
    1186 {
    1187   int k,j;
    1188    poly p,q;
    1189   i=simplify(i,10);
    1190   for(j=1;j<=size(i);j++)
    1191   {
    1192     if(deg(i[j])>0)
    1193     {
    1194       p=i[j];
    1195       break;
    1196     }
    1197   }
    1198   if(deg(p)==-1)
    1199   {
    1200     return(1);
    1201   }
    1202   for (k=j+1;k<=size(i);k++)
    1203   {
    1204      if(deg(i[k])!=0)
    1205      {
    1206         q=GCD(p,i[k]);
    1207         if(deg(q)==0)
    1208         {
    1209            p=p*i[k];
    1210         }
    1211         else
    1212         {
    1213            p=p/q;
    1214            p=p*i[k];
    1215         }
    1216      }
    1217    }
    1218   return(p);
    1219 }
    1220 example
    1221 { "EXAMPLE:"; echo = 2;
    1222    ring  r = 0,(x,y,z),lp;
    1223    poly  p = (x+y)*(y+z);
    1224    poly  q = (z4+2)*(y+z);
    1225    ideal l=p,q;
    1226    poly  pr= lcm(l);
    1227    pr;
    1228    l=1,-1,p,1,-1,q,1;
    1229    pr=lcm(l);
    1230    pr;
    1231 }
    1232 
    1233 ///////////////////////////////////////////////////////////////////////////////
    12341181proc clearSB (ideal i,list #)
    12351182USAGE:   clearSB(i); i ideal which is SB ordered by monomial ordering
Note: See TracChangeset for help on using the changeset viewer.