sage.matrix.matrix_space: Import element classes on demand, fall back to generic on ImportError
Closed this issue · 20 comments
This is to support modularization.
Also, in extension of #32566, we switch another method to use sage.rings.abc for isinstance testing.
(cherry-picked from #32432)
Depends on #32566
Depends on #32606
Depends on #32612
Component: refactoring
Author: Matthias Koeppe
Branch/Commit: 6d4ee6e
Reviewer: Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/32635
Description changed:
---
+++
@@ -1,2 +1,9 @@
+This is to support modularization.
+
+We also fix a self-delegation bug when no matrix element classes other than the generic ones are present, as tested in #32432.
+
+Also, in extension of #32566, we switch another method to use `sage.rings.abc` for `isinstance` testing.
+
+
(cherry-picked from #32432)
Last 10 new commits:
9e74b6a | sage.rings.abc: Add IntegerModRing, Order; use them in sage.matrix, sage.modules |
8ef2b35 | sage.structure, sage.rings, sage.matrix: Use sage.rings.abc for IntegerModRing |
335cd3e | Replace all uses of is_IntegerModRing by isinstance(..., sage.rings.abc.IntegerModRing) |
f596395 | sage.rings.finite_rings.integer_mod_ring: Fixup |
af06e5b | is_IntegerModRing: Deprecate |
ebf396c | Merge #32606 |
4f65c85 | src/sage/matrix/matrix_space.py: Import element classes on demand, fall back to generic on ImportError |
a657670 | Matrix._echelonize_ring: Break infinite self-delegation recursion |
bfc4d4c | Matrix.gram_schmidt: Use sage.rings.abc |
cd7486d | Matrix.gram_schmidt: Use sage.rings.abc (fixup) |
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
1e5a6aa | Merge #32610 |
be1db02 | src/sage/rings/abc.pxd: Add cdef class RealIntervalField |
13607cb | src/sage/dynamics/arithmetic_dynamics/projective_ds.py: Remove unused import |
85a6a0b | Merge #32610 |
271e044 | src/sage/rings/real_interval_absolute.pyx: Fix imports |
fc039f1 | src/sage/symbolic/ring.pyx: Fix imports |
19ac6fd | src/sage/rings/complex_interval_field.py: Fixup deprecation warning in doctest output |
f31deb3 | src/sage/rings/qqbar.py: Remove unused import |
362f5c0 | Merge branch 't/32606/replace_is_integermodring_by_isinstance_with_new_class_sage_rings_abc_integermodring' into t/32612/sage_rings_abc__real_complex__interval_ball_field__deprecate_is__real_complex_intervalfield |
5b7900b | Merge #32612 |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
ce8687b | Merge #32612 |
15884f3 | src/sage/matrix/matrix_space.py: Import element classes on demand, fall back to generic on ImportError |
ac58286 | Matrix.gram_schmidt: Use sage.rings.abc |
6d4ee6e | Matrix.gram_schmidt: Use sage.rings.abc (fixup) |
Description changed:
---
+++
@@ -1,6 +1,4 @@
This is to support modularization.
-
-We also fix a self-delegation bug when no matrix element classes other than the generic ones are present, as tested in #32432.
Also, in extension of #32566, we switch another method to use `sage.rings.abc` for `isinstance` testing.
Backed out a65767062b Matrix._echelonize_ring: Break infinite self-delegation recursion, which broke stuff
The doctest failure in src/sage/rings/integer.pyx is not from this ticket
LGTM.
Reviewer: Travis Scrimshaw
Thank you!