sagemath / sage

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

MR57: Iwasawa and cartan decompositions #34026

Open f588ca1e-f96a-4dea-804d-c55eab873dab opened 2 years ago

f588ca1e-f96a-4dea-804d-c55eab873dab commented 2 years ago

This ticket corresponds to the Merge Request ​https://gitlab.com/sagemath/sage/-/merge_requests/57.


This ticket contains implementations for the Iwasawa and Cartan decompositions for square matrices over non-archimedean local fields.

It was originally part of ​https://github.com/sagemath/sage-prod/issues/30690, which later became ​https://github.com/sagemath/sage-prod/issues/33404. In order to make the reviewing process easier, this ticket contains only some of the decompositions from the original ticket. The remaining decompositions (Bruhat-Iwahori, TSB and Bruhat) have been moved to another ticket (​https://github.com/sagemath/sage-prod/issues/34027).

Notes and Issues:

Component: linear algebra

Keywords: formal laurent series, decomposition

Author: n-vi

Branch/Commit: u/galois/mrs/57/iwasawa_and_cartan_decompositions @ a51133f

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

333767a0-8bb0-4499-a032-33e52572d678 commented 2 years ago
comment:1

This ticket contains implementations for the Iwasawa and Cartan decompositions for square matrices over non-archimedean local fields.

It was originally part of https://github.com/sagemath/sage-prod/issues/30690, which later became https://github.com/sagemath/sage-prod/issues/33404. In order to make the reviewing process easier, this ticket contains only some of the decompositions from the original ticket. The remaining decompositions (Bruhat-Iwahori, TSB and Bruhat) have been moved to another ticket (https://github.com/sagemath/sage-prod/issues/34027).

Notes and Issues:

  1. In the above decompositions, Some of the returned matrices could be defined over the integer-ring of the field, but I did not coerce them into the integer-ring, because of the bug described at: #29931.
  2. To prevent any of the above decompositions from making changes to the original matrix, I relied on the fact that the matrix_over_field method returns a deep copy of the original matrix (even when the original is already defined over a field).
  3. A point for consideration: as padics and formal laurent-series over finite fields are both non-archimedean local fields, I needed to make sure that the implemented methods work for both. Having a more uniform API for padics and laurent-series could be helpful in avoiding awkward nested functions that fit different implementations for each type. For example, for getting the unit-part of an element, I had to use the unit_part method for padics, and valuation_zero_part for laurent.
333767a0-8bb0-4499-a032-33e52572d678 commented 2 years ago

Changed keywords from none to formal laurent series, decomposition

333767a0-8bb0-4499-a032-33e52572d678 commented 2 years ago

Description changed:

--- 
+++ 
@@ -1,4 +1,4 @@
-n-vi ([@n-vi](https://gitlab.com/sagemath/dev/tracmirror/n-vi)) opened a merge request at https://gitlab.com/sagemath/sage/-/merge_requests/57:
+This ticket corresponds to the Merge Request ​https://gitlab.com/sagemath/sage/-/merge_requests/57.

 ---
333767a0-8bb0-4499-a032-33e52572d678 commented 2 years ago

Description changed:

--- 
+++ 
@@ -2,9 +2,12 @@

 ---

+This ticket contains implementations for the Iwasawa and Cartan decompositions for square matrices over non-archimedean local fields.

+It was originally part of ​https://github.com/sagemath/sage-prod/issues/30690, which later became ​https://github.com/sagemath/sage-prod/issues/33404. In order to make the reviewing process easier, this ticket contains only some of the decompositions from the original ticket. The remaining decompositions (Bruhat-Iwahori, TSB and Bruhat) have been moved to another ticket (​https://github.com/sagemath/sage-prod/issues/34027).

+Notes and Issues:

-
-
-
+* In the above decompositions, Some of the returned matrices could be defined over the integer-ring of the field, but I did not coerce them into the integer-ring, because of the bug described at: #29931.
+* To prevent any of the above decompositions from making changes to the original matrix, I relied on the fact that the matrix_over_field method returns a deep copy of the original matrix (even when the original is already defined over a field).
+* A point for consideration: as padics and formal laurent-series over finite fields are both non-archimedean local fields, I needed to make sure that the implemented methods work for both. Having a more uniform API for padics and laurent-series could be helpful in avoiding awkward nested functions that fit different implementations for each type. For example, for getting the unit-part of an element, I had to use the unit_part method for padics, and valuation_zero_part for laurent.