Changeset d5b180 in git for Singular/LIB/normal.lib


Ignore:
Timestamp:
Sep 15, 2009, 10:16:24 AM (15 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
8a8861155e2df7bccc380762124b894c316eceae
Parents:
96f9be80930e52c74bf5033e5af8e98cb8395c85
Message:
*hannes: format


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

Legend:

Unmodified
Added
Removed
  • Singular/LIB/normal.lib

    r96f9be8 rd5b180  
    11///////////////////////////////////////////////////////////////////////////////
    2 version="$Id: normal.lib,v 1.58 2009-09-07 08:26:43 seelisch Exp $";
     2version="$Id: normal.lib,v 1.59 2009-09-15 08:16:24 Singular Exp $";
    33category="Commutative Algebra";
    44info="
     
    5656         Other:@*
    5757         - \"useRing\" -> uses the original ring ordering.@*
    58          If this option is set and if the ring ordering is not global, normal 
    59          will change to a global ordering only for computing radicals and prime 
     58         If this option is set and if the ring ordering is not global, normal
     59         will change to a global ordering only for computing radicals and prime
    6060         or equidimensional decompositions.@*
    6161         If this option is not set, normal changes to dp ordering and performs
     
    7171RETURN:  a list, say nor, of size 2 (resp. 3 with option \"withDelta\").
    7272@format  Let R denote the basering and id the input ideal.
    73          * nor[1] is a list of r rings, where r is the number of associated 
    74          primes P_i with option \"prim\" (resp. >= no of equidimenensional 
     73         * nor[1] is a list of r rings, where r is the number of associated
     74         primes P_i with option \"prim\" (resp. >= no of equidimenensional
    7575         components P_i with option \"equidim\").@*
    7676         Each ring Ri := nor[1][i], i=1..r, contains two ideals with given
     
    8484         * nor[2] is a list of size r with information on the normalization of
    8585         the i-th component as module over the basering R:@*
    86          nor[2][i] is an ideal, say U, in R such that the integral closure 
    87          of basering/P_i is generated as module over R by 1/c * U, with c 
     86         nor[2][i] is an ideal, say U, in R such that the integral closure
     87         of basering/P_i is generated as module over R by 1/c * U, with c
    8888         the last element U[size(U)] of U.@*
    8989         * nor[3] (if option \"withDelta\" is set) is a list of an intvec
     
    9494THEORY:  We use here a general algorithm described in [G.-M.Greuel, S.Laplagne,
    9595         F.Seelisch: Normalization of Rings (2009)].@*
    96          The procedure computes the R-module structure, the algebra structure 
     96         The procedure computes the R-module structure, the algebra structure
    9797         and the delta invariant of the normalization of R/id:@*
    98          The normalization of R/id is the integral closure of R/id in its total 
    99          ring of fractions. It is a finitely generated R-module and nor[2] 
     98         The normalization of R/id is the integral closure of R/id in its total
     99         ring of fractions. It is a finitely generated R-module and nor[2]
    100100         computes R-module generators of it. More precisely: If U:=nor[2][i]
    101          and c:=U[size(U)], then c is a non-zero divisor and U/c is an R-module 
    102          in the total ring of fractions, the integral closure of R/P_i. Since 
    103          U[size(U)]/c is equal to 1, R/P_i resp. R/id is contained in the 
     101         and c:=U[size(U)], then c is a non-zero divisor and U/c is an R-module
     102         in the total ring of fractions, the integral closure of R/P_i. Since
     103         U[size(U)]/c is equal to 1, R/P_i resp. R/id is contained in the
    104104         integral closure.@*
    105          The normalization is also an affine algebra over the ground field 
     105         The normalization is also an affine algebra over the ground field
    106106         and nor[1] presents it as such. For geometric considerations nor[1] is
    107          relevant since the variety of the ideal norid in Ri is the 
     107         relevant since the variety of the ideal norid in Ri is the
    108108         normalization of the variety of the ideal P_i in R.@*
    109109         The delta invariant of a reduced ring A is dim_K(normalization(A)/A).
    110110         For A=K[x1,...,xn]/id we call this number also the delta invariant of
    111          id. nor[3] returns the delta invariants of the components P_i and of 
     111         id. nor[3] returns the delta invariants of the components P_i and of
    112112         id.
    113113NOTE:    To use the i-th ring type e.g.: @code{def R=nor[1][i]; setring R;}.
     
    117117@*       Not implemented for quotient rings.
    118118@*       If the input ideal id is weighted homogeneous a weighted ordering may
    119          be used together with the useRing-option (qhweight(id); computes 
     119         be used together with the useRing-option (qhweight(id); computes
    120120         weights).
    121121KEYWORDS: normalization; integral closure; delta invariant.
     
    188188    }
    189189    else
    190     { 
     190    {
    191191      decomp = 3;
    192192      withDelta = 1;
     
    443443    resultNew = list(RL, MG);
    444444  }
    445    
     445
    446446  sp = size(RL);              //RL = list of rings
    447447  option(set, opt);
     
    461461    "      nor;";
    462462    "";
    463     "// * nor[1] is a list of", sp, "ring(s)."; 
     463    "// * nor[1] is a list of", sp, "ring(s).";
    464464    "// To access the i-th ring nor[1][i], give it a name, say Ri, and type";
    465465    "     def R1 = nor[1][1]; setring R1; norid; normap;";
     
    33203320         - \"noFac\" -> factorization is avoided during the computation
    33213321         of the minimal associated primes.@*
    3322          - \"isPrim\" -> assumes that the ideal is prime. If the assumption 
    3323          does not hold, output might be wrong.@* 
    3324          - \"withRing\" -> the ring structure of the normalization is 
     3322         - \"isPrim\" -> assumes that the ideal is prime. If the assumption
     3323         does not hold, output might be wrong.@*
     3324         - \"withRing\" -> the ring structure of the normalization is
    33253325         computed. The number of variables in the new ring is reduced as much
    33263326         as possible.@*
     
    33283328         number of variables is done, it creates one new variable for every
    33293329         new module generator of the integral closure in the quotient field.@*
    3330 ASSUME:  The characteristic of the ground field must be positive. If the 
    3331          option \"isPrim\" is not set, the minimal associated primes of id 
    3332          are computed first and hence normal computes the normalization of 
    3333          the radical of id. If option \"isPrim\" is set, the ideal must be 
     3330ASSUME:  The characteristic of the ground field must be positive. If the
     3331         option \"isPrim\" is not set, the minimal associated primes of id
     3332         are computed first and hence normal computes the normalization of
     3333         the radical of id. If option \"isPrim\" is set, the ideal must be
    33343334         a prime ideal otherwise the result may be wrong.
    33353335RETURN:  a list, say 'nor' of size 2 (resp. 3 if \"withRing\" is set).@*
    33363336         ** If option \"withRing\" is not set: @*
    33373337         Only the module structure is computed: @*
    3338          * nor[1] is a list of ideals Ii, i=1..r, in the basering R where r 
    3339          is the number of minimal associated prime ideals P_i of the input 
     3338         * nor[1] is a list of ideals Ii, i=1..r, in the basering R where r
     3339         is the number of minimal associated prime ideals P_i of the input
    33403340         ideal id, describing the module structure:@*
    33413341         If Ii is given by polynomials g_1,...,g_k in R, then c:=g_k is
     
    33443344         * nor[2] shows the delta invariants: it is a list of an intvec
    33453345         of size r, the delta invariants of the r components, and an integer,
    3346          the total delta invariant of R/id 
     3346         the total delta invariant of R/id
    33473347         (-1 means infinite, and 0 that R/P_i resp. R/id is normal). @*
    33483348         ** If option \"withRing\" is set: @*
     
    33513351         Each ring Ri = nor[1][i], i=1..r, contains two ideals with given
    33523352         names @code{norid} and @code{normap} such that @*
    3353          - Ri/norid is the normalization of R/P_i, i.e. isomorphic as 
     3353         - Ri/norid is the normalization of R/P_i, i.e. isomorphic as
    33543354           K-algebra (K the ground field) to the integral closure of R/P_i in
    33553355           the field of fractions of R/P_i; @*
     
    33573357           of R/id; @*
    33583358         - @code{normap} gives the normalization map from R to Ri/norid.@*
    3359          * nor[2] gives the module generators of the normalization of R/P_i, 
     3359         * nor[2] gives the module generators of the normalization of R/P_i,
    33603360         it is the same as nor[1] if \"withRing\" is not set.@*
    33613361         * nor[3] shows the delta invariants, it is the same as nor[2] if
    33623362         \"withRing\" is not set.
    33633363THEORY:  normalP uses the Leonard-Pellikaan-Singh-Swanson algorithm (using the
    3364          Frobenius) cf. [A. K. Singh, I. Swanson: An algorithm for computing 
     3364         Frobenius) cf. [A. K. Singh, I. Swanson: An algorithm for computing
    33653365         the integral closure, arXiv:0901.0871].
    33663366         The delta invariant of a reduced ring A is dim_K(normalization(A)/A).
    33673367         For A=K[x1,...,xn]/id we call this number also the delta invariant of
    3368          id. The procedure returns the delta invariants of the components P_i 
     3368         id. The procedure returns the delta invariants of the components P_i
    33693369         and of id.
    33703370NOTE:    To use the i-th ring type: @code{def R=nor[1][i]; setring R;}.
     
    51635163          given in the form K[X(1..p),T(1..q)], where K is the ground field;
    51645164         - normap gives the normalization map from basering/id to
    5165            Ri/norid for each i (the j-th element of normap is mapped to the 
     5165           Ri/norid for each i (the j-th element of normap is mapped to the
    51665166           j-th variable of R).@*
    51675167         - the direct sum of the rings Ri/norid is the normalization
    51685168           of basering/id; @*
    51695169         ** If option \"withGens\" is not set: @*
    5170          * nor[2] shows the delta invariants: nor[2] is a list of an intvec of 
    5171          size r, the delta invariants of the r components, and an integer, the 
    5172          delta invariant of basering/id. (-1 means infinite, 0 that basering/P_i 
    5173          resp. basering/input is normal, -2 means that delta resp. delta of one 
    5174          of the components is not computed (which may happen if \"equidim\" is 
     5170         * nor[2] shows the delta invariants: nor[2] is a list of an intvec of
     5171         size r, the delta invariants of the r components, and an integer, the
     5172         delta invariant of basering/id. (-1 means infinite, 0 that basering/P_i
     5173         resp. basering/input is normal, -2 means that delta resp. delta of one
     5174         of the components is not computed (which may happen if \"equidim\" is
    51755175         given). @*
    51765176         ** If option \"withGens\" is set:
    5177          * nor[2] is a list of ideals Ii=nor[2][i], i=1..r, in the basering, 
     5177         * nor[2] is a list of ideals Ii=nor[2][i], i=1..r, in the basering,
    51785178         generating the integral closure of basering/P_i in its quotient field
    5179          as K-algebra (K the ground field):@* 
    5180          If Ii is given by polynomials g_1,...,g_k, then c:=g_k is a non-zero 
     5179         as K-algebra (K the ground field):@*
     5180         If Ii is given by polynomials g_1,...,g_k, then c:=g_k is a non-zero
    51815181         divisor and the j-th variables of the ring Ri satisfies var(j)=g_j/c,
    5182          j=1..k-1, as element in the quotient field of basering/P_i. The 
    5183          g_j/g_k+1 are K-algebra generators  of the integral closure of 
     5182         j=1..k-1, as element in the quotient field of basering/P_i. The
     5183         g_j/g_k+1 are K-algebra generators  of the integral closure of
    51845184         basering/P_i.@*
    51855185         * nor[3] shows the delta invariant as above.
    5186 THEORY:  We use the Grauert-Remmert-de Jong algorithm [c.f. G.-M. Greuel, 
     5186THEORY:  We use the Grauert-Remmert-de Jong algorithm [c.f. G.-M. Greuel,
    51875187         G. Pfister: A SINGULAR Introduction to Commutative Algebra, 2nd Edition.
    51885188         Springer Verlag (2007)].
    5189          The procedure computes the algebra structure and the delta invariant of 
     5189         The procedure computes the algebra structure and the delta invariant of
    51905190         the normalization of R/id:@*
    51915191         The normalization is an affine algebra over the ground field K
    51925192         and nor[1] presents it as such: Ri = K[X(1..p),T(1..q)] and Ri/norid
    5193          is the integral closure of R/P_i; if option \"withGens\" is set the 
    5194          X(j) and T(j) are expressed as quotients in the total ring of 
    5195          fractions. Note that the X(j) and T(j) generate the integral closure 
    5196          as K-algebra, but not necessarily as R-module (since relations of the 
    5197          form X(1)=T(1)*T(2) may have been eliminated). Geometrically the   
    5198          algebra structure is relevant since the variety of the ideal norid in 
     5193         is the integral closure of R/P_i; if option \"withGens\" is set the
     5194         X(j) and T(j) are expressed as quotients in the total ring of
     5195         fractions. Note that the X(j) and T(j) generate the integral closure
     5196         as K-algebra, but not necessarily as R-module (since relations of the
     5197         form X(1)=T(1)*T(2) may have been eliminated). Geometrically the
     5198         algebra structure is relevant since the variety of the ideal norid in
    51995199         Ri is the normalization of the variety of the ideal P_i in R.@*
    52005200         The delta invariant of a reduced ring A is dim_K(normalization(A)/A).
    52015201         For A=K[x1,...,xn]/id we call this number also the delta invariant of
    5202          id. nor[3] returns the delta invariants of the components P_i and of 
     5202         id. nor[3] returns the delta invariants of the components P_i and of
    52035203         id.
    52045204NOTE:    To use the i-th ring type: @code{def R=nor[1][i]; setring R;}.
     
    54125412      nor;
    54135413
    5414 // * nor[1] is a list of",sr,"ring(s) 
     5414// * nor[1] is a list of",sr,"ring(s)
    54155415// To access the i-th ring nor[1][i] give it a name, say Ri, and type e.g.
    54165416     def R1 = nor[1][1]; setring R1;  norid; normap;
    5417 // For the other rings type first (if R is the name of your original basering) 
     5417// For the other rings type first (if R is the name of your original basering)
    54185418     setring R;
    54195419// and then continue as for R1.
     
    55315531   //Komponenten als niederdim Komponenten, waehrend diese bei primdecGTZ
    55325532   //nicht auftauchen: ideal(x,y)*xy
    5533    //this is default for nvars > 2 
     5533   //this is default for nvars > 2
    55345534
    55355535   if( decomp == 2 )
     
    57765776      def R1 = nor[1][1];  setring R1;  norid;  normap;
    57775777// and similair for the other rings nor[1][i];
    5778 // Ri/norid is the affine algebra of the normalization of r/P_i  (where P_i 
     5778// Ri/norid is the affine algebra of the normalization of r/P_i  (where P_i
    57795779// is an associated prime or an equidimensional part of the input ideal id)
    57805780// and normap the normalization map from the basering to Ri/norid;
    57815781
    57825782// * nor[2] shows the delta-invariant of each component and of id
    5783 // (-1 means infinite, 0 that r/P_i resp. r/id is normal, and -2 that delta 
     5783// (-1 means infinite, 0 that r/P_i resp. r/id is normal, and -2 that delta
    57845784// of a component was not computed).";
    57855785   }
Note: See TracChangeset for help on using the changeset viewer.