Changeset a14509a in git


Ignore:
Timestamp:
Dec 12, 2007, 4:02:46 PM (16 years ago)
Author:
Simon King <king@…>
Branches:
(u'spielwiese', '4a9821a93ffdc22a6696668bd4f6b8c9de3e6c5f')
Children:
4735076c7c6e1d5c452b31791ace88f2aa0001cd
Parents:
04923be9902d7ec2a4bea53a0369a5b8dce73d95
Message:
Fixing severe bug in invariant_basis (finvar.lib)


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

Legend:

Unmodified
Added
Removed
  • Singular/LIB/finvar.lib

    r04923be ra14509a  
    11///////////////////////////////////////////////////////////////////////////////
    2 version="$Id: finvar.lib,v 1.69 2007-06-25 18:14:48 king Exp $"
     2version="$Id: finvar.lib,v 1.70 2007-12-12 15:02:46 king Exp $"
    33category="Invariant theory";
    44info="
     
    15911591  }
    15921592  def br=basering;
     1593  ideal vars = maxideal(1);
    15931594  ideal mon=sort(maxideal(g))[1];      // needed for constructing a general
    15941595  int m=ncols(mon);                    // homogeneous polynomial of degree g
     
    16171618  execute("ring T=("+charstr(br)+"),("+varstr(br)+",p(1..m)),lp;");
    16181619  // p(1..m) are the general coefficients of the general polynomial of degree g
    1619   execute("ideal vars="+varstr(br)+";");
     1620  ideal vars = fetch(br,vars);
    16201621  map f;
    16211622  ideal mon=imap(br,mon);
     
    69516952ASSUME:  n is the number of variables of the basering
    69526953RETURN:  secondary invariants of the invariant ring (type <matrix>)
    6953 DISPLAY: information if v does not equal 0
     6954DISPLAY: information on the progress of computation if v does not equal 0
    69546955THEORY:  Secondary invariants are generated following \"Generating Invariant
    69556956         Rings of Finite Groups over Arbitrary Fields\" by Kemper (1996).
     
    70107011  }
    70117012  ring alskdfalkdsj=0,x,dp;
    7012   matrix M[1][2]=1,(1-x)^n;            // we look at our primary invariants as
     7013  matrix M[1][2]=1,(1-x)^n;           
    70137014  export alskdfalkdsj;
    7014   export M;
     7015  export M;                            // we look at our primary invariants as
    70157016  setring br;                          // such of the subgroup that only
    70167017  matrix REY=matrix(maxideal(1));      // contains the identity, this means that
     
    70297030    "";
    70307031  }
    7031   matrix trivialS, trivialSI=secondary_charp(P,REY,"alskdfalkdsj",v);
    7032   kill trivialSI;
     7032  matrix trivialS, trivialIS=secondary_charp(P,REY,"alskdfalkdsj",v);
     7033  kill trivialIS;
    70337034  kill alskdfalkdsj;
    70347035  // now we have those secondary invariants
     
    70667067  execute("ring R=("+charstr(br)+"),(x(1..n),y(1..n),h),dp;");
    70677068  execute("minpoly=number("+mp+");");
    7068   map f=br,maxideal(1);                // canonical mapping
     7069  // map f=br,maxideal(1);                // canonical mapping
    70697070  matrix M[k][m+k*n];
    7070   M[1..k,1..m]=matrix(f(M(2)));        // will contain a module -
    7071   matrix P=f(P);                       // primary invariants in the new ring
     7071  M[1..k,1..m]=matrix(fetch(br,M(2)));        // will contain a module -
     7072  matrix P=fetch(br,P);                       // primary invariants in the new ring
    70727073  for (i=1;i<=n;i++)
    70737074  { for (j=1;j<=k;j++)
     
    70827083  ideal substitute=maxideal(1),ideal(P),1;
    70837084  f=R,substitute;                      // replacing y(1..n) by primary
    7084                                        // invariants -
     7085                                       // invariants and h by 1 -
    70857086  M(2)=f(M);                           // M(2) is the new module
    70867087  m=ncols(M(2));
Note: See TracChangeset for help on using the changeset viewer.