#12861: maximal_order of quaternion algebras should be more general
-------------------------------+--------------------------------------------
Reporter: daniels | Owner: daniels
Type: enhancement | Status: needs_work
Priority: major | Milestone: sage-5.3
Component: algebra | Resolution:
Keywords: | Work issues:
Report Upstream: N/A | Reviewers:
Authors: | Merged in:
Dependencies: #12860 | Stopgaps:
-------------------------------+--------------------------------------------
Changes (by aly.deines):
* status: needs_review => needs_work
Comment:
Running -t using sage-5.2.rc0, the following errors came up:
{{{
Alys-MacBook-Air:sage-5.2.rc0 aly$ ./sage -t
devel/sage/sage/algebras/quatalg/
sage -t "devel/sage/sage/algebras/quatalg/__init__.py"
[0.1 s]
sage -t "devel/sage/sage/algebras/quatalg/all.py"
[0.1 s]
sage -t "devel/sage/sage/algebras/quatalg/quaternion_algebra.py"
**********************************************************************
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/devel/sage/sage/algebras/quatalg/quaternion_algebra.py",
line 641:
sage: QuaternionAlgebra(-17*9,-3).maximal_order().basis()
Exception raised:
Traceback (most recent call last):
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/ncadoctest.py", line
1231, in run_one_test
self.run_one_example(test, example, filename, compileflags)
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/sagedoctest.py", line
38, in run_one_example
OrigDocTestRunner.run_one_example(self, test, example, filename,
compileflags)
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/ncadoctest.py", line
1172, in run_one_example
compileflags, 1) in test.globs
File "<doctest __main__.example_20[11]>", line 1, in <module>
QuaternionAlgebra(-Integer(17)*Integer(9),-Integer(3)).maximal_order().basis()###line
641:
sage: QuaternionAlgebra(-17*9,-3).maximal_order().basis()
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 739, in
maximal_order
f = normalize_basis_at_p(list(e), p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2745, in
normalize_basis_at_p
print 'f', f, 'dif', min_v - valuation(p,2)
File "element.pyx", line 1550, in
sage.structure.element.RingElement.__sub__
(sage/structure/element.c:13697)
File "coerce.pyx", line 797, in
sage.structure.coerce.CoercionModel_cache_maps.bin_op
(sage/structure/coerce.c:7668)
File "coerce.pxi", line 71, in
sage.structure.coerce.arith_error_message (sage/structure/coerce.c:3038)
File "coerce.pxi", line 41, in sage.structure.coerce.parent_c
(sage/structure/coerce.c:2710)
TypeError: descriptor 'parent' of 'sage.structure.element.Element'
object needs an argument
**********************************************************************
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/devel/sage/sage/algebras/quatalg/quaternion_algebra.py",
line 650:
sage: QuaternionAlgebra(-3,-89).maximal_order(take_shortcuts=False)
Exception raised:
Traceback (most recent call last):
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/ncadoctest.py", line
1231, in run_one_test
self.run_one_example(test, example, filename, compileflags)
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/sagedoctest.py", line
38, in run_one_example
OrigDocTestRunner.run_one_example(self, test, example, filename,
compileflags)
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/ncadoctest.py", line
1172, in run_one_example
compileflags, 1) in test.globs
File "<doctest __main__.example_20[13]>", line 1, in <module>
QuaternionAlgebra(-Integer(3),-Integer(89)).maximal_order(take_shortcuts=False)###line
650:
sage: QuaternionAlgebra(-3,-89).maximal_order(take_shortcuts=False)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 739, in
maximal_order
f = normalize_basis_at_p(list(e), p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2745, in
normalize_basis_at_p
print 'f', f, 'dif', min_v - valuation(p,2)
File "element.pyx", line 1550, in
sage.structure.element.RingElement.__sub__
(sage/structure/element.c:13697)
File "coerce.pyx", line 797, in
sage.structure.coerce.CoercionModel_cache_maps.bin_op
(sage/structure/coerce.c:7668)
File "coerce.pxi", line 71, in
sage.structure.coerce.arith_error_message (sage/structure/coerce.c:3038)
File "coerce.pxi", line 41, in sage.structure.coerce.parent_c
(sage/structure/coerce.c:2710)
TypeError: descriptor 'parent' of 'sage.structure.element.Element'
object needs an argument
**********************************************************************
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/devel/sage/sage/algebras/quatalg/quaternion_algebra.py",
line 652:
sage: QuaternionAlgebra(1,1).maximal_order(take_shortcuts=False) #
Matrix ring
Exception raised:
Traceback (most recent call last):
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/ncadoctest.py", line
1231, in run_one_test
self.run_one_example(test, example, filename, compileflags)
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/sagedoctest.py", line
38, in run_one_example
OrigDocTestRunner.run_one_example(self, test, example, filename,
compileflags)
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/ncadoctest.py", line
1172, in run_one_example
compileflags, 1) in test.globs
File "<doctest __main__.example_20[14]>", line 1, in <module>
QuaternionAlgebra(Integer(1),Integer(1)).maximal_order(take_shortcuts=False)
# Matrix ring###line 652:
sage: QuaternionAlgebra(1,1).maximal_order(take_shortcuts=False) #
Matrix ring
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 739, in
maximal_order
f = normalize_basis_at_p(list(e), p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2745, in
normalize_basis_at_p
print 'f', f, 'dif', min_v - valuation(p,2)
File "element.pyx", line 1550, in
sage.structure.element.RingElement.__sub__
(sage/structure/element.c:13697)
File "coerce.pyx", line 797, in
sage.structure.coerce.CoercionModel_cache_maps.bin_op
(sage/structure/coerce.c:7668)
File "coerce.pxi", line 71, in
sage.structure.coerce.arith_error_message (sage/structure/coerce.c:3038)
File "coerce.pxi", line 41, in sage.structure.coerce.parent_c
(sage/structure/coerce.c:2710)
TypeError: descriptor 'parent' of 'sage.structure.element.Element'
object needs an argument
**********************************************************************
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/devel/sage/sage/algebras/quatalg/quaternion_algebra.py",
line 654:
sage: QuaternionAlgebra(-22,210).maximal_order(take_shortcuts=False)
Exception raised:
Traceback (most recent call last):
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/ncadoctest.py", line
1231, in run_one_test
self.run_one_example(test, example, filename, compileflags)
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/sagedoctest.py", line
38, in run_one_example
OrigDocTestRunner.run_one_example(self, test, example, filename,
compileflags)
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/ncadoctest.py", line
1172, in run_one_example
compileflags, 1) in test.globs
File "<doctest __main__.example_20[15]>", line 1, in <module>
QuaternionAlgebra(-Integer(22),Integer(210)).maximal_order(take_shortcuts=False)###line
654:
sage: QuaternionAlgebra(-22,210).maximal_order(take_shortcuts=False)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 739, in
maximal_order
f = normalize_basis_at_p(list(e), p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2745, in
normalize_basis_at_p
print 'f', f, 'dif', min_v - valuation(p,2)
File "element.pyx", line 1550, in
sage.structure.element.RingElement.__sub__
(sage/structure/element.c:13697)
File "coerce.pyx", line 797, in
sage.structure.coerce.CoercionModel_cache_maps.bin_op
(sage/structure/coerce.c:7668)
File "coerce.pxi", line 71, in
sage.structure.coerce.arith_error_message (sage/structure/coerce.c:3038)
File "coerce.pxi", line 41, in sage.structure.coerce.parent_c
(sage/structure/coerce.c:2710)
TypeError: descriptor 'parent' of 'sage.structure.element.Element'
object needs an argument
**********************************************************************
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/devel/sage/sage/algebras/quatalg/quaternion_algebra.py",
line 2693:
sage: normalize_basis_at_p(e, 2)
Exception raised:
Traceback (most recent call last):
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/ncadoctest.py", line
1231, in run_one_test
self.run_one_example(test, example, filename, compileflags)
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/sagedoctest.py", line
38, in run_one_example
OrigDocTestRunner.run_one_example(self, test, example, filename,
compileflags)
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/ncadoctest.py", line
1172, in run_one_example
compileflags, 1) in test.globs
File "<doctest __main__.example_83[5]>", line 1, in <module>
normalize_basis_at_p(e, Integer(2))###line 2693:
sage: normalize_basis_at_p(e, 2)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2745, in
normalize_basis_at_p
print 'f', f, 'dif', min_v - valuation(p,2)
File "element.pyx", line 1550, in
sage.structure.element.RingElement.__sub__
(sage/structure/element.c:13697)
File "coerce.pyx", line 797, in
sage.structure.coerce.CoercionModel_cache_maps.bin_op
(sage/structure/coerce.c:7668)
File "coerce.pxi", line 71, in
sage.structure.coerce.arith_error_message (sage/structure/coerce.c:3038)
File "coerce.pxi", line 41, in sage.structure.coerce.parent_c
(sage/structure/coerce.c:2710)
TypeError: descriptor 'parent' of 'sage.structure.element.Element'
object needs an argument
**********************************************************************
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/devel/sage/sage/algebras/quatalg/quaternion_algebra.py",
line 2697:
sage: normalize_basis_at_p(e, 2)
Exception raised:
Traceback (most recent call last):
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/ncadoctest.py", line
1231, in run_one_test
self.run_one_example(test, example, filename, compileflags)
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/sagedoctest.py", line
38, in run_one_example
OrigDocTestRunner.run_one_example(self, test, example, filename,
compileflags)
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/ncadoctest.py", line
1172, in run_one_example
compileflags, 1) in test.globs
File "<doctest __main__.example_83[8]>", line 1, in <module>
normalize_basis_at_p(e, Integer(2))###line 2697:
sage: normalize_basis_at_p(e, 2)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2745, in
normalize_basis_at_p
print 'f', f, 'dif', min_v - valuation(p,2)
File "element.pyx", line 1550, in
sage.structure.element.RingElement.__sub__
(sage/structure/element.c:13697)
File "coerce.pyx", line 797, in
sage.structure.coerce.CoercionModel_cache_maps.bin_op
(sage/structure/coerce.c:7668)
File "coerce.pxi", line 71, in
sage.structure.coerce.arith_error_message (sage/structure/coerce.c:3038)
File "coerce.pxi", line 41, in sage.structure.coerce.parent_c
(sage/structure/coerce.c:2710)
TypeError: descriptor 'parent' of 'sage.structure.element.Element'
object needs an argument
**********************************************************************
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/devel/sage/sage/algebras/quatalg/quaternion_algebra.py",
line 2701:
sage: normalize_basis_at_p(e, 5)
Exception raised:
Traceback (most recent call last):
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/ncadoctest.py", line
1231, in run_one_test
self.run_one_example(test, example, filename, compileflags)
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/sagedoctest.py", line
38, in run_one_example
OrigDocTestRunner.run_one_example(self, test, example, filename,
compileflags)
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/ncadoctest.py", line
1172, in run_one_example
compileflags, 1) in test.globs
File "<doctest __main__.example_83[11]>", line 1, in <module>
normalize_basis_at_p(e, Integer(5))###line 2701:
sage: normalize_basis_at_p(e, 5)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2745, in
normalize_basis_at_p
print 'f', f, 'dif', min_v - valuation(p,2)
File "element.pyx", line 1550, in
sage.structure.element.RingElement.__sub__
(sage/structure/element.c:13697)
File "coerce.pyx", line 797, in
sage.structure.coerce.CoercionModel_cache_maps.bin_op
(sage/structure/coerce.c:7668)
File "coerce.pxi", line 71, in
sage.structure.coerce.arith_error_message (sage/structure/coerce.c:3038)
File "coerce.pxi", line 41, in sage.structure.coerce.parent_c
(sage/structure/coerce.c:2710)
TypeError: descriptor 'parent' of 'sage.structure.element.Element'
object needs an argument
**********************************************************************
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/devel/sage/sage/algebras/quatalg/quaternion_algebra.py",
line 2705:
sage: normalize_basis_at_p(e, 2)
Exception raised:
Traceback (most recent call last):
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/ncadoctest.py", line
1231, in run_one_test
self.run_one_example(test, example, filename, compileflags)
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/sagedoctest.py", line
38, in run_one_example
OrigDocTestRunner.run_one_example(self, test, example, filename,
compileflags)
File
"/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/bin/ncadoctest.py", line
1172, in run_one_example
compileflags, 1) in test.globs
File "<doctest __main__.example_83[14]>", line 1, in <module>
normalize_basis_at_p(e, Integer(2))###line 2705:
sage: normalize_basis_at_p(e, 2)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2744, in
normalize_basis_at_p
f = normalize_basis_at_p(e[1:], p)
File "/Users/aly/Desktop/AllSage/sage-5.2.rc0/local/lib/python/site-
packages/sage/algebras/quatalg/quaternion_algebra.py", line 2745, in
normalize_basis_at_p
print 'f', f, 'dif', min_v - valuation(p,2)
File "element.pyx", line 1550, in
sage.structure.element.RingElement.__sub__
(sage/structure/element.c:13697)
File "coerce.pyx", line 797, in
sage.structure.coerce.CoercionModel_cache_maps.bin_op
(sage/structure/coerce.c:7668)
File "coerce.pxi", line 71, in
sage.structure.coerce.arith_error_message (sage/structure/coerce.c:3038)
File "coerce.pxi", line 41, in sage.structure.coerce.parent_c
(sage/structure/coerce.c:2710)
TypeError: descriptor 'parent' of 'sage.structure.element.Element'
object needs an argument
**********************************************************************
2 items had failures:
4 of 19 in __main__.example_20
4 of 16 in __main__.example_83
***Test Failed*** 8 failures.
For whitespace errors, see the file
/Users/aly/.sage//tmp/quaternion_algebra_66690.py
[13.4 s]
sage -t "devel/sage/sage/algebras/quatalg/quaternion_algebra_cython.pyx"
[2.3 s]
sage -t "devel/sage/sage/algebras/quatalg/quaternion_algebra_element.pyx"
[4.4 s]
----------------------------------------------------------------------
The following tests failed:
sage -t "devel/sage/sage/algebras/quatalg/quaternion_algebra.py"
Total time for all tests: 20.5 seconds
}}}
I'll try again on sage-5.1.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12861#comment:4>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.