Opened 2 years ago

Closed 14 months ago

#23478 closed enhancement (fixed)

Determinant of p-adic matrices

Reported by: caruso Owned by:
Priority: major Milestone: sage-8.1
Component: padics Keywords: sd87, padicIMA
Cc: roed, saraedum, TristanVaccon Merged in:
Authors: Xavier Caruso Reviewers: Julian Rüth, David Roe
Report Upstream: N/A Work issues: patchbot (Python3) errors
Branch: 4a030b1 (Commits) Commit: 4a030b166d63bd8e88e064b802617f9e8c175946
Dependencies: #23450 Stopgaps:

Description

This ticket implements an algorithm for computing the determinant of a p-adic matrix based on the Smith normal form. It is much more stable (and actually also faster) than the generic algorithm (which is used currently).

Change History (26)

comment:1 Changed 2 years ago by caruso

  • Branch set to u/caruso/padic_determinant

comment:2 Changed 2 years ago by caruso

  • Branch u/caruso/padic_determinant deleted
  • Dependencies set to #23450

comment:3 Changed 2 years ago by caruso

  • Branch set to u/caruso/padic_determinant
  • Commit set to 31cff61aa3cf6e0d6197297875a430d24f74caf7

New commits:

879f4ebSmith form of a p-adic matrix
595bc11Code moved into the category
1832757Factorisation of code
e2cdd99Small fix
31cff61Computation of determinant based on SNF

comment:4 Changed 2 years ago by git

  • Commit changed from 31cff61aa3cf6e0d6197297875a430d24f74caf7 to 9ec16a1f77cb98ddd2282d868c084619514ab0dc

Branch pushed to git repo; I updated commit sha1. New commits:

dcab6c0Doctests added
7ae1018Move relevant code to sage.matrix.matrix_cdv_dense
7e73fd2Fix import
1fd67feAdd method tracks_precision()
a77927cMerge branch 'padic_smith' into padic_determinant
9ec16a1Move relevant code to sage.matrix.matrix_cdv_dense

comment:5 Changed 2 years ago by git

  • Commit changed from 9ec16a1f77cb98ddd2282d868c084619514ab0dc to fc4b532eeef55b85ae921396ec1f9f95c2e13f68

Branch pushed to git repo; I updated commit sha1. New commits:

fc4b532Use tracks_precision

comment:6 Changed 2 years ago by caruso

  • Status changed from new to needs_review

comment:7 Changed 2 years ago by git

  • Commit changed from fc4b532eeef55b85ae921396ec1f9f95c2e13f68 to 72bfb8a5cd93eda106dd08d5b842a08aca8b16b5

Branch pushed to git repo; I updated commit sha1. New commits:

1f731eeCheck correctly (hopefully) that precision on input is enough
1f07da5Small fixes
72bfb8aMerge branch 'padic_smith' into padic_determinant

comment:8 Changed 2 years ago by caruso

Ticket ready for review!

comment:9 Changed 2 years ago by git

  • Commit changed from 72bfb8a5cd93eda106dd08d5b842a08aca8b16b5 to 7cbb7f4cb4893c0afc9bb3dc517a42df95e0633a

Branch pushed to git repo; I updated commit sha1. New commits:

55b99dfSmall fix in lift_to_maximal_precision
1ea48acTwo small bugs fixed
18091caMerge branch 'padic_smith' into padic_determinant
7cbb7f4Added the keyword 'indirect doctest'

comment:10 Changed 2 years ago by git

  • Commit changed from 7cbb7f4cb4893c0afc9bb3dc517a42df95e0633a to 8c85bee899dc2ac36cb5b9fe1968d664e54c9cc9

Branch pushed to git repo; I updated commit sha1. New commits:

65ffbc6Use the name "integral_smith_form" for matrices over CDVF
f27820aSmall fixes
8c85beeMerge branch 'padic_smith' into padic_determinant

comment:11 Changed 2 years ago by git

  • Commit changed from 8c85bee899dc2ac36cb5b9fe1968d664e54c9cc9 to d29359c2114b6193249e18efdde8eb6a26c9a6d2

