Changeset 839b04d in git for Singular/LIB/finvar.lib


Ignore:
Timestamp:
Aug 4, 1997, 4:46:51 PM (26 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', 'a719bcf0b8dbc648b128303a49777a094b57592c')
Children:
2d18815165593b7beda491c982a1f635a1b4048e
Parents:
bb0968599ad062a86ceb2420fea0c6cac6244052
Message:
* hannes: moved rad_con from finvar.lib/prim_dec.lib to poly.lib
          removed lcm from prim_dec.lib (also in primdec.lib)


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

Legend:

Unmodified
Added
Removed
  • Singular/LIB/finvar.lib

    rbb0968 r839b04d  
    1 // $Header: /exports/cvsroot-2/cvsroot/Singular/LIB/finvar.lib,v 1.2 1997-07-03 15:49:54 Singular Exp $
     1// $Header: /exports/cvsroot-2/cvsroot/Singular/LIB/finvar.lib,v 1.3 1997-08-04 14:46:49 Singular Exp $
    22////////////////////////////////////////////////////////////////////////////////
    33// send bugs and comments to agnes@math.uni-sb.de
     
    1010  part_mol(M,n[,p]);             n terms of partial expansion of Molien series M
    1111  eval_rey(RO,p);                evaluate poly p under Reynolds operator RO
    12   rad_con(p,I);                  check radical containment of poly p in ideal I
    1312  inv_basis(deg,G1,G2,...);      basis of space of homogeneous invariants of
    1413                                 degree deg under the finite matrix group
     
    4039LIB "elim.lib";
    4140LIB "general.lib";
     41LIB "poly.lib";
    4242////////////////////////////////////////////////////////////////////////////////
    4343
     
    681681
    682682////////////////////////////////////////////////////////////////////////////////
    683 // Input: <ideal>=<f1,f2,...,fm> and <polynomial> g
    684 // Question: Does g lie in the radical of <ideal>?
    685 // Solution: Compute a standard basis G for <f1,f2,...,fm,gz-1> where z is a new
    686 //           variable. Then g is contained in the radical of <ideal> <=> 1 is
    687 //           generator in G.
    688 ////////////////////////////////////////////////////////////////////////////////
    689 proc rad_con (poly g,ideal I)
    690   USAGE:   rad_con(<poly>,<ideal>);
    691   RETURNS: 1 (TRUE) (type <int>) if <poly> is contained in the radical of
    692            <ideal>, 0 (FALSE) (type <int>) otherwise
    693   EXAMPLE: example rad_con; shows an example
    694 { def br=basering;
    695   int n=nvars(br);
    696   int dB=degBound;
    697   degBound=0;
    698   string mp=string(minpoly);
    699   execute "ring R=("+charstr(br)+"),(x(1..n),z),dp;";
    700   execute "minpoly=number("+mp+");";
    701   ideal irrel=x(1..n);
    702   map f=br,irrel;
    703   poly p=f(g);
    704   ideal J=f(I)+ideal(p*z-1);
    705   J=std(J);
    706   degBound=dB;
    707   if (J[1]==1)
    708   { return(1);
    709   }
    710   else
    711   { return(0);
    712   }
    713 }
    714 example
    715 { "  EXAMPLE: Sturmfels: Algorithms in Invariant Theory 2.3.7.";
    716   echo=2;
    717            ring R=0,(x,y,z),dp;
    718            ideal I=x2+y2,z2;
    719            poly f=x4+y4;
    720            rad_con(f,I);
    721            ideal J=x2+y2,z2,x4+y4;
    722            poly g=z;
    723            rad_con(g,I);
    724 }
    725 
    726 ////////////////////////////////////////////////////////////////////////////////
    727683// This procedure generates a basis of invariant polynomials in degree g. The
    728684// way this works, is that we look how the generators act on a general
Note: See TracChangeset for help on using the changeset viewer.