OK, I think it's something that happens when expand is called. Perhaps
due to caching? If I put e = self.expand(mul=1) above the loop over
self.symbols then I get two errors. I go to the releveant code in test
pickling and print out the attribute and the values of a and b that
are being compared as follows:
attr = getattr(a,i)
if not hasattr(attr, "__call__"):
assert hasattr(b,i), i
got = getattr(b,i)
if got != attr:
print '-'*22
print 'attr=',i
print type(a), a
print type(b), b
print attr
print got
assert got==attr
Here is the output:
attr= __dict__
<class 'sympy.printing.mathml.MathMLPrinter'>
<sympy.printing.mathml.MathMLPrint
er object at 0x0E382D90>
<class 'sympy.printing.mathml.MathMLPrinter'>
<sympy.printing.mathml.MathMLPrint
er object at 0x0E72AC10>
{'reverse': False, 'dom': <xml.dom.minidom.Document instance at
0x0E722DC8>, '_s
ettings': {'order': None, 'encoding': 'utf-8'}, '_str': <type 'str'>,
'_print_le
vel': 0, 'order': None}
{'reverse': False, 'dom': <xml.dom.minidom.Document instance at
0x0E7404E0>, '_s
ettings': {'order': None, 'encoding': 'utf-8'}, '_print_level': 0,
'_str': <type
'str'>, 'order': None}
The dictionaries have the same entries but the xml instance is at a
different location now and the print_level and str entries switched
places.
attr= _mhash
gamma gamma(1 + x)
gamma gamma(1 + x)
None
777405089
Here the attribute _mhash is None or that other number for the gamma
object.
Any ideas?
--
You received this message because you are subscribed to the Google Groups
"sympy" 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/sympy?hl=en.