Changeset c661e3 in git


Ignore:
Timestamp:
Oct 11, 2010, 4:43:19 PM (14 years ago)
Author:
Viktor Levandovskyy <levandov@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
d5abcfb5a8d5981beafb238eb7ab2390e274e781
Parents:
ebd7d86c7d81364a678cca227095db453f88aed6
Message:
*levandov: assume Qring build in, more description

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

Legend:

Unmodified
Added
Removed
  • Singular/LIB/sagbi.lib

    rebd7d8 rc661e3  
    1717computations.
    1818
     19Guide: new implementations of sagbi, sagbiPart, sagbiReduce, sagbiSPoly
     20as well as algebraicDependence by Jan Hackfeld do not support computations
     21over a quotient ring yet. On the contrary, sagbiReduction and sagbiNF do
     22work over any ring.
     23
    1924PROCEDURES:
    2025 sagbiSPoly(A [,r,m]); computes SAGBI S-polynomials of A
     
    5560  example sagbiPart;
    5661  example algebraicDependence;
     62}
     63
     64static proc assumeQring()
     65{
     66  if (ideal(basering) != 0)
     67  {
     68    ERROR("This function has not yet been implemented over qrings.");
     69  }
    5770}
    5871
     
    482495EXAMPLE:  example sagbiSPoly; shows an example"
    483496{
     497  assumeQring();
    484498  int returnRing;
    485499  int method=0;
     
    568582
    569583proc sagbiReduce(idealORpoly, ideal algebra, list #)
    570 "USAGE:   sagbiReduce(I, A[, tr, mt]); I, A ideals, tr, mt optional integers
    571 RETURN:   ideal of remainders of I after SAGBI reduction by A
     584"USAGE: sagbiReduce(I, A[, tr, mt]); I, A ideals, tr, mt optional integers
     585RETURN: ideal of remainders of I after SAGBI reduction by A
    572586ASSUME: basering is not a qring
    573587PURPOSE:
     
    583597EXAMPLE:  example sagbiReduce; shows an example"
    584598{
     599  assumeQring();
    585600  int tailreduction=0; //Default
    586601  int method=0; //Default
     
    677692EXAMPLE:  example sagbi; shows an example"
    678693{
     694  assumeQring();
    679695  int tailreduction=0; //default value
    680696  int method=0; //default value
     
    741757EXAMPLE:  example sagbiPart; shows an example"
    742758{
     759  assumeQring();
    743760  int tailreduction=0; //default value
    744761  int method=0; //default value
     
    807824EXAMPLE: example algebraicDependence; shows an example"
    808825{
     826  assumeQring();
    809827  def br=basering;
    810828  int i;
     
    10821100"USAGE: sagbiNF(id,dom,k[,n]); id either poly or ideal,dom ideal, k and n positive intergers.
    10831101RETURN: same as type of id; ideal or polynomial.
    1084 ASSUME: basering is not a qring
    10851102PURPOSE:
    10861103@format
     
    10921109    n may take the values (0 or default),1 or 2.
    10931110@end format
     1111NOTE: sagbiNF works over both rings and quotient rings
    10941112EXAMPLE: example sagbiNF; show example "
    10951113{
    1096    return(sagbiReduce(id,dom,k));
     1114  ideal rs;
     1115  if (ideal(basering) == 0)
     1116  {
     1117    rs = sagbiReduce(id,dom,k) ;
     1118  }
     1119  else
     1120  {
     1121    rs = sagbiReduction(id,dom,k) ;
     1122  }
     1123  return(rs);
    10971124}
    10981125example
    10991126{"EXAMPLE:"; echo = 2;
    11001127 ring r=0,(x,y),dp;
     1128 poly p=x4+x2y+y;
     1129 ideal dom =x2,x2y+y,x3y2;
     1130 sagbiNF(p,dom,1);
    11011131 ideal I= x2-xy;
    1102  qring Q=std(I);
    1103  ideal dom =x2,x2y+y,x3y2;
    1104  poly p=x4+x2y+y;
    1105  sagbiNF(p,dom,0);
     1132 qring Q=std(I); // we go to the quotient ring
     1133 poly p=imap(r,p);
     1134 NF(p,std(0)); // the representative of p has changed
     1135 ideal dom = imap(r,dom);
     1136 print(matrix(NF(dom,std(0)))); // dom has changed as well
     1137 sagbiNF(p,dom,0); // no tail reduction
    11061138 sagbiNF(p,dom,1);// tail subalgebra reduction is performed
    11071139}
Note: See TracChangeset for help on using the changeset viewer.