# rationalIntegralClosure -- computes integral closures over the rationals

## Synopsis

• Usage:
(fractions,relicR,icR,wticR) = rationalIntegralClosure(wtR,Rq,GB)
• Inputs:
• wtR, weight matrix
• R0, polynomial ring over QQ with weight-over-grevlex order
• GB, set of generators for the ideal of relations
• Outputs:
• fractions, a list, a list of numerators for a P-module generating set, the first doubling as a common denominator, hence a conductor element as well
• relicR, a list, a Gr"obner basis for the ideal of induced relations
• icR, a ring, a grevlex-over-weight polynomial ring over QQ for the presentation
• wticR, , weight matrix for the integral closure

## Description

 i1 : wtR = matrix{{11,6}}; 1 2 o1 : Matrix ZZ <--- ZZ i2 : R0 = QQ[y,x,Weights=> entries weightGrevlex(wtR)]; i3 : GB = {(y^2-3/4*y-15/17*x)^3-9*y*x^4*(y^2-3/4*y-15/17*x)-27*x^11}; i4 : (fractions,relicR,icR,wticR) = rationalIntegralClosure(wtR,R0,GB) 9 x (3, 1) 11 (5, x ) 9 (7, x ) 7 {p_0^2-3*p_0+p_1*p_5^3+p_2*p_5^5+3*p_2*p_5^2+2*p_3*p_5^5-2*p_4*p_5^4+2*p_4*p_5^3+p_4*p_5+2*p_5^5, p_0*p_1-2*p_0*p_5^2-3*p_1-3*p_2*p_5-p_3*p_5^4+p_4*p_5^6-2*p_5^5-p_5^4, p_0*p_2+p_1*p_5^4+3*p_1*p_5-3*p_2+2*p_4*p_5^4+3*p_4*p_5+2*p_5^6, p_0*p_3-2*p_1*p_5+2*p_2-2*p_4*p_5+p_5^6, p_0*p_4-2*p_2*p_5+p_3*p_5^4-3*p_4+p_5^4, p_1^2+3*p_0*p_5-2*p_1*p_5^2+2*p_2*p_5+3*p_2-2*p_4*p_5^2+p_5^7, p_1*p_2-3*p_1-2*p_2*p_5^2+p_3*p_5^5-3*p_4*p_5-3*p_4-p_5^5, p_1*p_3+2*p_1-p_2*p_5^2+2*p_4*p_5+2*p_4, p_1*p_4-p_0*p_5+2*p_2, p_2^2-2*p_0*p_5+2*p_2+p_4*p_5^5, p_2*p_3-p_0*p_5+p_2, p_2*p_4-2*p_1-2*p_4+p_5^5, p_3^2+p_3-p_4*p_5^2+2*p_5, p_3*p_4-p_1-p_4, p_4^2-p_2} 9 (13, x ) 13 {p_0^2+2*p_0+4*p_1*p_5^3-p_2*p_5^5-3*p_2*p_5^2+4*p_3*p_5^5+6*p_4*p_5^4-6*p_4*p_5^3+5*p_4*p_5-3*p_5^5, p_0*p_1+4*p_0*p_5^2+2*p_1+6*p_2*p_5-4*p_3*p_5^4-p_4*p_5^6+6*p_5^5+3*p_5^4, p_0*p_2-p_1*p_5^4-3*p_1*p_5+2*p_2-5*p_4*p_5^4-p_4*p_5+4*p_5^6, p_0*p_3+4*p_1*p_5+6*p_2-3*p_4*p_5-p_5^6, p_0*p_4+4*p_2*p_5-p_3*p_5^4+2*p_4+4*p_5^4, p_1^2+p_0*p_5+4*p_1*p_5^2+6*p_2*p_5+p_2-3*p_4*p_5^2-p_5^7, p_1*p_2+6*p_1+4*p_2*p_5^2-p_3*p_5^5+2*p_4*p_5+2*p_4-4*p_5^5, p_1*p_3+5*p_1-p_2*p_5^2+6*p_4*p_5+6*p_4, p_1*p_4-p_0*p_5+5*p_2, p_2^2+4*p_0*p_5+3*p_2-p_4*p_5^5, p_2*p_3-p_0*p_5-4*p_2, p_2*p_4+4*p_1-3*p_4-p_5^5, p_3^2-4*p_3-p_4*p_5^2+6*p_5, p_3*p_4-p_1+4*p_4, p_4^2-p_2} 9 (19, x ) 19 {p_0^2+p_0+6*p_1*p_5^3-8*p_2*p_5^5-5*p_2*p_5^2+4*p_3*p_5^5+3*p_4*p_5^4-9*p_4*p_5^3+9*p_4*p_5-3*p_5^5, p_0*p_1-9*p_0*p_5^2+p_1-4*p_2*p_5-6*p_3*p_5^4-8*p_4*p_5^6+3*p_5^5-5*p_5^4, p_0*p_2-8*p_1*p_5^4-5*p_1*p_5+p_2-7*p_4*p_5^4-p_4*p_5+4*p_5^6, p_0*p_3-9*p_1*p_5-2*p_2+2*p_4*p_5-8*p_5^6, p_0*p_4-9*p_2*p_5-8*p_3*p_5^4+p_4+6*p_5^4, p_1^2-7*p_0*p_5-9*p_1*p_5^2-2*p_2*p_5-7*p_2+2*p_4*p_5^2-8*p_5^7, p_1*p_2-4*p_1-9*p_2*p_5^2-8*p_3*p_5^5+p_4*p_5+3*p_4-6*p_5^5, p_1*p_3+8*p_1-p_2*p_5^2-2*p_4*p_5-6*p_4, p_1*p_4-p_0*p_5+8*p_2, p_2^2-9*p_0*p_5-2*p_2-8*p_4*p_5^5, p_2*p_3-p_0*p_5+4*p_2, p_2*p_4-9*p_1+2*p_4-8*p_5^5, p_3^2+4*p_3-p_4*p_5^2-2*p_5, p_3*p_4-p_1-4*p_4, p_4^2-p_2} 9 (23, x ) 23 {p_0^2+11*p_0+3*p_1*p_5^3-4*p_2*p_5^5+11*p_2*p_5^2+10*p_3*p_5^5+10*p_4*p_5^4+7*p_4*p_5^3+7*p_4*p_5+4*p_5^5, p_0*p_1-9*p_0*p_5^2+11*p_1-2*p_2*p_5-3*p_3*p_5^4-4*p_4*p_5^6+10*p_5^5+8*p_5^4, p_0*p_2-4*p_1*p_5^4+11*p_1*p_5+11*p_2+6*p_4*p_5^4+9*p_4*p_5+10*p_5^6, p_0*p_3-9*p_1*p_5-9*p_2+p_4*p_5-4*p_5^6, p_0*p_4-9*p_2*p_5-4*p_3*p_5^4+11*p_4+3*p_5^4, p_1^2-8*p_0*p_5-9*p_1*p_5^2-9*p_2*p_5-8*p_2+p_4*p_5^2-4*p_5^7, p_1*p_2-2*p_1-9*p_2*p_5^2-4*p_3*p_5^5+11*p_4*p_5-10*p_4-3*p_5^5, p_1*p_3+10*p_1-p_2*p_5^2-9*p_4*p_5+4*p_4, p_1*p_4-p_0*p_5+10*p_2, p_2^2-9*p_0*p_5-p_2-4*p_4*p_5^5, p_2*p_3-p_0*p_5+5*p_2, p_2*p_4-9*p_1+p_4-4*p_5^5, p_3^2+5*p_3-p_4*p_5^2-9*p_5, p_3*p_4-p_1-5*p_4, p_4^2-p_2} 9 (29, x ) 29 {p_0^2+4*p_0+13*p_1*p_5^3+2*p_2*p_5^5+6*p_2*p_5^2-11*p_3*p_5^5+12*p_4*p_5^4-5*p_4*p_5^3+7*p_4*p_5+p_5^5, p_0*p_1-9*p_0*p_5^2+4*p_1+p_2*p_5-13*p_3*p_5^4+2*p_4*p_5^6+12*p_5^5-12*p_5^4, p_0*p_2+2*p_1*p_5^4+6*p_1*p_5+4*p_2-3*p_4*p_5^4+10*p_4*p_5-11*p_5^6, p_0*p_3-9*p_1*p_5-6*p_2+14*p_4*p_5+2*p_5^6, p_0*p_4-9*p_2*p_5+2*p_3*p_5^4+4*p_4+13*p_5^4, p_1^2+5*p_0*p_5-9*p_1*p_5^2-6*p_2*p_5+5*p_2+14*p_4*p_5^2+2*p_5^7, p_1*p_2+p_1-9*p_2*p_5^2+2*p_3*p_5^5+4*p_4*p_5-8*p_4-13*p_5^5, p_1*p_3+13*p_1-p_2*p_5^2-6*p_4*p_5+12*p_4, p_1*p_4-p_0*p_5+13*p_2, p_2^2-9*p_0*p_5-14*p_2+2*p_4*p_5^5, p_2*p_3-p_0*p_5-8*p_2, p_2*p_4-9*p_1+14*p_4+2*p_5^5, p_3^2-8*p_3-p_4*p_5^2-6*p_5, p_3*p_4-p_1+8*p_4, p_4^2-p_2} 9 (31, x ) 31 {p_0^2+3*p_0-3*p_1*p_5^3+4*p_2*p_5^5+12*p_2*p_5^2+5*p_3*p_5^5+9*p_4*p_5^4-11*p_4*p_5^3-4*p_4*p_5+4*p_5^5, p_0*p_1-9*p_0*p_5^2+3*p_1+2*p_2*p_5+3*p_3*p_5^4+4*p_4*p_5^6+9*p_5^5-10*p_5^4, p_0*p_2+4*p_1*p_5^4+12*p_1*p_5+3*p_2-6*p_4*p_5^4-9*p_4*p_5+5*p_5^6, p_0*p_3-9*p_1*p_5-10*p_2-p_4*p_5+4*p_5^6, p_0*p_4-9*p_2*p_5+4*p_3*p_5^4+3*p_4-3*p_5^4, p_1^2-10*p_0*p_5-9*p_1*p_5^2-10*p_2*p_5-10*p_2-p_4*p_5^2+4*p_5^7, p_1*p_2+2*p_1-9*p_2*p_5^2+4*p_3*p_5^5+3*p_4*p_5+14*p_4+3*p_5^5, p_1*p_3+14*p_1-p_2*p_5^2-10*p_4*p_5+5*p_4, p_1*p_4-p_0*p_5+14*p_2, p_2^2-9*p_0*p_5+p_2+4*p_4*p_5^5, p_2*p_3-p_0*p_5+7*p_2, p_2*p_4-9*p_1-p_4+4*p_5^5, p_3^2+7*p_3-p_4*p_5^2-10*p_5, p_3*p_4-p_1-7*p_4, p_4^2-p_2} 9 (37, x ) 37 {p_0^2+16*p_0+11*p_1*p_5^3+10*p_2*p_5^5-7*p_2*p_5^2+16*p_3*p_5^5+11*p_4*p_5^4+2*p_4*p_5^3-4*p_4*p_5-12*p_5^5, p_0*p_1-9*p_0*p_5^2+16*p_1+5*p_2*p_5-11*p_3*p_5^4+10*p_4*p_5^6+11*p_5^5-p_5^4, p_0*p_2+10*p_1*p_5^4-7*p_1*p_5+16*p_2-15*p_4*p_5^4-4*p_4*p_5+16*p_5^6, p_0*p_3-9*p_1*p_5+10*p_2+16*p_4*p_5+10*p_5^6, p_0*p_4-9*p_2*p_5+10*p_3*p_5^4+16*p_4+11*p_5^4, p_1^2+7*p_0*p_5-9*p_1*p_5^2+10*p_2*p_5+7*p_2+16*p_4*p_5^2+10*p_5^7, p_1*p_2+5*p_1-9*p_2*p_5^2+10*p_3*p_5^5+16*p_4*p_5-13*p_4-11*p_5^5, p_1*p_3+17*p_1-p_2*p_5^2+10*p_4*p_5+15*p_4, p_1*p_4-p_0*p_5+17*p_2, p_2^2-9*p_0*p_5-16*p_2+10*p_4*p_5^5, p_2*p_3-p_0*p_5-10*p_2, p_2*p_4-9*p_1+16*p_4+10*p_5^5, p_3^2-10*p_3-p_4*p_5^2+10*p_5, p_3*p_4-p_1+10*p_4, p_4^2-p_2} 5 2 3 3 3 15 4 5 4 3 3 30 2 2 9 2 45 2 o4 = ({x , y x - -y*x - --x , y*x , y x - -y x - --y x + --y x + --y*x + 4 17 2 17 16 34 ------------------------------------------------------------------------ 225 3 3 3 15 4 9 3 45 4 5 9 4 30 3 27 3 45 2 ---x , y x - --y*x - --y*x - --x , y - -y - --y x + --y + --y x + 289 17 16 68 4 17 16 17 ------------------------------------------------------------------------ 225 2 27 2 135 675 2 2 135 81 3 5 ---y*x - --y - ---y*x - ----x }, {p - ---p + --p p - 27p p - 289 64 136 1156 0 17 0 4 1 5 2 5 ------------------------------------------------------------------------ 2 5 405 4 243 3 1215 729 5 2 81p p - 243p p - ---p p - ---p p - ----p p + ---p , p p - 9p p - 2 5 3 5 17 4 5 8 4 5 17 4 5 4 5 0 1 0 5 ------------------------------------------------------------------------ 135 27 81 4 6 405 5 243 4 4 ---p - --p p - --p p - 27p p - ---p + ---p , p p - 27p p - 81p p 17 1 2 2 5 4 3 5 4 5 17 5 16 5 0 2 1 5 1 5 ------------------------------------------------------------------------ 135 81 4 243 6 15 27 6 - ---p + --p p + ---p p - 243p , p p - 9p p - --p + --p p - 27p , 17 2 2 4 5 4 4 5 5 0 3 1 5 17 2 4 4 5 5 ------------------------------------------------------------------------ 4 135 81 4 2 9 2 15 9 p p - 9p p - 27p p - ---p + --p , p - -p p - 9p p - --p p - -p 0 4 2 5 3 5 17 4 4 5 1 4 0 5 1 5 17 2 5 4 2 ------------------------------------------------------------------------ 27 2 7 27 2 5 135 81 81 5 + --p p - 27p , p p - --p - 9p p - 27p p - ---p p + --p - --p , 4 4 5 5 1 2 2 1 2 5 3 5 17 4 5 8 4 4 5 ------------------------------------------------------------------------ 3 2 15 9 3 2 27 p p - -p - p p - --p p + -p , p p - p p - -p , p - 9p p - --p - 1 3 2 1 2 5 17 4 5 8 4 1 4 0 5 2 2 2 0 5 4 2 ------------------------------------------------------------------------ 5 3 27 5 2 3 2 27p p , p p - p p - -p , p p - 9p + --p - 27p , p - -p - p p - 4 5 2 3 0 5 4 2 2 4 1 4 4 5 3 4 3 4 5 ------------------------------------------------------------------------ 15 3 2 --p , p p - p + -p , p - p }, icR, | 25 21 20 11 10 6 |) 17 5 3 4 1 4 4 4 2 o4 : Sequence

This is just like qthIntegralClosure except over QQ instead of ZZ/q. It calls qthIntegralClosure for several small primes q and reconciles the results using the Chinese Remainder Theorem and the extended Euclidean algorithm.