]> gitweb.michael.orlitzky.com - sage.d.git/commitdiff
eja: clean up imports.
authorMichael Orlitzky <michael@orlitzky.com>
Sun, 28 Jul 2019 17:26:57 +0000 (13:26 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Mon, 29 Jul 2019 03:19:15 +0000 (23:19 -0400)
mjo/eja/eja_algebra.py
mjo/eja/eja_operator.py

index 8ab6afa33e8b8ccb9241099f5420fd035bd7b65c..ed8c85c9f60dc30c0b1f959533208b81e542b734 100644 (file)
@@ -5,11 +5,22 @@ are used in optimization, and have some additional nice methods beyond
 what can be supported in a general Jordan Algebra.
 """
 
-from sage.all import *
+
 
 from sage.algebras.finite_dimensional_algebras.finite_dimensional_algebra import FiniteDimensionalAlgebra
 from sage.algebras.finite_dimensional_algebras.finite_dimensional_algebra_element import FiniteDimensionalAlgebraElement
+from sage.algebras.quatalg.quaternion_algebra import QuaternionAlgebra
 from sage.categories.finite_dimensional_algebras_with_basis import FiniteDimensionalAlgebrasWithBasis
+from sage.functions.other import sqrt
+from sage.matrix.constructor import matrix
+from sage.misc.cachefunc import cached_method
+from sage.misc.prandom import choice
+from sage.modules.free_module import VectorSpace
+from sage.modules.free_module_element import vector
+from sage.rings.integer_ring import ZZ
+from sage.rings.number_field.number_field import QuadraticField
+from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
+from sage.rings.rational_field import QQ
 from sage.structure.element import is_Matrix
 from sage.structure.category_object import normalize_names
 
@@ -176,7 +187,7 @@ class FiniteDimensionalEuclideanJordanAlgebra(FiniteDimensionalAlgebra):
                                                     self._multiplication_table,
                                                     rank=r)
 
-        idmat = identity_matrix(J.base_ring(), n)
+        idmat = matrix.identity(J.base_ring(), n)
 
         W = self._charpoly_basis_space()
         W = W.change_ring(R.fraction_field())
@@ -196,10 +207,10 @@ class FiniteDimensionalEuclideanJordanAlgebra(FiniteDimensionalAlgebra):
         # We want the middle equivalent thing in our matrix, but use
         # the first equivalent thing instead so that we can pass in
         # standard coordinates.
-        x = J(vector(R, R.gens()))
-        l1 = [column_matrix(W.coordinates((x**k).vector())) for k in range(r)]
+        x = J(W(R.gens()))
+        l1 = [matrix.column(W.coordinates((x**k).vector())) for k in range(r)]
         l2 = [idmat.column(k-1).column() for k in range(r+1, n+1)]
-        A_of_x = block_matrix(R, 1, n, (l1 + l2))
+        A_of_x = matrix.block(R, 1, n, (l1 + l2))
         xr = W.coordinates((x**r).vector())
         return (A_of_x, x, xr, A_of_x.det())
 
@@ -401,7 +412,7 @@ class FiniteDimensionalEuclideanJordanAlgebra(FiniteDimensionalAlgebra):
             The identity in `S^n` is converted to the identity in the EJA::
 
                 sage: J = RealSymmetricEJA(3)
-                sage: I = identity_matrix(QQ,3)
+                sage: I = matrix.identity(QQ,3)
                 sage: J(I) == J.one()
                 True
 
@@ -1208,10 +1219,10 @@ class FiniteDimensionalEuclideanJordanAlgebra(FiniteDimensionalAlgebra):
                 sage: A = matrix(QQ, 1, [x_vec.inner_product(x_vec)])
                 sage: B = 2*x0*x_bar.row()
                 sage: C = 2*x0*x_bar.column()
-                sage: D = identity_matrix(QQ, n-1)
+                sage: D = matrix.identity(QQ, n-1)
                 sage: D = (x0^2 - x_bar.inner_product(x_bar))*D
                 sage: D = D + 2*x_bar.tensor_product(x_bar)
-                sage: Q = block_matrix(2,2,[A,B,C,D])
+                sage: Q = matrix.block(2,2,[A,B,C,D])
                 sage: Q == x.quadratic_representation().matrix()
                 True
 
@@ -1854,7 +1865,7 @@ def _embed_complex_matrix(M):
         blocks.append(matrix(field, 2, [[a,b],[-b,a]]))
 
     # We can drop the imaginaries here.
-    return block_matrix(field.base_ring(), n, blocks)
+    return matrix.block(field.base_ring(), n, blocks)
 
 
 def _unembed_complex_matrix(M):
@@ -1970,7 +1981,7 @@ def _embed_quaternion_matrix(M):
 
     # We should have real entries by now, so use the realest field
     # we've got for the return value.
-    return block_matrix(quaternions.base_ring(), n, blocks)
+    return matrix.block(quaternions.base_ring(), n, blocks)
 
 
 def _unembed_quaternion_matrix(M):
@@ -2266,13 +2277,13 @@ class JordanSpinEJA(FiniteDimensionalEuclideanJordanAlgebra):
     @staticmethod
     def __classcall_private__(cls, n, field=QQ):
         Qs = []
-        id_matrix = identity_matrix(field, n)
+        id_matrix = matrix.identity(field, n)
         for i in xrange(n):
             ei = id_matrix.column(i)
-            Qi = zero_matrix(field, n)
+            Qi = matrix.zero(field, n)
             Qi.set_row(0, ei)
             Qi.set_column(0, ei)
-            Qi += diagonal_matrix(n, [ei[0]]*n)
+            Qi += matrix.diagonal(n, [ei[0]]*n)
             # The addition of the diagonal matrix adds an extra ei[0] in the
             # upper-left corner of the matrix.
             Qi[0,0] = Qi[0,0] * ~field(2)
index b225b295c9e0f4e87befb02e28870eb7a0d1b9dd..1f10048812301baa8c13c4d49f5e4475a9cc04d7 100644 (file)
@@ -1,4 +1,4 @@
-from sage.all import matrix
+from sage.matrix.constructor import matrix
 from sage.categories.all import FreeModules
 from sage.categories.map import Map