Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit e2f933e

Browse files
author
Matthias Koeppe
committedAug 3, 2024·
src/sage/algebras/quatalg/quaternion_algebra.py: Docstring/doctest cosmetics
1 parent c29a7d1 commit e2f933e

File tree

1 file changed

+138
-132
lines changed

1 file changed

+138
-132
lines changed
 

‎src/sage/algebras/quatalg/quaternion_algebra.py

+138-132
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
2121
Pickling test::
2222
23-
sage: Q.<i,j,k> = QuaternionAlgebra(QQ,-5,-2)
23+
sage: Q.<i,j,k> = QuaternionAlgebra(QQ, -5, -2)
2424
sage: Q == loads(dumps(Q))
2525
True
2626
"""
@@ -159,17 +159,17 @@ class QuaternionAlgebra(UniqueRepresentation, Parent):
159159
160160
The following tests address the issues raised in :issue:`10601`::
161161
162-
sage: QuaternionAlgebra(1r,1)
162+
sage: QuaternionAlgebra(1r, 1)
163163
Quaternion Algebra (1, 1) with base ring Rational Field
164-
sage: QuaternionAlgebra(1,1.0r)
164+
sage: QuaternionAlgebra(1, 1.0r)
165165
Quaternion Algebra (1.00000000000000, 1.00000000000000) with base ring
166166
Real Field with 53 bits of precision
167167
sage: QuaternionAlgebra(0,0)
168168
Traceback (most recent call last):
169169
...
170170
ValueError: defining elements of quaternion algebra (0, 0)
171171
are not invertible in Rational Field
172-
sage: QuaternionAlgebra(GF(2)(1),1)
172+
sage: QuaternionAlgebra(GF(2)(1), 1)
173173
Traceback (most recent call last):
174174
...
175175
ValueError: 2 is not invertible in Finite Field of size 2
@@ -184,7 +184,7 @@ class QuaternionAlgebra(UniqueRepresentation, Parent):
184184
185185
sage: QuaternionAlgebra(QQ, -7, -21)
186186
Quaternion Algebra (-7, -21) with base ring Rational Field
187-
sage: QuaternionAlgebra(QQ[sqrt(2)], -2,-3) # needs sage.symbolic
187+
sage: QuaternionAlgebra(QQ[sqrt(2)], -2, -3) # needs sage.symbolic
188188
Quaternion Algebra (-2, -3) with base ring Number Field in sqrt2
189189
with defining polynomial x^2 - 2 with sqrt2 = 1.414213562373095?
190190
@@ -303,7 +303,7 @@ def ngens(self):
303303
304304
EXAMPLES::
305305
306-
sage: Q.<i,j,k> = QuaternionAlgebra(QQ,-5,-2)
306+
sage: Q.<i,j,k> = QuaternionAlgebra(QQ, -5, -2)
307307
sage: Q.ngens()
308308
3
309309
sage: Q.gens()
@@ -319,11 +319,11 @@ def basis(self):
319319
320320
EXAMPLES::
321321
322-
sage: Q.<i,j,k> = QuaternionAlgebra(QQ,-5,-2)
322+
sage: Q.<i,j,k> = QuaternionAlgebra(QQ, -5, -2)
323323
sage: Q.basis()
324324
(1, i, j, k)
325325
326-
sage: Q.<xyz,abc,theta> = QuaternionAlgebra(GF(9,'a'),-5,-2)
326+
sage: Q.<xyz,abc,theta> = QuaternionAlgebra(GF(9,'a'), -5, -2)
327327
sage: Q.basis()
328328
(1, xyz, abc, theta)
329329
@@ -348,7 +348,7 @@ def inner_product_matrix(self):
348348
349349
EXAMPLES::
350350
351-
sage: Q.<i,j,k> = QuaternionAlgebra(-5,-19)
351+
sage: Q.<i,j,k> = QuaternionAlgebra(-5, -19)
352352
sage: Q.inner_product_matrix()
353353
[ 2 0 0 0]
354354
[ 0 10 0 0]
@@ -367,27 +367,27 @@ def is_commutative(self) -> bool:
367367
368368
EXAMPLES::
369369
370-
sage: Q.<i,j,k> = QuaternionAlgebra(QQ, -3,-7)
370+
sage: Q.<i,j,k> = QuaternionAlgebra(QQ, -3, -7)
371371
sage: Q.is_commutative()
372372
False
373373
"""
374374
return False
375375

376376
def is_division_algebra(self) -> bool:
377-
"""
377+
r"""
378378
Return ``True`` if the quaternion algebra is a division algebra (i.e.
379379
every nonzero element in ``self`` is invertible), and ``False`` if the
380-
quaternion algebra is isomorphic to the 2x2 matrix algebra.
380+
quaternion algebra is isomorphic to the `2\times 2` matrix algebra.
381381
382382
EXAMPLES::
383383
384-
sage: QuaternionAlgebra(QQ,-5,-2).is_division_algebra()
384+
sage: QuaternionAlgebra(QQ, -5, -2).is_division_algebra()
385385
True
386386
sage: QuaternionAlgebra(1).is_division_algebra()
387387
False
388-
sage: QuaternionAlgebra(2,9).is_division_algebra()
388+
sage: QuaternionAlgebra(2, 9).is_division_algebra()
389389
False
390-
sage: QuaternionAlgebra(RR(2.),1).is_division_algebra()
390+
sage: QuaternionAlgebra(RR(2.), 1).is_division_algebra()
391391
Traceback (most recent call last):
392392
...
393393
NotImplementedError: base field must be rational numbers
@@ -398,19 +398,19 @@ def is_division_algebra(self) -> bool:
398398

