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 ofmatrix
byprime
and store the result inmatrixOut
. If it is successful, 1 is returned and if not,prime
is returned. Here bothmatrix
andmatrixOut
aren
-by-n
upper triangular matrices.
- idealiser: (Matrix R, Matrix R) -> Matrix R
idealiser(m1, m2)
computes the order of an ideal defined bym1
andm2
- idealiser: (Matrix R, Matrix R, R) -> Matrix R
idealiser(m1, m2, d)
computes the order of an ideal defined bym1
andm2
whered
is 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 bym1
andm2
.
- leastPower: (NonNegativeInteger, NonNegativeInteger) -> NonNegativeInteger
leastPower(p, n)
returnse
, wheree
is the smallest integer such thatp ^e >= n
- matrixGcd: (Matrix R, R, NonNegativeInteger) -> R
matrixGcd(mat, sing, n)
isgcd(sing, g)
whereg
is thegcd
of the entries of then
-by-n
upper-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 modulemi
is represented as follows:F
is a framed algebra withR
-module basisw1, w2, ..., wn
andmi
is a record[basis, basisDen, basisInv]
. Ifbasis
is the matrix(aij, i = 1..n, j = 1..n)
, then a basisv1, ..., vn
formi
is given byvi = (1/basisDen) * sum(aij * wj, j = 1..n)
, i.e. thei
th row of ‘basis’ contains the coordinates of thei
th basis vector. Similarly, thei
th row of the matrixbasisInv
contains the coordinates ofwi
with respect to the basisv1, ..., vn
: ifbasisInv
is the matrix(bij, i = 1..n, j = 1..n)
, thenwi = sum(bij * vj, j = 1..n)
.