#6462: Unpickling problem for orders in a number field
---------------------------+------------------------------------------------
Reporter: davidloeffler | Owner: was
Type: defect | Status: new
Priority: major | Milestone: sage-4.1.1
Component: number theory | Keywords:
Reviewer: | Author:
Merged: |
---------------------------+------------------------------------------------
Unpickling elements of number field orders doesn't work:
{{{
sage: L = QuadraticField(-11,'a'); OL = L.maximal_order(); w = OL.0
sage: loads(dumps(w))
---------------------------------------------------------------------------
AttributeError Traceback (most recent call
last)
/home/david/.sage/temp/groke/24319/_home_david__sage_init_sage_0.py in
<module>()
/home/david/sage-4.1/local/lib/python2.6/site-
packages/sage/structure/sage_object.so in sage.structure.sage_object.loads
(sage/structure/sage_object.c:8076)()
/home/david/sage-4.1/local/lib/python2.6/site-
packages/sage/rings/number_field/number_field_element_quadratic.so in
sage.rings.number_field.number_field_element_quadratic.__make_NumberFieldElement_quadratic0
(sage/rings/number_field/number_field_element_quadratic.cpp:2792)()
/home/david/sage-4.1/local/lib/python2.6/site-
packages/sage/rings/number_field/number_field_element_quadratic.so in
sage.rings.number_field.number_field_element_quadratic.NumberFieldElement_quadratic.__init__
(sage/rings/number_field/number_field_element_quadratic.cpp:2897)()
<type 'str'>: (<type 'exceptions.AttributeError'>,
AttributeError("'AbsoluteOrder' object has no attribute '_is_maximal'",))
}}}
With orders in higher-degree fields, I get a different error message:
sage: L = NumberField(x^3 - x - 1,'a'); OL = L.maximal_order(); w = OL.0
sage: loads(dumps(w))
---------------------------------------------------------------------------
AttributeError Traceback (most recent call
last)
/home/david/.sage/temp/groke/24319/_home_david__sage_init_sage_0.py in
<module>()
/home/david/sage-4.1/local/lib/python2.6/site-
packages/sage/structure/sage_object.so in sage.structure.sage_object.loads
(sage/structure/sage_object.c:8076)()
/home/david/sage-4.1/local/lib/python2.6/site-
packages/sage/rings/number_field/number_field_element.so in
sage.rings.number_field.number_field_element.__create__NumberFieldElement_version1
(sage/rings/number_field/number_field_element.cpp:3696)()
/home/david/sage-4.1/local/lib/python2.6/site-
packages/sage/rings/number_field/number_field_element.so in
sage.rings.number_field.number_field_element.OrderElement_absolute.__init__
(sage/rings/number_field/number_field_element.cpp:20595)()
AttributeError: ("'NumberField_absolute' object has no attribute
'number_field'", <built-in function
__create__NumberFieldElement_version1>, (Number Field in a with defining
polynomial x^3 - x - 1, <type
'sage.rings.number_field.number_field_element.OrderElement_absolute'>, 1))
}}}
(and the analogous thing for relative fields as well.)
This is a real problem because I am working on a computation where I need
to be able to save results to disc, and this result is preventing me from
loading what I've saved. (Elements of the fields rather than the orders
unpickle OK, but it's next to impossible to prevent elements of the orders
creeping in somehow when I pickle stuff.)
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6462>
Sage <http://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
-~----------~----~----~----~------~----~------~--~---