sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.34k stars 452 forks source link

Characteristic polynomials over complete discrete valuation rings/fields #30892

Closed xcaruso closed 3 years ago

xcaruso commented 3 years ago

We implement Hessenberg algorithm (with choice of pivot) for computing the characteristic polynomial of a matrix with coefficients in a complete discrete valuation ring/field.

CC: @sagetrac-rpages @roed314

Component: linear algebra

Keywords: characteristic polynomial, formal series

Author: Xavier Caruso, Raphaël Pagès

Branch/Commit: e3432b4

Reviewer: Travis Scrimshaw

Issue created by migration from https://trac.sagemath.org/ticket/30892

xcaruso commented 3 years ago

Branch: u/caruso/charpoly_cdv

roed314 commented 3 years ago

New commits:

31b4bcbspecial code for testing equality of power series
ec568ceCharacteristic polynomial of matrices over CDVR/F (first implementation)
roed314 commented 3 years ago

Commit: ec568ce

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from ec568ce to 28a35a9

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

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

28a35a9isolate code for Hessenberg form + documentation
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from 28a35a9 to 7d7be6e

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

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

7d7be6eMerge branch 'develop' into charpoly_cdv
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

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

a1dd74dchange documentation of fraction fields of power series ring
813fbb2move _charpoly_over_number_field to the NumberField class
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from 7d7be6e to 813fbb2

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from 813fbb2 to fee8240

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

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

fee8240fix a doctest
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

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

cc9d603remove useless import
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from fee8240 to cc9d603

tscrim commented 3 years ago
comment:9

A minor doc thing: In hessenbergize_cdvf():

-NOTE::
+.. NOTE::

Also, is it guaranteed that scalar is in the correct parent? I am slightly worried about the inv = ~pivot going outside of the ring.

tscrim commented 3 years ago

Reviewer: Travis Scrimshaw

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

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

cddaf02Merge branch 'develop' into charpoly_cdv
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from cc9d603 to cddaf02

xcaruso commented 3 years ago
comment:11

Replying to @tscrim:

A minor doc thing: In hessenbergize_cdvf():

-NOTE::
+.. NOTE::

Thanks. It's fixed.

Also, is it guaranteed that scalar is in the correct parent? I am slightly worried about the inv = ~pivot going outside of the ring.

I think it is OK because the function hessenbergize_cdvf is only called with a matrix defined over a field. I added a sentence in the doctest to underline this point.

tscrim commented 3 years ago
comment:12

Once you push that last commit (seems like you only pushed the merge), then you can set a positive review.

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from cddaf02 to e3432b4

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

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

e3432b4fix doctest
xcaruso commented 3 years ago
comment:14

Perfect, thanks!

vbraun commented 3 years ago

Changed branch from u/caruso/charpoly_cdv to e3432b4