intclos.spad line 512 [edit on github]
In this package F is a framed algebra over the integers (typically F = Z[a] for some algebraic integer a). The package provides functions to compute the integral closure of Z in the quotient field of F.
discriminant() returns the discriminant of the integral closure of Z in the quotient field of the framed algebra F.
integralBasis() returns a record [basis, basisDen, basisInv] containing information regarding the integral closure of Z in the quotient field of F, where F is a framed algebra with Z-module basis w1, w2, ..., wn. If basis is the matrix (aij, i = 1..n, j = 1..n), then the ith element of the integral basis is , i.e. the vi = (1/basisDen) * sum(aij * wj, j = 1..n)ith row of basis contains the coordinates of the ith basis vector. Similarly, the ith row of the matrix basisInv contains the coordinates of with respect to the basis wiv1, ..., vn: if basisInv is the matrix (bij, i = 1..n, j = 1..n), then .wi = sum(bij * vj, j = 1..n)
integralBasis(p) returns a record [basis, basisDen, basisInv] containing information regarding the local integral closure of Z at the prime p in the quotient field of F, where F is a framed algebra with Z-module basis w1, w2, ..., wn. If basis is the matrix (aij, i = 1..n, j = 1..n), then the ith element of the integral basis is , i.e. the vi = (1/basisDen) * sum(aij * wj, j = 1..n)ith row of basis contains the coordinates of the ith basis vector. Similarly, the ith row of the matrix basisInv contains the coordinates of with respect to the basis wiv1, ..., vn: if basisInv is the matrix (bij, i = 1..n, j = 1..n), then .wi = sum(bij * vj, j = 1..n)