Changeset bc7f20 in git for Singular/LIB/ncdecomp.lib


Ignore:
Timestamp:
Mar 25, 2005, 7:38:46 PM (19 years ago)
Author:
Viktor Levandovskyy <levandov@…>
Branches:
(u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
Children:
fe40ad7908fc2170a79180bc025ccb5bceeab03f
Parents:
0c7cb809f77e6f72afc46162a675f1539bb715c1
Message:
*levandov: unified ideal-list handling for conveniency, minor corrections


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

Legend:

Unmodified
Added
Removed
  • Singular/LIB/ncdecomp.lib

    r0c7cb8 rbc7f20  
    11///////////////////////////////////////////////////////////////////////////////
    2 version="$Id: ncdecomp.lib,v 1.6 2005-02-23 18:10:46 levandov Exp $";
     2version="$Id: ncdecomp.lib,v 1.7 2005-03-25 18:38:46 levandov Exp $";
    33category="Noncommutative";
    44info="
     
    1717CenCharDec(I,C);        central character decomposition of I w.r.t. C
    1818IntersectWithSub(M,Z);  intersection of M with the subalgebra, generated
    19 by pairwise commutative elements.
     19by pairwise commutative elements of Z.
    2020";
    2121
     
    176176}
    177177///////////////////////////////////////////////////////////////////////////////
    178 proc CenCharDec(module I, list Center)
    179 "USAGE:  CenCharDec(I, C);  I a module, C a list of generators of the center;
     178proc CenCharDec(module I, def #)
     179"USAGE:  CenCharDec(I, C);  I a module, C an ideal/list of generators of the center;
     180PURPOSE: compute a finite central character decomposition (or point out that there is no finite one),
    180181RETURN:  a list L, where each entry consists of three records:
    181 @*           L[*][1] is the central character in terms of central elements,
    182 @*           L[*][2] is the Groebner basis of the corresponding weight module,
    183 @*           L[*][3] is the K-dimension of the weight module;
     182@*       L[*][1] ('ideal' type), the central character as the maximal ideal in the center,
     183@*       L[*][2] ('module' type), the Groebner basis of the weight module, corresponding to the character,
     184@*       L[*][3] ('int' type) is the K-dimension of the weight module (-1 is returned for an infinite dimension);
    184185NOTE:     some modules have no finite decomposition (in such case one
    185186          gets warning message)
     
    188189"
    189190{
     191  list Center;
     192  if (typeof(#) == "ideal")
     193  {
     194    int cc;
     195    ideal tmp = ideal(#);
     196    for (cc=1; cc<=size(tmp); cc++)
     197    {
     198      Center[cc] = tmp[cc];
     199    }
     200    kill tmp;
     201  }
     202  if (typeof(#) == "list")
     203  {
     204    Center = #;
     205  }
    190206// M = A/I
    191207//1. Find the Zariski closure of Supp_Z M
     
    308324}
    309325///////////////////////////////////////////////////////////////////////////////
    310 proc IntersectWithSub (ideal M, ideal Z)
    311 "USAGE:  IntersectWithSub(M,Z),  M an ideal, Z an ideal of pairwise commutative elements
     326proc IntersectWithSub (ideal M, def #)
     327"USAGE:  IntersectWithSub(M,Z),  M an ideal, Z an ideal/list of pairwise commutative elements
    312328PURPOSE: computes an intersection of M with the subalgebra, generated by Z
    313329RETURN:  ideal (of two--sided generators, not a Groebner basis!)
     
    316332"
    317333{
     334  ideal Z;
     335  if (typeof(#) == "list")
     336  {
     337    int cc;
     338    list tmp = #;
     339    for (cc=1; cc<=size(tmp); cc++)
     340    {
     341      Z[cc] = tmp[cc];
     342    }
     343    kill tmp;
     344  }
     345  if (typeof(#) == "ideal")
     346  {
     347    Z = #;
     348  }
    318349  // returns a submodule of M, equal to M \cap Z
    319350  // correctness: Z should consists of pairwise
Note: See TracChangeset for help on using the changeset viewer.