Branch pushed to git repo; I updated commit sha1. New commits:

d29359cUse the formula for 2x2 matrices

comment:12 Changed 2 years ago by saraedum

  • Reviewers set to Julian Rüth

comment:13 Changed 19 months ago by roed

  • Branch changed from u/caruso/padic_determinant to u/roed/padic_determinant

comment:14 Changed 18 months ago by saraedum

  • Commit changed from d29359c2114b6193249e18efdde8eb6a26c9a6d2 to 623755f6e8126bbdfb3aac62766b018a721764b9

echenolize should read echelonize twice.

I think I'll wait to review this until the dependency has been merged.


Last 10 new commits:

d92d3e9Merge branch 'u/aly.deines/padic_smith' in 8.1.rc4
8b239f4trac 23450 details of doc
93d4e32Merge branch 'public/23450' in 8.1
14f591cfixing 2 doctests
cf85a34Merge branch 'public/23450' of ssh://trac.sagemath.org/sage into t/23450/padic_smith
7ad838aRemove _get_matrix_class that was inadvertently added in a merge
b5863a1Add newline back in from fix to matrix_space.py
777f494Remove the tracks_precision method and update the p-adic smith form to be able to deal with lattice elements
d78a1d5Add exact parameter to _matrix_smith_form, fix precision behavior and allow integral=True for non-padic matrices
623755fMerge branch 'u/caruso/padic_determinant' of git://trac.sagemath.org/sage into t/23478/padic_det

comment:15 Changed 16 months ago by saraedum

  • Status changed from needs_review to needs_work
  • Work issues set to patchbot (Python3) errors

comment:16 Changed 14 months ago by roed

  • Keywords padicIMA added

comment:17 Changed 14 months ago by caruso

  • Branch changed from u/roed/padic_determinant to u/caruso/padic_determinant

comment:18 Changed 14 months ago by git

  • Commit changed from 623755f6e8126bbdfb3aac62766b018a721764b9 to 9b112b65ad5a9097e96694c4f0aa3a471ad471db

Branch pushed to git repo; I updated commit sha1. New commits:

9b112b6Move _matrix_determinant in local_generic.py

comment:19 Changed 14 months ago by git

  • Commit changed from 9b112b65ad5a9097e96694c4f0aa3a471ad471db to c7fc3ea2be187247fb3bf759ac2b4b9b3a815821

Branch pushed to git repo; I updated commit sha1. New commits:

c7fc3eatypo

comment:20 Changed 14 months ago by caruso

  • Status changed from needs_work to needs_review

New commits:

c7fc3eatypo

comment:21 Changed 14 months ago by git

  • Commit changed from c7fc3ea2be187247fb3bf759ac2b4b9b3a815821 to e50ac16f4a7825e3d79013afdd8d62d51fc9ce39

Branch pushed to git repo; I updated commit sha1. New commits:

e50ac16Flatten precision before computation (for determinant and Smith form as well)

comment:22 Changed 14 months ago by git

  • Commit changed from e50ac16f4a7825e3d79013afdd8d62d51fc9ce39 to af948885dbd4530b3d932cdf6852ad1397d94c51

Branch pushed to git repo; I updated commit sha1. New commits:

af94888Doctest for the flatten method

comment:23 Changed 14 months ago by roed

  • Branch changed from u/caruso/padic_determinant to u/roed/padic_determinant

comment:24 Changed 14 months ago by git

  • Commit changed from af948885dbd4530b3d932cdf6852ad1397d94c51 to 4a030b166d63bd8e88e064b802617f9e8c175946

Branch pushed to git repo; I updated commit sha1. New commits:

4a030b1Fix a bug when determinant is zero, fix docstring and add some tests

comment:25 Changed 14 months ago by roed

  • Reviewers changed from Julian Rüth to Julian Rüth, David Roe
  • Status changed from needs_review to positive_review

I ran tests locally. Looks good.

comment:26 Changed 14 months ago by vbraun

  • Branch changed from u/roed/padic_determinant to 4a030b166d63bd8e88e064b802617f9e8c175946
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.