# FunctionFieldIntegralBasis(R, UP, F)ΒΆ

R: EuclideanDomain with

squareFree: % -> Factored %

F: FramedAlgebra(R, UP)

In this package `R`

is a Euclidean domain and `F`

is a framed algebra over `R`

. The package provides functions to compute the integral closure of `R`

in the quotient field of `F`

. It is assumed that `char(R/P) = char(R)`

for any prime `P`

of `R`

. A typical instance of this is when `R = K[x]`

and `F`

is a function field over `R`

.

- integralBasis: () -> Record(basis: Matrix R, basisDen: R, basisInv: Matrix R)
`integralBasis()`

returns a record`[basis, basisDen, basisInv]`

containing information regarding the integral closure of`R`

in the quotient field of`F`

, where`F`

is a framed algebra with`R`

-module basis`w1, w2, ..., wn`

. If`basis`

is the matrix`(aij, i = 1..n, j = 1..n)`

, then the`i`

th element of the integral basis is`vi = (1/basisDen) * sum(aij * wj, j = 1..n)`

, i.e. the`i`

th row of`basis`

contains the coordinates of the`i`

th basis vector. Similarly, the`i`

th row of the matrix`basisInv`

contains the coordinates of`wi`

with respect to the basis`v1, ..., vn`

: if`basisInv`

is the matrix`(bij, i = 1..n, j = 1..n)`

, then`wi = sum(bij * vj, j = 1..n)`

.

- localIntegralBasis: R -> Record(basis: Matrix R, basisDen: R, basisInv: Matrix R)
`integralBasis(p)`

returns a record`[basis, basisDen, basisInv]`

containing information regarding the local integral closure of`R`

at the prime`p`

in the quotient field of`F`

, where`F`

is a framed algebra with`R`

-module basis`w1, w2, ..., wn`

. If`basis`

is the matrix`(aij, i = 1..n, j = 1..n)`

, then the`i`

th element of the local integral basis is`vi = (1/basisDen) * sum(aij * wj, j = 1..n)`

, i.e. the`i`

th row of`basis`

contains the coordinates of the`i`

th basis vector. Similarly, the`i`

th row of the matrix`basisInv`

contains the coordinates of`wi`

with respect to the basis`v1, ..., vn`

: if`basisInv`

is the matrix`(bij, i = 1..n, j = 1..n)`

, then`wi = sum(bij * vj, j = 1..n)`

.