Opened 2 years ago
Closed 14 months ago
#23478 closed enhancement (fixed)
Determinant of padic matrices
Reported by:  caruso  Owned by:  

Priority:  major  Milestone:  sage8.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 padic 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
 Branch set to u/caruso/padic_determinant
comment:2 Changed 2 years ago by
 Branch u/caruso/padic_determinant deleted
 Dependencies set to #23450
comment:3 Changed 2 years ago by
 Branch set to u/caruso/padic_determinant
 Commit set to 31cff61aa3cf6e0d6197297875a430d24f74caf7
comment:4 Changed 2 years ago by
 Commit changed from 31cff61aa3cf6e0d6197297875a430d24f74caf7 to 9ec16a1f77cb98ddd2282d868c084619514ab0dc
Branch pushed to git repo; I updated commit sha1. New commits:
dcab6c0  Doctests added

7ae1018  Move relevant code to sage.matrix.matrix_cdv_dense

7e73fd2  Fix import

1fd67fe  Add method tracks_precision()

a77927c  Merge branch 'padic_smith' into padic_determinant

9ec16a1  Move relevant code to sage.matrix.matrix_cdv_dense

comment:5 Changed 2 years ago by
 Commit changed from 9ec16a1f77cb98ddd2282d868c084619514ab0dc to fc4b532eeef55b85ae921396ec1f9f95c2e13f68
Branch pushed to git repo; I updated commit sha1. New commits:
fc4b532  Use tracks_precision

comment:6 Changed 2 years ago by
 Status changed from new to needs_review
comment:7 Changed 2 years ago by
 Commit changed from fc4b532eeef55b85ae921396ec1f9f95c2e13f68 to 72bfb8a5cd93eda106dd08d5b842a08aca8b16b5
comment:8 Changed 2 years ago by
Ticket ready for review!
comment:9 Changed 2 years ago by
 Commit changed from 72bfb8a5cd93eda106dd08d5b842a08aca8b16b5 to 7cbb7f4cb4893c0afc9bb3dc517a42df95e0633a
comment:10 Changed 2 years ago by
 Commit changed from 7cbb7f4cb4893c0afc9bb3dc517a42df95e0633a to 8c85bee899dc2ac36cb5b9fe1968d664e54c9cc9
comment:11 Changed 2 years ago by
 Commit changed from 8c85bee899dc2ac36cb5b9fe1968d664e54c9cc9 to d29359c2114b6193249e18efdde8eb6a26c9a6d2
Branch pushed to git repo; I updated commit sha1. New commits:
d29359c  Use the formula for 2x2 matrices

comment:12 Changed 2 years ago by
 Reviewers set to Julian Rüth
comment:13 Changed 19 months ago by
 Branch changed from u/caruso/padic_determinant to u/roed/padic_determinant
comment:14 Changed 18 months ago by
 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:
d92d3e9  Merge branch 'u/aly.deines/padic_smith' in 8.1.rc4

8b239f4  trac 23450 details of doc

93d4e32  Merge branch 'public/23450' in 8.1

14f591c  fixing 2 doctests

cf85a34  Merge branch 'public/23450' of ssh://trac.sagemath.org/sage into t/23450/padic_smith

7ad838a  Remove _get_matrix_class that was inadvertently added in a merge

b5863a1  Add newline back in from fix to matrix_space.py

777f494  Remove the tracks_precision method and update the padic smith form to be able to deal with lattice elements

d78a1d5  Add exact parameter to _matrix_smith_form, fix precision behavior and allow integral=True for nonpadic matrices

623755f  Merge branch 'u/caruso/padic_determinant' of git://trac.sagemath.org/sage into t/23478/padic_det

comment:15 Changed 16 months ago by
 Status changed from needs_review to needs_work
 Work issues set to patchbot (Python3) errors
comment:16 Changed 14 months ago by
 Keywords padicIMA added
comment:17 Changed 14 months ago by
 Branch changed from u/roed/padic_determinant to u/caruso/padic_determinant
comment:18 Changed 14 months ago by
 Commit changed from 623755f6e8126bbdfb3aac62766b018a721764b9 to 9b112b65ad5a9097e96694c4f0aa3a471ad471db
Branch pushed to git repo; I updated commit sha1. New commits:
9b112b6  Move _matrix_determinant in local_generic.py

comment:19 Changed 14 months ago by
 Commit changed from 9b112b65ad5a9097e96694c4f0aa3a471ad471db to c7fc3ea2be187247fb3bf759ac2b4b9b3a815821
Branch pushed to git repo; I updated commit sha1. New commits:
c7fc3ea  typo

comment:20 Changed 14 months ago by
 Status changed from needs_work to needs_review
New commits:
c7fc3ea  typo

comment:21 Changed 14 months ago by
 Commit changed from c7fc3ea2be187247fb3bf759ac2b4b9b3a815821 to e50ac16f4a7825e3d79013afdd8d62d51fc9ce39
Branch pushed to git repo; I updated commit sha1. New commits:
e50ac16  Flatten precision before computation (for determinant and Smith form as well)

comment:22 Changed 14 months ago by
 Commit changed from e50ac16f4a7825e3d79013afdd8d62d51fc9ce39 to af948885dbd4530b3d932cdf6852ad1397d94c51
Branch pushed to git repo; I updated commit sha1. New commits:
af94888  Doctest for the flatten method

comment:23 Changed 14 months ago by
 Branch changed from u/caruso/padic_determinant to u/roed/padic_determinant
comment:24 Changed 14 months ago by
 Commit changed from af948885dbd4530b3d932cdf6852ad1397d94c51 to 4a030b166d63bd8e88e064b802617f9e8c175946
Branch pushed to git repo; I updated commit sha1. New commits:
4a030b1  Fix a bug when determinant is zero, fix docstring and add some tests

comment:25 Changed 14 months ago by
 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
 Branch changed from u/roed/padic_determinant to 4a030b166d63bd8e88e064b802617f9e8c175946
 Resolution set to fixed
 Status changed from positive_review to closed
New commits:
Smith form of a padic matrix
Code moved into the category
Factorisation of code
Small fix
Computation of determinant based on SNF