]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/eja/eja_utils.py
eja: add another _all2list doctest.
[sage.d.git] / mjo / eja / eja_utils.py
index 430113d5cddaede7074ca9798f7f3f920a3e93ab..2402d9f0e5f6d1b174690688b8f9b2d7f17eba61 100644 (file)
@@ -58,6 +58,11 @@ def _all2list(x):
 
     EXAMPLES::
 
+        sage: _all2list([[1]])
+        [1]
+
+    ::
+
         sage: V1 = VectorSpace(QQ,2)
         sage: V2 = MatrixSpace(QQ,2)
         sage: x1 = V1([1,1])
@@ -81,6 +86,16 @@ def _all2list(x):
         sage: _all2list(OctonionMatrixAlgebra(1).one())
         [1, 0, 0, 0, 0, 0, 0, 0]
 
+    ::
+
+        sage: V1 = VectorSpace(QQ,2)
+        sage: V2 = OctonionMatrixAlgebra(1,field=QQ)
+        sage: C = cartesian_product([V1,V2])
+        sage: x1 = V1([3,4])
+        sage: y1 = V2.one()
+        sage: _all2list(C( (x1,y1) ))
+        [3, 4, 1, 0, 0, 0, 0, 0, 0, 0]
+
     """
     if hasattr(x, 'to_vector'):
         # This works on matrices of e.g. octonions directly, without
@@ -96,9 +111,9 @@ def _all2list(x):
     except TypeError: # x is not iterable
         return [x]
 
-    if len(xl) == 1:
+    if xl == [x]:
         # Avoid the retardation of list(QQ(1)) == [1].
-        return xl
+        return [x]
 
     return sum(list( map(_all2list, xl) ), [])