399399
def is_matrix_ring(self) -> bool:
400400
"""
401-
Return ``True`` if the quaternion algebra is isomorphic to the 2x2
401+
Return ``True`` if the quaternion algebra is isomorphic to the `2\times 2`
402402
matrix ring, and ``False`` if ``self`` is a division algebra (i.e.
403403
every nonzero element in ``self`` is invertible).
404404
405405
EXAMPLES::
406406
407-
sage: QuaternionAlgebra(QQ,-5,-2).is_matrix_ring()
407+
sage: QuaternionAlgebra(QQ, -5, -2).is_matrix_ring()
408408
False
409409
sage: QuaternionAlgebra(1).is_matrix_ring()
410410
True
411-
sage: QuaternionAlgebra(2,9).is_matrix_ring()
411+
sage: QuaternionAlgebra(2, 9).is_matrix_ring()
412412
True
413-
sage: QuaternionAlgebra(RR(2.),1).is_matrix_ring()
413+
sage: QuaternionAlgebra(RR(2.), 1).is_matrix_ring()
414414
Traceback (most recent call last):
415415
...
416416
NotImplementedError: base field must be rational numbers
@@ -571,7 +571,7 @@ def vector_space(self):
571571
572572
EXAMPLES::
573573
574-
sage: QuaternionAlgebra(-3,19).vector_space()
574+
sage: QuaternionAlgebra(-3, 19).vector_space()
575575
Ambient quadratic space of dimension 4 over Rational Field
576576
Inner product matrix:
577577
[ 2 0 0 0]
@@ -589,7 +589,7 @@ class QuaternionAlgebra_ab(QuaternionAlgebra):
589589
"""
590590
A quaternion algebra of the form `(a, b)_K`.
591591
592-
See ``QuaternionAlgebra`` for many more examples.
592+
See :class:`QuaternionAlgebra` for many more examples.
593593
594594
INPUT:
595595
@@ -940,7 +940,8 @@ def order_with_level(self, level):
940940
sage: A.<i,j,k> = QuaternionAlgebra(5)
941941
sage: level = 2 * 5 * 17
942942
sage: O = A.order_with_level(level); O
943-
Order of Quaternion Algebra (-2, -5) with base ring Rational Field with basis (1/2 + 1/2*j + 7/2*k, 1/2*i + 19/2*k, j + 7*k, 17*k)
943+
Order of Quaternion Algebra (-2, -5) with base ring Rational Field
944+
with basis (1/2 + 1/2*j + 7/2*k, 1/2*i + 19/2*k, j + 7*k, 17*k)
944945
945946
Check that the order has the right index in the maximal order::
946947
@@ -1019,12 +1020,12 @@ def is_definite(self):
10191020
10201021
EXAMPLES::
10211022
1022-
sage: QuaternionAlgebra(QQ,-5,-2).is_definite()
1023+
sage: QuaternionAlgebra(QQ, -5, -2).is_definite()
10231024
True
10241025
sage: QuaternionAlgebra(1).is_definite()
10251026
False
10261027
1027-
sage: QuaternionAlgebra(RR(2.),1).is_definite()
1028+
sage: QuaternionAlgebra(RR(2.), 1).is_definite()
10281029
Traceback (most recent call last):
10291030
...
10301031
ValueError: base field must be rational numbers
@@ -1040,9 +1041,9 @@ def __eq__(self, other):
10401041
10411042
EXAMPLES::
10421043
1043-
sage: QuaternionAlgebra(-1,-7) == QuaternionAlgebra(-1,-7)
1044+
sage: QuaternionAlgebra(-1, -7) == QuaternionAlgebra(-1, -7)
10441045
True
1045-
sage: QuaternionAlgebra(-1,-7) == QuaternionAlgebra(-1,-5)
1046+
sage: QuaternionAlgebra(-1, -7) == QuaternionAlgebra(-1, -5)
10461047
False
10471048
"""
10481049
if not isinstance(other, QuaternionAlgebra_abstract):
@@ -1056,9 +1057,9 @@ def __ne__(self, other):
10561057
10571058
EXAMPLES::
10581059
1059-
sage: QuaternionAlgebra(-1,-7) != QuaternionAlgebra(-1,-7)
1060+
sage: QuaternionAlgebra(-1, -7) != QuaternionAlgebra(-1, -7)
10601061
False
1061-
sage: QuaternionAlgebra(-1,-7) != QuaternionAlgebra(-1,-5)
1062+
sage: QuaternionAlgebra(-1, -7) != QuaternionAlgebra(-1, -5)
10621063
True
10631064
"""
10641065
return not self.__eq__(other)
@@ -1069,9 +1070,9 @@ def __hash__(self):
10691070
10701071
EXAMPLES::
10711072
1072-
sage: h1 = hash(QuaternionAlgebra(-1,-7))
1073-
sage: h2 = hash(QuaternionAlgebra(-1,-7))
1074-
sage: h3 = hash(QuaternionAlgebra(-1,-5))
1073+
sage: h1 = hash(QuaternionAlgebra(-1, -7))
1074+
sage: h2 = hash(QuaternionAlgebra(-1, -7))
1075+
sage: h3 = hash(QuaternionAlgebra(-1, -5))
10751076
sage: h1 == h2 and h1 != h3
10761077
True
10771078
"""
@@ -1087,7 +1088,7 @@ def gen(self, i=0):
10871088
10881089
EXAMPLES::
10891090
1090-
sage: Q.<ii,jj,kk> = QuaternionAlgebra(QQ,-1,-2); Q
1091+
sage: Q.<ii,jj,kk> = QuaternionAlgebra(QQ, -1, -2); Q
10911092
Quaternion Algebra (-1, -2) with base ring Rational Field
10921093
sage: Q.gen(0)
10931094
ii
@@ -1106,7 +1107,7 @@ def gens(self) -> tuple:
11061107
11071108
EXAMPLES::
11081109
1109-
sage: Q.<ii,jj,kk> = QuaternionAlgebra(QQ,-1,-2); Q
1110+
sage: Q.<ii,jj,kk> = QuaternionAlgebra(QQ, -1, -2); Q
11101111
Quaternion Algebra (-1, -2) with base ring Rational Field
11111112
sage: Q.gens()
11121113
(ii, jj, kk)
@@ -1119,7 +1120,7 @@ def _repr_(self):
11191120
11201121
TESTS::
11211122
1122-
sage: Q.<i,j,k> = QuaternionAlgebra(QQ,-5,-2)
1123+
sage: Q.<i,j,k> = QuaternionAlgebra(QQ, -5, -2)
11231124
sage: type(Q)
11241125
<class 'sage.algebras.quatalg.quaternion_algebra.QuaternionAlgebra_ab_with_category'>
11251126
sage: Q._repr_()
@@ -1142,14 +1143,14 @@ def inner_product_matrix(self):
11421143
11431144
EXAMPLES::
11441145
1145-
sage: Q.<i,j,k> = QuaternionAlgebra(-5,-19)
1146+
sage: Q.<i,j,k> = QuaternionAlgebra(-5, -19)
11461147
sage: Q.inner_product_matrix()
11471148
[ 2 0 0 0]
11481149
[ 0 10 0 0]
11491150
[ 0 0 38 0]
11501151
[ 0 0 0 190]
11511152
1152-
sage: R.<a,b> = QQ[]; Q.<i,j,k> = QuaternionAlgebra(Frac(R),a,b)
1153+
sage: R.<a,b> = QQ[]; Q.<i,j,k> = QuaternionAlgebra(Frac(R), a, b)
11531154
sage: Q.inner_product_matrix()
11541155
[ 2 0 0 0]
11551156
[ 0 -2*a 0 0]
@@ -1167,7 +1168,7 @@ def discriminant(self):
11671168
11681169
EXAMPLES::
11691170
1170-
sage: QuaternionAlgebra(210,-22).discriminant()
1171+
sage: QuaternionAlgebra(210, -22).discriminant()
11711172
210
11721173
sage: QuaternionAlgebra(19).discriminant()
11731174
19
@@ -1219,12 +1220,12 @@ def ramified_primes(self):
12191220
if hilbert_symbol(self._a, self._b, p) == -1)
12201221

12211222
def is_isomorphic(self, A) -> bool:
1222-
"""
1223-
Return ``True`` if (and only if) ``self`` and ``A`` are isomorphic quaternion algebras over Q.
1223+
r"""
1224+
Return ``True`` if (and only if) ``self`` and ``A`` are isomorphic quaternion algebras over `\QQ`.
12241225
12251226
INPUT:
12261227
1227-
- ``A`` -- a quaternion algebra defined over the rationals Q
1228+
- ``A`` -- a quaternion algebra defined over the rationals `\QQ`
12281229
12291230
EXAMPLES::
12301231
@@ -1249,7 +1250,7 @@ def _magma_init_(self, magma):
12491250
12501251
EXAMPLES::
12511252
1252-
sage: Q = QuaternionAlgebra(-1,-1); Q
1253+
sage: Q = QuaternionAlgebra(-1, -1); Q
12531254
Quaternion Algebra (-1, -1) with base ring Rational Field
12541255
sage: Q._magma_init_(magma) # optional - magma
12551256
'QuaternionAlgebra(_sage_[...],-1/1,-1/1)'
@@ -1262,7 +1263,7 @@ def _magma_init_(self, magma):
12621263
12631264
A more complicated example involving a quaternion algebra over a number field::
12641265
1265-
sage: K.<a> = QQ[sqrt(2)]; Q = QuaternionAlgebra(K,-1,a); Q # needs sage.symbolic
1266+
sage: K.<a> = QQ[sqrt(2)]; Q = QuaternionAlgebra(K, -1, a); Q # needs sage.symbolic
12661267
Quaternion Algebra (-1, sqrt2) with base ring Number Field in sqrt2
12671268
with defining polynomial x^2 - 2 with sqrt2 = 1.414213562373095?
12681269
sage: magma(Q) # optional - magma, needs sage.symbolic
@@ -1287,7 +1288,7 @@ def quaternion_order(self, basis, check=True):
12871288
12881289
EXAMPLES::
12891290
1290-
sage: Q.<i,j,k> = QuaternionAlgebra(-11,-1)
1291+
sage: Q.<i,j,k> = QuaternionAlgebra(-11, -1)
12911292
sage: Q.quaternion_order([1,i,j,k])
12921293
Order of Quaternion Algebra (-11, -1) with base ring Rational Field
12931294
with basis (1, i, j, k)
@@ -1386,7 +1387,7 @@ def modp_splitting_data(self, p):
13861387
13871388
The following is a good test because of the asserts in the code::
13881389
1389-
sage: v = [Q.modp_splitting_data(p) for p in primes(20,1000)]
1390+
sage: v = [Q.modp_splitting_data(p) for p in primes(20, 1000)]
13901391
13911392
Proper error handling::
13921393
@@ -1482,7 +1483,7 @@ def unpickle_QuaternionAlgebra_v0(*key):
14821483
14831484
EXAMPLES::
14841485
1485-
sage: Q = QuaternionAlgebra(-5,-19)
1486+
sage: Q = QuaternionAlgebra(-5, -19)
14861487
sage: t = (QQ, -5, -19, ('i', 'j', 'k'))
14871488
sage: sage.algebras.quatalg.quaternion_algebra.unpickle_QuaternionAlgebra_v0(*t)
14881489
Quaternion Algebra (-5, -19) with base ring Rational Field
@@ -1501,9 +1502,10 @@ class QuaternionOrder(Parent):
15011502
15021503
EXAMPLES::
15031504
1504-
sage: QuaternionAlgebra(-1,-7).maximal_order()
1505-
Order of Quaternion Algebra (-1, -7) with base ring Rational Field with basis (1/2 + 1/2*j, 1/2*i + 1/2*k, j, k)
1506-
sage: type(QuaternionAlgebra(-1,-7).maximal_order())
1505+
sage: QuaternionAlgebra(-1, -7).maximal_order()
1506+
Order of Quaternion Algebra (-1, -7) with base ring Rational Field
1507+
with basis (1/2 + 1/2*j, 1/2*i + 1/2*k, j, k)
1508+
sage: type(QuaternionAlgebra(-1, -7).maximal_order())
15071509
<class 'sage.algebras.quatalg.quaternion_algebra.QuaternionOrder_with_category'>
15081510
"""
15091511
def __init__(self, A, basis, check=True):
@@ -1521,7 +1523,7 @@ def __init__(self, A, basis, check=True):
15211523
15221524
EXAMPLES::
15231525
1524-
sage: A.<i,j,k> = QuaternionAlgebra(-3,-5)
1526+
sage: A.<i,j,k> = QuaternionAlgebra(-3, -5)
15251527
sage: sage.algebras.quatalg.quaternion_algebra.QuaternionOrder(A, [1,i,j,k])
15261528
Order of Quaternion Algebra (-3, -5) with base ring Rational Field with basis (1, i, j, k)
15271529
sage: R = sage.algebras.quatalg.quaternion_algebra.QuaternionOrder(A, [1,2*i,2*j,2*k]); R
@@ -1532,26 +1534,27 @@ def __init__(self, A, basis, check=True):
15321534
Over QQ and number fields it is checked whether the given
15331535
basis actually gives an order (as a module over the maximal order)::
15341536
1535-
sage: A.<i,j,k> = QuaternionAlgebra(-1,-1)
1536-
sage: A.quaternion_order([1,i,j,i-j])
1537+
sage: A.<i,j,k> = QuaternionAlgebra(-1, -1)
1538+
sage: A.quaternion_order([1, i, j, i-j])
15371539
Traceback (most recent call last):
15381540
...
15391541
ValueError: basis must have rank 4
1540-
sage: A.quaternion_order([2,i,j,k])
1542+
sage: A.quaternion_order([2, i, j, k])
15411543
Traceback (most recent call last):
15421544
...
15431545
ValueError: lattice must contain 1
1544-
sage: A.quaternion_order([1,i/2,j/2,k/2])
1546+
sage: A.quaternion_order([1, i/2, j/2, k/2])
15451547
Traceback (most recent call last):
15461548
...
15471549
ValueError: given lattice must be a ring
15481550
15491551
sage: K = QuadraticField(10)
1550-
sage: A.<i,j,k> = QuaternionAlgebra(K,-1,-1)
1551-
sage: A.quaternion_order([1,i,j,k])
1552+
sage: A.<i,j,k> = QuaternionAlgebra(K, -1, -1)
1553+
sage: A.quaternion_order([1, i, j, k])
15521554
Order of Quaternion Algebra (-1, -1) with base ring Number Field in a
1553-
with defining polynomial x^2 - 10 with a = 3.162277660168380? with basis (1, i, j, k)
1554-
sage: A.quaternion_order([1,i/2,j,k])
1555+
with defining polynomial x^2 - 10 with a = 3.162277660168380?
1556+
with basis (1, i, j, k)
1557+
sage: A.quaternion_order([1, i/2, j, k])
15551558
Traceback (most recent call last):
15561559
...
15571560
ValueError: given lattice must be a ring
@@ -1626,9 +1629,9 @@ def _element_constructor_(self, x):
16261629
16271630
EXAMPLES::
16281631
1629-
sage: Q.<i,j,k> = QuaternionAlgebra(-1,-19)
1630-
sage: O = Q.quaternion_order([1,i,j,k])
1631-
sage: O(1+i)
1632+
sage: Q.<i,j,k> = QuaternionAlgebra(-1, -19)
1633+
sage: O = Q.quaternion_order([1, i, j, k])
1634+
sage: O(1 + i)
16321635
1 + i
16331636
sage: O(1/2)
16341637
Traceback (most recent call last):
@@ -1656,7 +1659,7 @@ def one(self):
16561659
16571660
EXAMPLES::
16581661
1659-
sage: QuaternionAlgebra(-1,-7).maximal_order().one()
1662+
sage: QuaternionAlgebra(-1, -7).maximal_order().one()
16601663
1
16611664
"""
16621665
return self.quaternion_algebra().one()
@@ -1667,7 +1670,7 @@ def gens(self):
16671670
16681671
EXAMPLES::
16691672
1670-
sage: QuaternionAlgebra(-1,-7).maximal_order().gens()
1673+
sage: QuaternionAlgebra(-1, -7).maximal_order().gens()
16711674
(1/2 + 1/2*j, 1/2*i + 1/2*k, j, k)
16721675
"""
16731676
return self.__basis
@@ -1678,7 +1681,7 @@ def ngens(self):
16781681
16791682
EXAMPLES::
16801683
1681-
sage: QuaternionAlgebra(-1,-7).maximal_order().ngens()
1684+
sage: QuaternionAlgebra(-1, -7).maximal_order().ngens()
16821685
4
16831686
"""
16841687
return 4
@@ -1693,7 +1696,7 @@ def gen(self, n):
16931696
16941697
EXAMPLES::
16951698
1696-
sage: R = QuaternionAlgebra(-11,-1).maximal_order(); R
1699+
sage: R = QuaternionAlgebra(-11, -1).maximal_order(); R
16971700
Order of Quaternion Algebra (-11, -1) with base ring Rational Field
16981701
with basis (1/2 + 1/2*i, 1/2*j - 1/2*k, i, -k)
16991702
sage: R.gen(0)
@@ -1732,10 +1735,10 @@ def __richcmp__(self, other, op):
17321735
17331736
sage: B = QuaternionAlgebra(-1, -11)
17341737
sage: i,j,k = B.gens()
1735-
sage: O = B.quaternion_order([1,i,j,k])
1738+
sage: O = B.quaternion_order([1, i, j, k])
17361739
sage: O == O
17371740
True
1738-
sage: R = B.quaternion_order([1,i,(i+j)/2,(1+k)/2])
1741+
sage: R = B.quaternion_order([1, i, (i+j)/2, (1+k)/2])
17391742
sage: O <= R # indirect doctest
17401743
True
17411744
sage: O >= R
@@ -1766,9 +1769,9 @@ def __hash__(self):
17661769
17671770
EXAMPLES::
17681771
1769-
sage: h1 = hash(QuaternionAlgebra(-1,-7).maximal_order())
1770-
sage: h2 = hash(QuaternionAlgebra(-1,-7).maximal_order())
1771-
sage: h3 = hash(QuaternionAlgebra(-1,-5).maximal_order())
1772+
sage: h1 = hash(QuaternionAlgebra(-1, -7).maximal_order())
1773+
sage: h2 = hash(QuaternionAlgebra(-1, -7).maximal_order())
1774+
sage: h3 = hash(QuaternionAlgebra(-1, -5).maximal_order())
17721775
sage: h1 == h2 and h1 != h3
17731776
True
17741777
"""
@@ -1780,7 +1783,7 @@ def basis(self):
17801783
17811784
EXAMPLES::
17821785
1783-
sage: QuaternionAlgebra(-11,-1).maximal_order().basis()
1786+
sage: QuaternionAlgebra(-11, -1).maximal_order().basis()
17841787
(1/2 + 1/2*i, 1/2*j - 1/2*k, i, -k)
17851788
"""
17861789
return self.__basis
@@ -1802,9 +1805,9 @@ def _repr_(self):
18021805
18031806
EXAMPLES::
18041807
1805-
sage: QuaternionAlgebra(-11,-1).maximal_order()._repr_()
1808+
sage: QuaternionAlgebra(-11, -1).maximal_order()._repr_()
18061809
'Order of Quaternion Algebra (-11, -1) with base ring Rational Field with basis (1/2 + 1/2*i, 1/2*j - 1/2*k, i, -k)'
1807-
sage: QuaternionAlgebra(-11,-1).maximal_order()
1810+
sage: QuaternionAlgebra(-11, -1).maximal_order()
18081811
Order of Quaternion Algebra (-11, -1) with base ring Rational Field with basis (1/2 + 1/2*i, 1/2*j - 1/2*k, i, -k)
18091812
"""
18101813
return 'Order of %s with basis %s' % (self.quaternion_algebra(), self.basis())
@@ -1825,9 +1828,9 @@ def random_element(self, *args, **kwds):
18251828
18261829
EXAMPLES::
18271830
1828-
sage: QuaternionAlgebra(-11,-1).maximal_order().random_element() # random
1831+
sage: QuaternionAlgebra(-11, -1).maximal_order().random_element() # random
18291832
-4 - 4*i + j - k
1830-
sage: QuaternionAlgebra(-11,-1).maximal_order().random_element(-10,10) # random
1833+
sage: QuaternionAlgebra(-11, -1).maximal_order().random_element(-10, 10) # random
18311834
-9/2 - 7/2*i - 7/2*j - 3/2*k
18321835
"""
18331836
return sum(ZZ.random_element(*args, **kwds) * b for b in self.basis())
@@ -1844,21 +1847,21 @@ def intersection(self, other):
18441847
18451848
EXAMPLES::
18461849
1847-
sage: R = QuaternionAlgebra(-11,-1).maximal_order()
1850+
sage: R = QuaternionAlgebra(-11, -1).maximal_order()
18481851
sage: R.intersection(R)
18491852
Order of Quaternion Algebra (-11, -1) with base ring Rational Field
18501853
with basis (1/2 + 1/2*i, i, 1/2*j + 1/2*k, k)
18511854
18521855
We intersect various orders in the quaternion algebra ramified at 11::
18531856
1854-
sage: B = BrandtModule(11,3)
1857+
sage: B = BrandtModule(11, 3)
18551858
sage: R = B.maximal_order(); S = B.order_of_level_N()
18561859
sage: R.intersection(S)
18571860
Order of Quaternion Algebra (-1, -11) with base ring Rational Field
18581861
with basis (1/2 + 1/2*j, 1/2*i + 5/2*k, j, 3*k)
18591862
sage: R.intersection(S) == S
18601863
True
1861-
sage: B = BrandtModule(11,5)
1864+
sage: B = BrandtModule(11, 5)
18621865
sage: T = B.order_of_level_N()
18631866
sage: S.intersection(T)
18641867
Order of Quaternion Algebra (-1, -11) with base ring Rational Field
@@ -1890,7 +1893,7 @@ def free_module(self):
18901893
18911894
EXAMPLES::
18921895
1893-
sage: R = QuaternionAlgebra(-11,-1).maximal_order()
1896+
sage: R = QuaternionAlgebra(-11, -1).maximal_order()
18941897
sage: R.basis()
18951898
(1/2 + 1/2*i, 1/2*j - 1/2*k, i, -k)
18961899
sage: R.free_module()
@@ -1916,9 +1919,9 @@ def discriminant(self):
19161919
19171920
EXAMPLES::
19181921
1919-
sage: QuaternionAlgebra(-11,-1).maximal_order().discriminant()
1922+
sage: QuaternionAlgebra(-11, -1).maximal_order().discriminant()
19201923
11
1921-
sage: S = BrandtModule(11,5).order_of_level_N()
1924+
sage: S = BrandtModule(11, 5).order_of_level_N()
19221925
sage: S.discriminant()
19231926
55
19241927
sage: type(S.discriminant())
@@ -2045,7 +2048,7 @@ def left_ideal(self, gens, check=True, *, is_basis=False):
20452048
20462049
EXAMPLES::
20472050
2048-
sage: Q.<i,j,k> = QuaternionAlgebra(-11,-1)
2051+
sage: Q.<i,j,k> = QuaternionAlgebra(-11, -1)
20492052
sage: R = Q.maximal_order()
20502053
sage: R.left_ideal([a*2 for a in R.basis()], is_basis=True)
20512054
Fractional ideal (1 + i, 2*i, j + k, 2*k)
@@ -2055,9 +2058,9 @@ def left_ideal(self, gens, check=True, *, is_basis=False):
20552058
It is also possible to pass a generating set (rather than a basis),
20562059
or a single generator::
20572060
2058-
sage: R.left_ideal([i+j])
2061+
sage: R.left_ideal([i + j])
20592062
Fractional ideal (1/2 + 1/2*i + 1/2*j + 13/2*k, i + j, 6*j + 6*k, 12*k)
2060-
sage: R.left_ideal(i+j)
2063+
sage: R.left_ideal(i + j)
20612064
Fractional ideal (1/2 + 1/2*i + 1/2*j + 13/2*k, i + j, 6*j + 6*k, 12*k)
20622065
sage: R.left_ideal([2, 1+j]) == R*2 + R*(1+j)
20632066
True
@@ -2088,7 +2091,7 @@ def right_ideal(self, gens, check=True, *, is_basis=False):
20882091
20892092
EXAMPLES::
20902093
2091-
sage: Q.<i,j,k> = QuaternionAlgebra(-11,-1)
2094+
sage: Q.<i,j,k> = QuaternionAlgebra(-11, -1)
20922095
sage: R = Q.maximal_order()
20932096
sage: R.right_ideal([2*a for a in R.basis()], is_basis=True)
20942097
Fractional ideal (1 + i, 2*i, j + k, 2*k)
@@ -2123,7 +2126,7 @@ def unit_ideal(self):
21232126
21242127
EXAMPLES::
21252128
2126-
sage: R = QuaternionAlgebra(-11,-1).maximal_order()
2129+
sage: R = QuaternionAlgebra(-11, -1).maximal_order()
21272130
sage: I = R.unit_ideal(); I
21282131
Fractional ideal (1/2 + 1/2*i, 1/2*j - 1/2*k, i, -k)
21292132
"""
@@ -2140,7 +2143,7 @@ def basis_matrix(self):
21402143
21412144
EXAMPLES::
21422145
2143-
sage: O = QuaternionAlgebra(-11,-1).maximal_order()
2146+
sage: O = QuaternionAlgebra(-11, -1).maximal_order()
21442147
sage: O.basis()
21452148
(1/2 + 1/2*i, 1/2*j - 1/2*k, i, -k)
21462149
sage: O.basis_matrix()
@@ -2152,8 +2155,8 @@ def basis_matrix(self):
21522155
Note that the returned matrix is *not* necessarily the same as
21532156
the basis matrix of the :meth:`unit_ideal()`::
21542157
2155-
sage: Q.<i,j,k> = QuaternionAlgebra(-1,-11)
2156-
sage: O = Q.quaternion_order([j,i,-1,k])
2158+
sage: Q.<i,j,k> = QuaternionAlgebra(-1, -11)
2159+
sage: O = Q.quaternion_order([j, i, -1, k])
21572160
sage: O.basis_matrix()
21582161
[ 0 0 1 0]
21592162
[ 0 1 0 0]
@@ -2174,7 +2177,7 @@ def __mul__(self, other):
21742177
21752178
EXAMPLES::
21762179
2177-
sage: Q.<i,j,k> = QuaternionAlgebra(-1,-11)
2180+
sage: Q.<i,j,k> = QuaternionAlgebra(-1, -11)
21782181
sage: O = Q.maximal_order()
21792182
sage: I = O*j; I
21802183
Fractional ideal (-11/2 + 1/2*j, -11/2*i + 1/2*k, -11, -11*i)
@@ -2191,7 +2194,7 @@ def __add__(self, other):
21912194
21922195
EXAMPLES::
21932196
2194-
sage: Q.<i,j,k> = QuaternionAlgebra(-1,-11)
2197+
sage: Q.<i,j,k> = QuaternionAlgebra(-1, -11)
21952198
sage: O = Q.maximal_order()
21962199
sage: I = O + O*((j-3)/5); I
21972200
Fractional ideal (1/10 + 3/10*j, 1/10*i + 3/10*k, j, k)
@@ -2206,7 +2209,7 @@ def quadratic_form(self):
22062209
22072210
EXAMPLES::
22082211
2209-
sage: R = BrandtModule(11,13).order_of_level_N()
2212+
sage: R = BrandtModule(11, 13).order_of_level_N()
22102213
sage: Q = R.quadratic_form(); Q
22112214
Quadratic form in 4 variables over Rational Field with coefficients:
22122215
[ 14 253 55 286 ]
@@ -2224,7 +2227,7 @@ def ternary_quadratic_form(self, include_basis=False):
22242227
22252228
INPUT:
22262229
2227-
- ``include_basis`` -- boolean (default: ``False``); if ``True`` also
2230+
- ``include_basis`` -- boolean (default: ``False``); if ``True``, also
22282231
return a basis for the dimension 3 subspace `G`
22292232
22302233
OUTPUT: QuadraticForm
@@ -2249,7 +2252,7 @@ def ternary_quadratic_form(self, include_basis=False):
22492252
22502253
EXAMPLES::
22512254
2252-
sage: R = BrandtModule(11,13).order_of_level_N()
2255+
sage: R = BrandtModule(11, 13).order_of_level_N()
22532256
sage: Q = R.ternary_quadratic_form(); Q
22542257
Quadratic form in 3 variables over Rational Field with coefficients:
22552258
[ 5820 1012 13156 ]
@@ -2313,8 +2316,10 @@ def isomorphism_to(self, other, *, conjugator=False, B=10):
23132316
sage: iso = O0.isomorphism_to(O1)
23142317
sage: iso
23152318
Ring morphism:
2316-
From: Order of Quaternion Algebra (-1, -19) with base ring Rational Field with basis (1, i, 1/2*i + 1/2*j, 1/2 + 1/2*k)
2317-
To: Order of Quaternion Algebra (-1, -19) with base ring Rational Field with basis (1, 667*i, 1/2 + 9*i + 1/2*j, 222075/1334*i + 333/667*j + 1/1334*k)
2319+
From: Order of Quaternion Algebra (-1, -19) with base ring Rational Field with
2320+
basis (1, i, 1/2*i + 1/2*j, 1/2 + 1/2*k)
2321+
To: Order of Quaternion Algebra (-1, -19) with base ring Rational Field with
2322+
basis (1, 667*i, 1/2 + 9*i + 1/2*j, 222075/1334*i + 333/667*j + 1/1334*k)
23182323
Defn: i |--> 629/667*i + 36/667*j - 36/667*k
23192324
j |--> 684/667*i - 648/667*j - 19/667*k
23202325
k |--> -684/667*i - 19/667*j - 648/667*k
@@ -2381,7 +2386,7 @@ def isomorphism_to(self, other, *, conjugator=False, B=10):
23812386
23822387
Test error cases::
23832388
2384-
sage: Quat.<i,j,k> = QuaternionAlgebra(-1,-11)
2389+
sage: Quat.<i,j,k> = QuaternionAlgebra(-1, -11)
23852390
sage: O = Quat.maximal_order()
23862391
sage: O.isomorphism_to('potato')
23872392
Traceback (most recent call last):
@@ -2390,8 +2395,8 @@ def isomorphism_to(self, other, *, conjugator=False, B=10):
23902395
23912396
::
23922397
2393-
sage: Quat1.<i1,j1,k1> = QuaternionAlgebra(-1,-11)
2394-
sage: Quat2.<i2,j2,k2> = QuaternionAlgebra(-3,-11)
2398+
sage: Quat1.<i1,j1,k1> = QuaternionAlgebra(-1, -11)
2399+
sage: Quat2.<i2,j2,k2> = QuaternionAlgebra(-3, -11)
23952400
sage: Quat1.discriminant() == Quat2.discriminant() # isomorphic
23962401
True
23972402
sage: O1 = Quat1.maximal_order()
@@ -2403,7 +2408,7 @@ def isomorphism_to(self, other, *, conjugator=False, B=10):
24032408
24042409
::
24052410
2406-
sage: Quat.<i,j,k> = QuaternionAlgebra(7,11)
2411+
sage: Quat.<i,j,k> = QuaternionAlgebra(7, 11)
24072412
sage: O1 = Quat.maximal_order()
24082413
sage: O2 = (O1 * (i+j)).right_order()
24092414
sage: O1.isomorphism_to(O2)
@@ -2413,7 +2418,7 @@ def isomorphism_to(self, other, *, conjugator=False, B=10):
24132418
24142419
::
24152420
2416-
sage: Quat.<i,j,k> = QuaternionAlgebra(-1,-11)
2421+
sage: Quat.<i,j,k> = QuaternionAlgebra(-1, -11)
24172422
sage: O1 = Quat.quaternion_order([1, i, j, k])
24182423
sage: O2 = Quat.quaternion_order([1,-i, j,-k])
24192424
sage: O1.isomorphism_to(O2)
@@ -2423,7 +2428,7 @@ def isomorphism_to(self, other, *, conjugator=False, B=10):
24232428
24242429
::
24252430
2426-
sage: Quat.<i,j,k> = QuaternionAlgebra(-1,-11)
2431+
sage: Quat.<i,j,k> = QuaternionAlgebra(-1, -11)
24272432
sage: O1 = Quat.quaternion_order([1, i, (i+j)/2, (1+k)/2])
24282433
sage: O2 = Quat.quaternion_order([1, (2+i+k)/4, (-11*i+2*j+k)/4, (-5*i+k)/3])
24292434
sage: O1.isomorphism_to(O2)
@@ -2536,15 +2541,15 @@ def __init__(self, Q, basis, left_order=None, right_order=None, check=True):
25362541
"""
25372542
EXAMPLES::
25382543
2539-
sage: R = QuaternionAlgebra(-11,-1).maximal_order()
2544+
sage: R = QuaternionAlgebra(-11, -1).maximal_order()
25402545
sage: R.right_ideal(R.basis())
25412546
Fractional ideal (1/2 + 1/2*i, i, 1/2*j + 1/2*k, k)
25422547
sage: R.right_ideal(tuple(R.basis()), check=False, is_basis=True)
25432548
Fractional ideal (1/2 + 1/2*i, 1/2*j - 1/2*k, i, -k)
25442549
25452550
TESTS::
25462551
2547-
sage: QuaternionAlgebra(-11,-1).maximal_order().unit_ideal().gens()
2552+
sage: QuaternionAlgebra(-11, -1).maximal_order().unit_ideal().gens()
25482553
(1/2 + 1/2*i, 1/2*j - 1/2*k, i, -k)
25492554
25502555
Check that :issue:`31582` is fixed::
@@ -2583,7 +2588,7 @@ def scale(self, alpha, left=False):
25832588
25842589
EXAMPLES::
25852590
2586-
sage: B = BrandtModule(5,37); I = B.right_ideals()[0]
2591+
sage: B = BrandtModule(5, 37); I = B.right_ideals()[0]
25872592
sage: i,j,k = B.quaternion_algebra().gens(); I
25882593
Fractional ideal (2 + 2*j + 106*k, i + 2*j + 105*k, 4*j + 64*k, 148*k)
25892594
sage: I.scale(i)
@@ -2606,7 +2611,7 @@ def scale(self, alpha, left=False):
26062611
26072612
Check that :issue:`32726` is fixed::
26082613
2609-
sage: Q.<i,j,k> = QuaternionAlgebra(-1,-19)
2614+
sage: Q.<i,j,k> = QuaternionAlgebra(-1, -19)
26102615
sage: I = Q.ideal([1,i,j,k])
26112616
sage: _ = I.left_order(), I.right_order() # cache
26122617
sage: span = lambda L: L.basis_matrix().row_module(ZZ)
@@ -2761,7 +2766,7 @@ def right_order(self):
27612766
corresponding left orders, then take ideals in the left orders
27622767
and from those compute the right order again::
27632768
2764-
sage: B = BrandtModule(11,19); R = B.right_ideals()
2769+
sage: B = BrandtModule(11, 19); R = B.right_ideals()
27652770
sage: O = [r.left_order() for r in R]
27662771
sage: J = [O[i].left_ideal(R[i].basis()) for i in range(len(R))]
27672772
sage: len(set(J))
@@ -2810,7 +2815,7 @@ def basis(self):
28102815
28112816
EXAMPLES::
28122817
2813-
sage: QuaternionAlgebra(-11,-1).maximal_order().unit_ideal().basis()
2818+
sage: QuaternionAlgebra(-11, -1).maximal_order().unit_ideal().basis()
28142819
(1/2 + 1/2*i, 1/2*j - 1/2*k, i, -k)
28152820
"""
28162821
return self.gens()
@@ -2842,12 +2847,12 @@ def _richcmp_(self, right, op):
28422847
28432848
TESTS::
28442849
2845-
sage: B = QuaternionAlgebra(QQ,-1,-11)
2850+
sage: B = QuaternionAlgebra(QQ, -1, -11)
28462851
sage: i,j,k = B.gens()
2847-
sage: I = B.ideal([1,i,j,i*j])
2852+
sage: I = B.ideal([1, i, j, i*j])
28482853
sage: I == I
28492854
True
2850-
sage: O = B.ideal([1,i,(i+j)/2,(1+i*j)/2])
2855+
sage: O = B.ideal([1, i, (i+j)/2, (1+i*j)/2])
28512856
sage: I <= O
28522857
True
28532858
sage: I >= O
@@ -2875,13 +2880,13 @@ def __hash__(self):
28752880
28762881
EXAMPLES::
28772882
2878-
sage: I = QuaternionAlgebra(-11,-1).maximal_order().unit_ideal()
2883+
sage: I = QuaternionAlgebra(-11, -1).maximal_order().unit_ideal()
28792884
sage: hash(I) == hash(I)
28802885
True
28812886
28822887
TESTS::
28832888
2884-
sage: R = QuaternionAlgebra(-11,-1).maximal_order()
2889+
sage: R = QuaternionAlgebra(-11, -1).maximal_order()
28852890
sage: H = hash(R.right_ideal(R.basis()))
28862891
"""
28872892
return hash(self.gens())
@@ -2893,15 +2898,15 @@ def basis_matrix(self):
28932898
matrix with rational entries.
28942899
28952900
If `Q` is the ambient quaternion algebra, then the `\ZZ`-span of
2896-
the rows of `M` viewed as linear combinations of Q.basis() =
2901+
the rows of `M` viewed as linear combinations of ``Q.basis()`` =
28972902
`[1,i,j,k]` is the fractional ideal ``self``. Also,
28982903
``M * M.denominator()`` is an integer matrix in Hermite normal form.
28992904
29002905
OUTPUT: matrix over `\QQ`
29012906
29022907
EXAMPLES::
29032908
2904-
sage: QuaternionAlgebra(-11,-1).maximal_order().unit_ideal().basis_matrix()
2909+
sage: QuaternionAlgebra(-11, -1).maximal_order().unit_ideal().basis_matrix()
29052910
[1/2 1/2 0 0]
29062911
[ 0 1 0 0]
29072912
[ 0 0 1/2 1/2]
@@ -2921,7 +2926,7 @@ def reduced_basis(self):
29212926
29222927
EXAMPLES::
29232928
2924-
sage: B = BrandtModule(2,37); I = B.right_ideals()[0]
2929+
sage: B = BrandtModule(2, 37); I = B.right_ideals()[0]
29252930
sage: I
29262931
Fractional ideal (2 + 2*i + 2*j + 2*k, 4*i + 108*k, 4*j + 44*k, 148*k)
29272932
sage: I.reduced_basis()
@@ -3018,9 +3023,10 @@ def minimal_element(self):
30183023
30193024
EXAMPLES::
30203025
3021-
sage: Quat.<i,j,k> = QuaternionAlgebra(-3,-101)
3026+
sage: Quat.<i,j,k> = QuaternionAlgebra(-3, -101)
30223027
sage: O = Quat.maximal_order(); O
3023-
Order of Quaternion Algebra (-3, -101) with base ring Rational Field with basis (1/2 + 1/2*i, 1/2*j - 1/2*k, -1/3*i + 1/3*k, -k)
3028+
Order of Quaternion Algebra (-3, -101) with base ring Rational Field
3029+
with basis (1/2 + 1/2*i, 1/2*j - 1/2*k, -1/3*i + 1/3*k, -k)
30243030
sage: (O * 5).minimal_element()
30253031
5/2 + 5/2*i
30263032
sage: alpha = 1/2 + 1/6*i + j + 55/3*k
@@ -3040,7 +3046,7 @@ def minimal_element(self):
30403046
def theta_series(self, B, var='q'):
30413047
r"""
30423048
Return normalized theta series of ``self``, as a power series over
3043-
`\ZZ` in the variable ``var``, which is 'q' by default.
3049+
`\ZZ` in the variable ``var``, which is ``'q'`` by default.
30443050
30453051
The normalized theta series is by definition
30463052
@@ -3092,7 +3098,7 @@ def gram_matrix(self):
30923098
30933099
EXAMPLES::
30943100
3095-
sage: I = BrandtModule(3,5).right_ideals()[1]; I
3101+
sage: I = BrandtModule(3, 5).right_ideals()[1]; I
30963102
Fractional ideal (2 + 6*j + 4*k, 2*i + 4*j + 34*k, 8*j + 32*k, 40*k)
30973103
sage: I.gram_matrix()
30983104
[ 640 1920 2112 1920]
@@ -3128,7 +3134,7 @@ def norm(self):
31283134
sage: [ magma('rideal<O | %s>' % str(list(I.basis()))).Norm() for I in C]
31293135
[16, 32, 32]
31303136
3131-
sage: A.<i,j,k> = QuaternionAlgebra(-1,-1)
3137+
sage: A.<i,j,k> = QuaternionAlgebra(-1, -1)
31323138
sage: R = A.ideal([i,j,k,1/2 + 1/2*i + 1/2*j + 1/2*k]) # this is actually an order, so has reduced norm 1
31333139
sage: R.norm()
31343140
1
@@ -3153,7 +3159,7 @@ def conjugate(self):
31533159
31543160
EXAMPLES::
31553161
3156-
sage: I = BrandtModule(3,5).right_ideals()[1]; I
3162+
sage: I = BrandtModule(3, 5).right_ideals()[1]; I
31573163
Fractional ideal (2 + 6*j + 4*k, 2*i + 4*j + 34*k, 8*j + 32*k, 40*k)
31583164
sage: I.conjugate()
31593165
Fractional ideal (2 + 2*j + 28*k, 2*i + 4*j + 34*k, 8*j + 32*k, 40*k)
@@ -3241,7 +3247,7 @@ def free_module(self):
32413247
32423248
EXAMPLES::
32433249
3244-
sage: X = BrandtModule(3,5).right_ideals()
3250+
sage: X = BrandtModule(3, 5).right_ideals()
32453251
sage: X[0]
32463252
Fractional ideal (2 + 2*j + 8*k, 2*i + 18*k, 4*j + 16*k, 20*k)
32473253
sage: X[0].free_module()
@@ -3259,7 +3265,7 @@ def free_module(self):
32593265
[ 0 0 4/7 16/7]
32603266
[ 0 0 0 20/7]
32613267
3262-
sage: QuaternionAlgebra(-11,-1).maximal_order().unit_ideal().basis_matrix()
3268+
sage: QuaternionAlgebra(-11, -1).maximal_order().unit_ideal().basis_matrix()
32633269
[1/2 1/2 0 0]
32643270
[ 0 1 0 0]
32653271
[ 0 0 1/2 1/2]
@@ -3268,7 +3274,7 @@ def free_module(self):
32683274
The free module method is also useful since it allows for checking if
32693275
one ideal is contained in another, computing quotients `I/J`, etc.::
32703276
3271-
sage: X = BrandtModule(3,17).right_ideals()
3277+
sage: X = BrandtModule(3, 17).right_ideals()
32723278
sage: I = X[0].intersection(X[2]); I
32733279
Fractional ideal (2 + 2*j + 164*k, 2*i + 4*j + 46*k, 16*j + 224*k, 272*k)
32743280
sage: I.free_module().is_submodule(X[3].free_module())
@@ -3299,7 +3305,7 @@ def intersection(self, J):
32993305
33003306
EXAMPLES::
33013307
3302-
sage: X = BrandtModule(3,5).right_ideals()
3308+
sage: X = BrandtModule(3, 5).right_ideals()
33033309
sage: I = X[0].intersection(X[1]); I
33043310
Fractional ideal (2 + 6*j + 4*k, 2*i + 4*j + 34*k, 8*j + 32*k, 40*k)
33053311
"""
@@ -3321,7 +3327,7 @@ def multiply_by_conjugate(self, J):
33213327
33223328
EXAMPLES::
33233329
3324-
sage: R = BrandtModule(3,5).right_ideals()
3330+
sage: R = BrandtModule(3, 5).right_ideals()
33253331
sage: R[0].multiply_by_conjugate(R[1])
33263332
Fractional ideal (8 + 8*j + 112*k, 8*i + 16*j + 136*k, 32*j + 128*k, 160*k)
33273333
sage: R[0]*R[1].conjugate()
@@ -3345,7 +3351,7 @@ def pushforward(self, J, side=None):
33453351
the same left order or right order as ``self``
33463352
33473353
- ``side`` -- string (default: ``None``); set to ``'left'`` or ``'right'`` to
3348-
perform pushforward of left or right ideals respectively. If ``None`` the side
3354+
perform pushforward of left or right ideals, respectively. If ``None``, the side
33493355
is determined by the matching left or right orders
33503356
33513357
OUTPUT: a fractional quaternion ideal
@@ -3439,7 +3445,7 @@ def pullback(self, J, side=None):
34393445
left order equal to the right order of ``self``, or vice versa
34403446
34413447
- ``side`` -- string (default: ``None``); set to ``'left'`` or ``'right'`` to
3442-
perform pullback of left or right ideals respectively. If ``None`` the side
3448+
perform pullback of left or right ideals, respectively. If ``None``, the side
34433449
is determined by the matching left and right orders
34443450
34453451
OUTPUT: a fractional quaternion ideal
@@ -3538,8 +3544,8 @@ def is_equivalent(self, J, B=10, certificate=False, side=None):
35383544
- ``certificate`` -- if ``True`` returns an element alpha such that
35393545
alpha*J = I or J*alpha = I for right and left ideals respectively
35403546
3541-
- ``side`` -- if ``'left'`` performs left equivalence test. If ``'right'
3542-
``or ``None`` performs right ideal equivalence test
3547+
- ``side`` -- if ``'left'`` performs left equivalence test. If ``'right'``
3548+
or ``None``, performs right ideal equivalence test
35433549
35443550
OUTPUT: boolean, or (boolean, alpha) if ``certificate`` is ``True``
35453551
@@ -3988,12 +3994,12 @@ def basis_for_quaternion_lattice(gens, reverse=None):
39883994
EXAMPLES::
39893995
39903996
sage: from sage.algebras.quatalg.quaternion_algebra import basis_for_quaternion_lattice
3991-
sage: A.<i,j,k> = QuaternionAlgebra(-1,-7)
3997+
sage: A.<i,j,k> = QuaternionAlgebra(-1, -7)
39923998
sage: basis_for_quaternion_lattice([i+j, i-j, 2*k, A(1/3)])
39933999
doctest:warning ... DeprecationWarning: ...
39944000
[1/3, i + j, 2*j, 2*k]
39954001
3996-
sage: basis_for_quaternion_lattice([A(1),i,j,k])
4002+
sage: basis_for_quaternion_lattice([A(1), i, j, k])
39974003
[1, i, j, k]
39984004
"""
39994005
if reverse is None:

0 commit comments

Comments
 (0)
Please sign in to comment.