ProfiniteDecomposition
with , and upper triangular — strong approximation for a matrix over .
ProfiniteDecomposition(m) a square matrix (list of lists) of ProfiniteNumber or rational entriesProfiniteDecomposition(m, d)with = supplied explicitly rather than computed from 's entriesSageMath
enumeratio_profinite_decomposition(m, d)Typed signatures
| Type | Package | Applies |
|---|---|---|
(list, number?) -> list | adeles | always |
Details
- Hertogh's Algorithm 8.4: , strong approximation for over .
- 's entries are profinite numbers; 's are rationals. Built on HermiteDecomposition of the denominators.
Examples
14 more kept as data, checked against the oraclesAbout
| Examples | 15 |
|---|---|
| Checked against | SageMath 14 agree |
| Crosswalk | SageMath |
Implementation
mapped
sagepackages/oracle/src/mappings.tsHertogh's Algorithm 8.4 (factor_GLQhat); no one-liner, so run.ts's SAGE_PREAMBLE carries the matrix-building helper. The arity-1 form (det computed from $1) has no row -- Sage's generic matrix determinant does not work over the Qhat ring (checked; TypeError coercing a ProfiniteNumber to an integer).
See also: HermiteDecomposition, ProfiniteNumber