From f2564c0412a2498ff32245a848ba61746124eaf8 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Fri, 19 Jul 2019 17:35:12 -0400 Subject: [PATCH] eja: fix complex-unembedding with respect to 5537f4534. --- mjo/eja/euclidean_jordan_algebra.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/mjo/eja/euclidean_jordan_algebra.py b/mjo/eja/euclidean_jordan_algebra.py index 8f21db7..1e5ada2 100644 --- a/mjo/eja/euclidean_jordan_algebra.py +++ b/mjo/eja/euclidean_jordan_algebra.py @@ -1216,8 +1216,17 @@ def _unembed_complex_matrix(M): ....: [ 9, 10, 11, 12], ....: [-10, 9, -12, 11] ]) sage: _unembed_complex_matrix(A) - [ -2*i + 1 -4*i + 3] - [ -10*i + 9 -12*i + 11] + [ 2*i + 1 4*i + 3] + [ 10*i + 9 12*i + 11] + + TESTS:: + + sage: set_random_seed() + sage: F = QuadraticField(-1, 'i') + sage: M = random_matrix(F, 3) + sage: _unembed_complex_matrix(_embed_complex_matrix(M)) == M + True + """ n = ZZ(M.nrows()) if M.ncols() != n: @@ -1238,7 +1247,7 @@ def _unembed_complex_matrix(M): raise ValueError('bad real submatrix') if submat[0,1] != -submat[1,0]: raise ValueError('bad imag submatrix') - z = submat[0,0] + submat[1,0]*i + z = submat[0,0] + submat[0,1]*i elements.append(z) return matrix(F, n/2, elements) -- 2.44.2