IntegralBasisTools(R, UP, F)¶
intclos.spad line 62 [edit on github]
R: EuclideanDomain with
squareFree: % -> Factored %
F: FramedAlgebra(R, UP)
This package contains functions used in the packages FunctionFieldIntegralBasis and NumberFieldIntegralBasis.
- diagonalProduct: Matrix R -> R
diagonalProduct(m)returns the product of the elements on the diagonal of the matrixm
- divideIfCan!: (Matrix R, Matrix R, R, Integer) -> R
divideIfCan!(matrix, matrixOut, prime, n)attempts to divide the entries ofmatrixbyprimeand store the result inmatrixOut. If it is successful, 1 is returned and if not,primeis returned. Here bothmatrixandmatrixOutaren-by-nupper triangular matrices.
- idealiser: (Matrix R, Matrix R) -> Matrix R
idealiser(m1, m2)computes the order of an ideal defined bym1andm2
- idealiser: (Matrix R, Matrix R, R) -> Matrix R
idealiser(m1, m2, d)computes the order of an ideal defined bym1andm2wheredis the known part of the denominator
- idealiserMatrix: (Matrix R, Matrix R) -> Matrix R
idealiserMatrix(m1, m2)returns the matrix representing the linear conditions on the Ring associated with an ideal defined bym1andm2.
- leastPower: (NonNegativeInteger, NonNegativeInteger) -> NonNegativeInteger
leastPower(p, n)returnse, whereeis the smallest integer such thatp ^e >= n
- matrixGcd: (Matrix R, R, NonNegativeInteger) -> R
matrixGcd(mat, sing, n)isgcd(sing, g)wheregis thegcdof the entries of then-by-nupper-triangular matrixmat.
- moduleSum: (Record(basis: Matrix R, basisDen: R, basisInv: Matrix R), Record(basis: Matrix R, basisDen: R, basisInv: Matrix R)) -> Record(basis: Matrix R, basisDen: R, basisInv: Matrix R)
moduleSum(m1, m2)returns the sum of two modules in the framed algebraF. Each modulemiis represented as follows:Fis a framed algebra withR-module basisw1, w2, ..., wnandmiis a record[basis, basisDen, basisInv]. Ifbasisis the matrix(aij, i = 1..n, j = 1..n), then a basisv1, ..., vnformiis given byvi = (1/basisDen) * sum(aij * wj, j = 1..n), i.e. theith row of ‘basis’ contains the coordinates of theith basis vector. Similarly, theith row of the matrixbasisInvcontains the coordinates ofwiwith respect to the basisv1, ..., vn: ifbasisInvis the matrix(bij, i = 1..n, j = 1..n), thenwi = sum(bij * vj, j = 1..n).