next | previous | forward | backward | up | top | index | toc | Macaulay2 website
QthPower :: qthIntegralClosure

qthIntegralClosure -- computes integral closures in positive characteristic

Synopsis

Description

i1 : wtR = matrix{{5,6,6},{3,6,0}}; 

              2        3
o1 : Matrix ZZ  <--- ZZ
i2 : Rq = ZZ/23[x,y,z,Weights=>entries weightGrevlex(wtR)];
i3 : GB = {x^6+x^3*z-y^3*z^2};
i4 : (fractions,relicR,icR,wticR) = qthIntegralClosure(wtR,Rq,GB)

        2      2    5    2    4            3 2   2 2      2                 
o4 = ({y z, x*y z, x  + x z, x y + x*y*z, x y , x y z}, {p  - p p p  + p p ,
                                                          0    2 5 6    4 6 
     ------------------------------------------------------------------------
                    2          2                                 2         3 
     p p  + p  - p p , p p  - p p , p p  - p p p , p p  - p p , p  + p  - p ,
      0 1    0    3 5   0 2    5 6   0 3    4 5 6   0 4    1 6   1    1    5 
     ------------------------------------------------------------------------
               2                                  2                         
     p p  - p p , p p  - p p , p p  - p p  + p , p  - p p  - p , p p  - p p 
      1 2    4 5   1 3    0 5   1 4    2 5    4   2    0 5    3   2 3    1 6
     ------------------------------------------------------------------------
                         2                       2
     - p , p p  - p p , p  - p p , p p  - p p , p  - p }, icR, | 10 9 8 7 5 6
        6   2 4    3 5   3    2 6   3 4    5 6   4    0        | 6  9 6 3 3 6
     ------------------------------------------------------------------------
     6 |)
     0 |

o4 : Sequence

The presentation is therefore a quotient ring, icR ( with grevlex-over-weight monomial ordering implicit from wticR) modulo the ideal, relicR, of induced relations that define the P-algebra multiplication and possible P-linear dependencies. The fractions returned could be used to define a map from (fractions#0)icR to Rq. Note that if wtR*matrix{{6},{0},{0}} eq max{ wtR*matrix{{3},{0},{1}},wtR*matrix{{0},{3},{2}} in the example above, the algorithm will undoubtedly fail at some step.

See also

Ways to use qthIntegralClosure :

For the programmer

The object qthIntegralClosure is a method function.