Changeset f620218 in git


Ignore:
Timestamp:
Jun 10, 2005, 7:04:59 PM (19 years ago)
Author:
Viktor Levandovskyy <levandov@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'c7af8613769b29c741d6c338945669719f1fc4f8')
Children:
19fc57bf1d64049e9869d7a195dc56f156f8e197
Parents:
cd6ff4925c1335a6a1617eccfabad9197484c383
Message:
*levandov: unipotency added to findAuto


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

Legend:

Unmodified
Added
Removed
  • Singular/LIB/involut.lib

    rcd6ff49 rf620218  
    1 version="$Id: involut.lib,v 1.7 2005-06-07 10:24:45 Singular Exp $";
     1version="$Id: involut.lib,v 1.8 2005-06-10 17:04:59 levandov Exp $";
    22category="Noncommutative";
    33info="
     
    673673}
    674674/////////////////////////////////////////////////////////////////////
    675 proc findAuto()
    676 "USAGE: findAuto();
     675proc findAuto(int n)
     676"USAGE: findAuto(n); n an integer
    677677RETURN: a ring together with a list of pairs L, where
    678678@*        L[i][1]  =  Groebner Basis of an i-th associated prime,
    679679@*        L[i][2]  =  matrix, defining a linear map, with entries, reduced with respect to L[i][1]
    680 PURPOSE: computes the ideal of linear automorphisms of the basering
    681 NOTE: for convenience, the full ideal of relations @code{idJ}
     680PURPOSE: computes the ideal of linear automorphisms of the basering, given by a matrix, n-th power of which gives identity (i.e. unipotent matrix)
     681NOTE: if n=0, a matrix, defining an automorphism is not assumed to be unipotent. For convenience, the full ideal of relations @code{idJ}
    682682and the initial matrix with indeterminates @code{matD} are exported in the output ring
    683683SEE ALSO: findInvo
    684684EXAMPLE: example findAuto; shows examples
    685685"{
     686  if ((n<0 ) || (n==1))
     687  {
     688    "The index of unipotency is too small.";
     689    return(0);
     690  }
    686691  def @B    = basering; //save the name of basering
    687692  int NVars = nvars(@B); //number of variables in basering
     
    763768  execute("matrix @@D"+snv+snv+"="+s+";"); // matrix with entries=new variables
    764769
    765   J = J, ideal( @@D*@@D-matrix( freemodule(NVars) ) ); // add the condition that homomorphism to square is just identity
     770  if (n>=2)
     771  {
     772    J = J, ideal( @@D*@@D-matrix( freemodule(NVars) ) ); // add the condition that homomorphism to square is just identity
     773  }
    766774  J       = simplify(J,2); // without extra zeros
    767775  list mL = minAssGTZ(J); // components not in GB
     
    792800 def a = makeWeyl(1);
    793801 setring a; // this algebra is a first Weyl algebra
    794  def X = findAuto();
     802 def X = findAuto(2);
    795803 setring X; // ring with new variables - unknown coefficients
    796804 // look at matrices, defining linear automorphisms:
Note: See TracChangeset for help on using the changeset viewer.