#7377: Symbolic Ring to Maxima via EclObject
-----------------------------------------------------------------------+----
Reporter: nbruin |
Owner: nbruin
Type: enhancement |
Status: needs_work
Priority: major |
Milestone: sage-feature
Component: symbolics |
Keywords:
Author: Nils Bruin, Jean-Pierre Flori |
Upstream: N/A
Reviewer: Jean-Pierre Flori, François Bissey, Karl-Dieter Crisman |
Merged:
Work_issues: |
-----------------------------------------------------------------------+----
Comment(by nbruin):
Some forensics on:
{{{
sage -t devel/sage-main/sage/structure/sage_object.pyx
}}}
The error occurs on
{{{_class__sage_interfaces_maxima_MaximaFunction__.sobj}}} in the pickle
jar, coming from the doctest (slightly adapted):
{{{
sage: f=maxima.function('x,y','sin(x+y)')
sage: save(f,"newpickle.sobj")
sage: load("newpickle.sobj")==f
True
}}}
The incompatibility seems to come from a rearranging of the
abstract_maxima interface etc.
To pin down version information:
{{{
$ ls -l _class__sage_interfaces_maxima_MaximaFunction__.*
-rw-r--r-- 1 nbruin nbruin 96 2009-03-10 13:04
_class__sage_interfaces_maxima_MaximaFunction__.sobj
-rw-r--r-- 1 nbruin nbruin 130 2009-03-10 13:04
_class__sage_interfaces_maxima_MaximaFunction__.txt
$ cat _class__sage_interfaces_maxima_MaximaFunction__.txt
type(obj) = <class 'sage.interfaces.maxima.MaximaFunction'>
version = 3.4.rc1
obj =
' sage270'
}}}
Loading this pickle into a new version yields:
{{{
sage:
load("/home/nbruin/_class__sage_interfaces_maxima_MaximaFunction__.sobj");
AttributeError: 'module' object has no attribute
'reduce_load_Maxima_function'
}}}
On the other hand, loading the new pickle into an old version (4.3.4):
{{{
sage: load("newpickle.sobj");
ImportError: No module named maxima_abstract
}}}
So this seems to be not so much an error but more a non-compatible change.
I am sure these have happened before elsewhere. I'd be happy to just
accept the fact that these pickles aren't portable across these versions,
but if someone has an example we might be able to put the hooks in to
preserve backwards compatibility (really, no-one should have a reason to
pickle maxima functions from sage).
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/7377#comment:81>
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.