[sympy] Wrong results. (Limit, factorial, Power)

2019-08-14 Thread M Kamimura
My calculation result is 1, but sympy's calculation result is 1.

https://www.mkamimura.com/2019/08/Mathematics-Python-Analytics-Series-Judgment-Method-by-Integral-Factorial-Power-Power.html

Is it my mistake, or sympy's bug?

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/96193e0f-aa84-47c6-9720-33f3c0787b7b%40googlegroups.com.


[sympy] Re: Saving large symbolic expressions

2019-08-14 Thread Ash
Thanks Oscar, Aaron and Jason for you replies. I will try both srepr & 
converting f(t) to symbols and report the progress here 

On Wednesday, 14 August 2019 10:54:13 UTC+1, Ash wrote:
>
> Hello, 
> I have derived the equations of motion of a dynamic system symbolically. 
> To evaluate the Mass Matrix and Coriolis Vector which contain several 
> derivative terms, the program takes around 14 sec. These two are to be used 
> for various other places. I tried saving and loading using 'dill'
>
> import dill
> MassMatrix, Coriolis = get_mc()
> dill.dump(MassMatrix, open("MassMatrix", "wb"))
> # dill.dump(Coriolis, open("Coriolis", "wb"))
>
> The above results in 
>
> Traceback (most recent call last):
>   File 
> "/snap/pycharm-professional/147/helpers/pydev/_pydevd_bundle/pydevd_exec2.py",
>  
> line 3, in Exec
> exec(exp, global_vars, local_vars)
>   File "", line 1, in 
>   File 
> "/home/ar0058/Ash/venv3.6/lib/python3.6/site-packages/dill/_dill.py", line 
> 287, in dump
> pik.dump(obj)
>   File "/usr/lib/python3.6/pickle.py", line 409, in dump
> self.save(obj)
>   File "/usr/lib/python3.6/pickle.py", line 521, in save
> self.save_reduce(obj=obj, *rv)
>   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> save(args)
>   File "/usr/lib/python3.6/pickle.py", line 476, in save
> f(self, obj) # Call unbound method with explicit self
>   File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
> save(element)
>   File "/usr/lib/python3.6/pickle.py", line 521, in save
> self.save_reduce(obj=obj, *rv)
>   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> save(args)
>   File "/usr/lib/python3.6/pickle.py", line 476, in save
> f(self, obj) # Call unbound method with explicit self
>   File "/usr/lib/python3.6/pickle.py", line 751, in save_tuple
> save(element)
>   File "/usr/lib/python3.6/pickle.py", line 521, in save
> self.save_reduce(obj=obj, *rv)
>   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> save(args)
>   File "/usr/lib/python3.6/pickle.py", line 476, in save
> f(self, obj) # Call unbound method with explicit self
>   File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
> save(element)
>   File "/usr/lib/python3.6/pickle.py", line 521, in save
> self.save_reduce(obj=obj, *rv)
>   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> save(args)
>   File "/usr/lib/python3.6/pickle.py", line 476, in save
> f(self, obj) # Call unbound method with explicit self
>   File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
> save(element)
>   File "/usr/lib/python3.6/pickle.py", line 521, in save
> self.save_reduce(obj=obj, *rv)
>   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> save(args)
>   File "/usr/lib/python3.6/pickle.py", line 476, in save
> f(self, obj) # Call unbound method with explicit self
>   File "/usr/lib/python3.6/pickle.py", line 751, in save_tuple
> save(element)
>   File "/usr/lib/python3.6/pickle.py", line 521, in save
> self.save_reduce(obj=obj, *rv)
>   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> save(args)
>   File "/usr/lib/python3.6/pickle.py", line 476, in save
> f(self, obj) # Call unbound method with explicit self
>   File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
> save(element)
>   File "/usr/lib/python3.6/pickle.py", line 521, in save
> self.save_reduce(obj=obj, *rv)
>   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> save(args)
>   File "/usr/lib/python3.6/pickle.py", line 476, in save
> f(self, obj) # Call unbound method with explicit self
>   File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
> save(element)
>   File "/usr/lib/python3.6/pickle.py", line 521, in save
> self.save_reduce(obj=obj, *rv)
>   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> save(args)
>   File "/usr/lib/python3.6/pickle.py", line 476, in save
> f(self, obj) # Call unbound method with explicit self
>   File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
> save(element)
>   File "/usr/lib/python3.6/pickle.py", line 521, in save
> self.save_reduce(obj=obj, *rv)
>   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> save(args)
>   File "/usr/lib/python3.6/pickle.py", line 476, in save
> f(self, obj) # Call unbound method with explicit self
>   File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
> save(element)
>   File "/usr/lib/python3.6/pickle.py", line 521, in save
> self.save_reduce(obj=obj, *rv)
>   File "/usr/lib/python3.6/pickle.py", line 609, in save_reduce
> save(func)
>   File "/usr/lib/python3.6/pickle.py", line 476, in save
> f(self, obj) # Call unbound method with explicit self
>   File 
> "/home/ar0058/Ash/venv3.6/lib/python3.6/site-packages/dill/_dill.py", line 
> 1338, in save_type
> StockPickler.save_global(pickler, obj)
>   File 

Re: [sympy] Saving large symbolic expressions

2019-08-14 Thread Jason Moore
You can also replace the functions of t with symbols before pickling.

Jason
moorepants.info
+01 530-601-9791


On Wed, Aug 14, 2019 at 9:36 AM Aaron Meurer  wrote:

> There are lots of issues with pickling and SymPy unfortunately.
> Functions in particular have issues because they are dynamically
> created classes. The best way to save expressions right now is to use
> srepr/sympify.
>
> Aaron Meurer
>
> On Wed, Aug 14, 2019 at 4:33 AM Oscar Benjamin
>  wrote:
> >
> > This seems to be a bug. I think I can reproduce it with:
> >
> > In [9]: import pickle
> >
> > In [10]: from sympy.physics.mechanics import dynamicsymbols
> >
> > In [11]: q1 = dynamicsymbols('q1')
> >
> > In [12]: pickle.dumps(q1)
> >
> ---
> > PicklingError Traceback (most recent call
> last)
> >  in 
> > > 1 pickle.dumps(q1)
> >
> > PicklingError: Can't pickle q1: it's not the same object as __main__.q1
> >
> > Although the final error message is slightly different. Normal Symbol
> > works so it is to do with dynamicsymbol in some way.
> >
> > Digging further:
> >
> > In [13]: q1 = Function('q1')(Symbol('t'))
> >
> > In [14]: pickle.dumps(q1)
> >
> ---
> > PicklingError Traceback (most recent call
> last)
> >  in 
> > > 1 pickle.dumps(q1)
> >
> > PicklingError: Can't pickle q1: it's not the same object as __main__.q1
> >
> > In [15]: q1 = Function('q1')
> >
> > In [16]: pickle.dumps(q1)
> > Out[16]: b'\x80\x03c__main__\nq1\nq\x00.'
> >
> > That pickle for the unapplied function is too short. I think something
> > is wrong with pickling functions.
> >
> >
> > To fix your problem substitute the dynamicsymbols for normal symbols.
> >
> >
> > Oscar
> >
> > On Wed, 14 Aug 2019 at 10:54, Ash  wrote:
> > >
> > > Hello,
> > > I have derived the equations of motion of a dynamic system
> symbolically. To evaluate the Mass Matrix and Coriolis Vector which contain
> several derivative terms, the program takes around 14 sec. These two are to
> be used for various other places. I tried saving and loading using 'dill'
> > >
> > > import dill
> > > MassMatrix, Coriolis = get_mc()
> > > dill.dump(MassMatrix, open("MassMatrix", "wb"))
> > > # dill.dump(Coriolis, open("Coriolis", "wb"))
> > >
> > > The above results in
> > >
> > > Traceback (most recent call last):
> > >   File
> "/snap/pycharm-professional/147/helpers/pydev/_pydevd_bundle/pydevd_exec2.py",
> line 3, in Exec
> > > exec(exp, global_vars, local_vars)
> > >   File "", line 1, in 
> > >   File
> "/home/ar0058/Ash/venv3.6/lib/python3.6/site-packages/dill/_dill.py", line
> 287, in dump
> > > pik.dump(obj)
> > >   File "/usr/lib/python3.6/pickle.py", line 409, in dump
> > > self.save(obj)
> > >   File "/usr/lib/python3.6/pickle.py", line 521, in save
> > > self.save_reduce(obj=obj, *rv)
> > >   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> > > save(args)
> > >   File "/usr/lib/python3.6/pickle.py", line 476, in save
> > > f(self, obj) # Call unbound method with explicit self
> > >   File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
> > > save(element)
> > >   File "/usr/lib/python3.6/pickle.py", line 521, in save
> > > self.save_reduce(obj=obj, *rv)
> > >   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> > > save(args)
> > >   File "/usr/lib/python3.6/pickle.py", line 476, in save
> > > f(self, obj) # Call unbound method with explicit self
> > >   File "/usr/lib/python3.6/pickle.py", line 751, in save_tuple
> > > save(element)
> > >   File "/usr/lib/python3.6/pickle.py", line 521, in save
> > > self.save_reduce(obj=obj, *rv)
> > >   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> > > save(args)
> > >   File "/usr/lib/python3.6/pickle.py", line 476, in save
> > > f(self, obj) # Call unbound method with explicit self
> > >   File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
> > > save(element)
> > >   File "/usr/lib/python3.6/pickle.py", line 521, in save
> > > self.save_reduce(obj=obj, *rv)
> > >   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> > > save(args)
> > >   File "/usr/lib/python3.6/pickle.py", line 476, in save
> > > f(self, obj) # Call unbound method with explicit self
> > >   File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
> > > save(element)
> > >   File "/usr/lib/python3.6/pickle.py", line 521, in save
> > > self.save_reduce(obj=obj, *rv)
> > >   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> > > save(args)
> > >   File "/usr/lib/python3.6/pickle.py", line 476, in save
> > > f(self, obj) # Call unbound method with explicit self
> > >   File "/usr/lib/python3.6/pickle.py", line 751, in save_tuple
> > > save(element)
> > >   File "/usr/lib/python3.6/pickle.py", line 521, in 

Re: [sympy] Saving large symbolic expressions

2019-08-14 Thread Aaron Meurer
There are lots of issues with pickling and SymPy unfortunately.
Functions in particular have issues because they are dynamically
created classes. The best way to save expressions right now is to use
srepr/sympify.

Aaron Meurer

On Wed, Aug 14, 2019 at 4:33 AM Oscar Benjamin
 wrote:
>
> This seems to be a bug. I think I can reproduce it with:
>
> In [9]: import pickle
>
> In [10]: from sympy.physics.mechanics import dynamicsymbols
>
> In [11]: q1 = dynamicsymbols('q1')
>
> In [12]: pickle.dumps(q1)
> ---
> PicklingError Traceback (most recent call last)
>  in 
> > 1 pickle.dumps(q1)
>
> PicklingError: Can't pickle q1: it's not the same object as __main__.q1
>
> Although the final error message is slightly different. Normal Symbol
> works so it is to do with dynamicsymbol in some way.
>
> Digging further:
>
> In [13]: q1 = Function('q1')(Symbol('t'))
>
> In [14]: pickle.dumps(q1)
> ---
> PicklingError Traceback (most recent call last)
>  in 
> > 1 pickle.dumps(q1)
>
> PicklingError: Can't pickle q1: it's not the same object as __main__.q1
>
> In [15]: q1 = Function('q1')
>
> In [16]: pickle.dumps(q1)
> Out[16]: b'\x80\x03c__main__\nq1\nq\x00.'
>
> That pickle for the unapplied function is too short. I think something
> is wrong with pickling functions.
>
>
> To fix your problem substitute the dynamicsymbols for normal symbols.
>
>
> Oscar
>
> On Wed, 14 Aug 2019 at 10:54, Ash  wrote:
> >
> > Hello,
> > I have derived the equations of motion of a dynamic system symbolically. To 
> > evaluate the Mass Matrix and Coriolis Vector which contain several 
> > derivative terms, the program takes around 14 sec. These two are to be used 
> > for various other places. I tried saving and loading using 'dill'
> >
> > import dill
> > MassMatrix, Coriolis = get_mc()
> > dill.dump(MassMatrix, open("MassMatrix", "wb"))
> > # dill.dump(Coriolis, open("Coriolis", "wb"))
> >
> > The above results in
> >
> > Traceback (most recent call last):
> >   File 
> > "/snap/pycharm-professional/147/helpers/pydev/_pydevd_bundle/pydevd_exec2.py",
> >  line 3, in Exec
> > exec(exp, global_vars, local_vars)
> >   File "", line 1, in 
> >   File 
> > "/home/ar0058/Ash/venv3.6/lib/python3.6/site-packages/dill/_dill.py", line 
> > 287, in dump
> > pik.dump(obj)
> >   File "/usr/lib/python3.6/pickle.py", line 409, in dump
> > self.save(obj)
> >   File "/usr/lib/python3.6/pickle.py", line 521, in save
> > self.save_reduce(obj=obj, *rv)
> >   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> > save(args)
> >   File "/usr/lib/python3.6/pickle.py", line 476, in save
> > f(self, obj) # Call unbound method with explicit self
> >   File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
> > save(element)
> >   File "/usr/lib/python3.6/pickle.py", line 521, in save
> > self.save_reduce(obj=obj, *rv)
> >   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> > save(args)
> >   File "/usr/lib/python3.6/pickle.py", line 476, in save
> > f(self, obj) # Call unbound method with explicit self
> >   File "/usr/lib/python3.6/pickle.py", line 751, in save_tuple
> > save(element)
> >   File "/usr/lib/python3.6/pickle.py", line 521, in save
> > self.save_reduce(obj=obj, *rv)
> >   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> > save(args)
> >   File "/usr/lib/python3.6/pickle.py", line 476, in save
> > f(self, obj) # Call unbound method with explicit self
> >   File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
> > save(element)
> >   File "/usr/lib/python3.6/pickle.py", line 521, in save
> > self.save_reduce(obj=obj, *rv)
> >   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> > save(args)
> >   File "/usr/lib/python3.6/pickle.py", line 476, in save
> > f(self, obj) # Call unbound method with explicit self
> >   File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
> > save(element)
> >   File "/usr/lib/python3.6/pickle.py", line 521, in save
> > self.save_reduce(obj=obj, *rv)
> >   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> > save(args)
> >   File "/usr/lib/python3.6/pickle.py", line 476, in save
> > f(self, obj) # Call unbound method with explicit self
> >   File "/usr/lib/python3.6/pickle.py", line 751, in save_tuple
> > save(element)
> >   File "/usr/lib/python3.6/pickle.py", line 521, in save
> > self.save_reduce(obj=obj, *rv)
> >   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> > save(args)
> >   File "/usr/lib/python3.6/pickle.py", line 476, in save
> > f(self, obj) # Call unbound method with explicit self
> >   File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
> > save(element)
> >   File 

Re: [sympy] Saving large symbolic expressions

2019-08-14 Thread Oscar Benjamin
This seems to be a bug. I think I can reproduce it with:

In [9]: import pickle

In [10]: from sympy.physics.mechanics import dynamicsymbols

In [11]: q1 = dynamicsymbols('q1')

In [12]: pickle.dumps(q1)
---
PicklingError Traceback (most recent call last)
 in 
> 1 pickle.dumps(q1)

PicklingError: Can't pickle q1: it's not the same object as __main__.q1

Although the final error message is slightly different. Normal Symbol
works so it is to do with dynamicsymbol in some way.

Digging further:

In [13]: q1 = Function('q1')(Symbol('t'))

In [14]: pickle.dumps(q1)
---
PicklingError Traceback (most recent call last)
 in 
> 1 pickle.dumps(q1)

PicklingError: Can't pickle q1: it's not the same object as __main__.q1

In [15]: q1 = Function('q1')

In [16]: pickle.dumps(q1)
Out[16]: b'\x80\x03c__main__\nq1\nq\x00.'

That pickle for the unapplied function is too short. I think something
is wrong with pickling functions.


To fix your problem substitute the dynamicsymbols for normal symbols.


Oscar

On Wed, 14 Aug 2019 at 10:54, Ash  wrote:
>
> Hello,
> I have derived the equations of motion of a dynamic system symbolically. To 
> evaluate the Mass Matrix and Coriolis Vector which contain several derivative 
> terms, the program takes around 14 sec. These two are to be used for various 
> other places. I tried saving and loading using 'dill'
>
> import dill
> MassMatrix, Coriolis = get_mc()
> dill.dump(MassMatrix, open("MassMatrix", "wb"))
> # dill.dump(Coriolis, open("Coriolis", "wb"))
>
> The above results in
>
> Traceback (most recent call last):
>   File 
> "/snap/pycharm-professional/147/helpers/pydev/_pydevd_bundle/pydevd_exec2.py",
>  line 3, in Exec
> exec(exp, global_vars, local_vars)
>   File "", line 1, in 
>   File "/home/ar0058/Ash/venv3.6/lib/python3.6/site-packages/dill/_dill.py", 
> line 287, in dump
> pik.dump(obj)
>   File "/usr/lib/python3.6/pickle.py", line 409, in dump
> self.save(obj)
>   File "/usr/lib/python3.6/pickle.py", line 521, in save
> self.save_reduce(obj=obj, *rv)
>   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> save(args)
>   File "/usr/lib/python3.6/pickle.py", line 476, in save
> f(self, obj) # Call unbound method with explicit self
>   File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
> save(element)
>   File "/usr/lib/python3.6/pickle.py", line 521, in save
> self.save_reduce(obj=obj, *rv)
>   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> save(args)
>   File "/usr/lib/python3.6/pickle.py", line 476, in save
> f(self, obj) # Call unbound method with explicit self
>   File "/usr/lib/python3.6/pickle.py", line 751, in save_tuple
> save(element)
>   File "/usr/lib/python3.6/pickle.py", line 521, in save
> self.save_reduce(obj=obj, *rv)
>   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> save(args)
>   File "/usr/lib/python3.6/pickle.py", line 476, in save
> f(self, obj) # Call unbound method with explicit self
>   File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
> save(element)
>   File "/usr/lib/python3.6/pickle.py", line 521, in save
> self.save_reduce(obj=obj, *rv)
>   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> save(args)
>   File "/usr/lib/python3.6/pickle.py", line 476, in save
> f(self, obj) # Call unbound method with explicit self
>   File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
> save(element)
>   File "/usr/lib/python3.6/pickle.py", line 521, in save
> self.save_reduce(obj=obj, *rv)
>   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> save(args)
>   File "/usr/lib/python3.6/pickle.py", line 476, in save
> f(self, obj) # Call unbound method with explicit self
>   File "/usr/lib/python3.6/pickle.py", line 751, in save_tuple
> save(element)
>   File "/usr/lib/python3.6/pickle.py", line 521, in save
> self.save_reduce(obj=obj, *rv)
>   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> save(args)
>   File "/usr/lib/python3.6/pickle.py", line 476, in save
> f(self, obj) # Call unbound method with explicit self
>   File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
> save(element)
>   File "/usr/lib/python3.6/pickle.py", line 521, in save
> self.save_reduce(obj=obj, *rv)
>   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> save(args)
>   File "/usr/lib/python3.6/pickle.py", line 476, in save
> f(self, obj) # Call unbound method with explicit self
>   File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
> save(element)
>   File "/usr/lib/python3.6/pickle.py", line 521, in save
> self.save_reduce(obj=obj, *rv)
>   File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
> 

[sympy] Saving large symbolic expressions

2019-08-14 Thread Ash
Hello, 
I have derived the equations of motion of a dynamic system symbolically. To 
evaluate the Mass Matrix and Coriolis Vector which contain several 
derivative terms, the program takes around 14 sec. These two are to be used 
for various other places. I tried saving and loading using 'dill'

import dill
MassMatrix, Coriolis = get_mc()
dill.dump(MassMatrix, open("MassMatrix", "wb"))
# dill.dump(Coriolis, open("Coriolis", "wb"))

The above results in 

Traceback (most recent call last):
  File 
"/snap/pycharm-professional/147/helpers/pydev/_pydevd_bundle/pydevd_exec2.py", 
line 3, in Exec
exec(exp, global_vars, local_vars)
  File "", line 1, in 
  File 
"/home/ar0058/Ash/venv3.6/lib/python3.6/site-packages/dill/_dill.py", line 
287, in dump
pik.dump(obj)
  File "/usr/lib/python3.6/pickle.py", line 409, in dump
self.save(obj)
  File "/usr/lib/python3.6/pickle.py", line 521, in save
self.save_reduce(obj=obj, *rv)
  File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
save(args)
  File "/usr/lib/python3.6/pickle.py", line 476, in save
f(self, obj) # Call unbound method with explicit self
  File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
save(element)
  File "/usr/lib/python3.6/pickle.py", line 521, in save
self.save_reduce(obj=obj, *rv)
  File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
save(args)
  File "/usr/lib/python3.6/pickle.py", line 476, in save
f(self, obj) # Call unbound method with explicit self
  File "/usr/lib/python3.6/pickle.py", line 751, in save_tuple
save(element)
  File "/usr/lib/python3.6/pickle.py", line 521, in save
self.save_reduce(obj=obj, *rv)
  File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
save(args)
  File "/usr/lib/python3.6/pickle.py", line 476, in save
f(self, obj) # Call unbound method with explicit self
  File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
save(element)
  File "/usr/lib/python3.6/pickle.py", line 521, in save
self.save_reduce(obj=obj, *rv)
  File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
save(args)
  File "/usr/lib/python3.6/pickle.py", line 476, in save
f(self, obj) # Call unbound method with explicit self
  File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
save(element)
  File "/usr/lib/python3.6/pickle.py", line 521, in save
self.save_reduce(obj=obj, *rv)
  File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
save(args)
  File "/usr/lib/python3.6/pickle.py", line 476, in save
f(self, obj) # Call unbound method with explicit self
  File "/usr/lib/python3.6/pickle.py", line 751, in save_tuple
save(element)
  File "/usr/lib/python3.6/pickle.py", line 521, in save
self.save_reduce(obj=obj, *rv)
  File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
save(args)
  File "/usr/lib/python3.6/pickle.py", line 476, in save
f(self, obj) # Call unbound method with explicit self
  File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
save(element)
  File "/usr/lib/python3.6/pickle.py", line 521, in save
self.save_reduce(obj=obj, *rv)
  File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
save(args)
  File "/usr/lib/python3.6/pickle.py", line 476, in save
f(self, obj) # Call unbound method with explicit self
  File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
save(element)
  File "/usr/lib/python3.6/pickle.py", line 521, in save
self.save_reduce(obj=obj, *rv)
  File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
save(args)
  File "/usr/lib/python3.6/pickle.py", line 476, in save
f(self, obj) # Call unbound method with explicit self
  File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
save(element)
  File "/usr/lib/python3.6/pickle.py", line 521, in save
self.save_reduce(obj=obj, *rv)
  File "/usr/lib/python3.6/pickle.py", line 610, in save_reduce
save(args)
  File "/usr/lib/python3.6/pickle.py", line 476, in save
f(self, obj) # Call unbound method with explicit self
  File "/usr/lib/python3.6/pickle.py", line 736, in save_tuple
save(element)
  File "/usr/lib/python3.6/pickle.py", line 521, in save
self.save_reduce(obj=obj, *rv)
  File "/usr/lib/python3.6/pickle.py", line 609, in save_reduce
save(func)
  File "/usr/lib/python3.6/pickle.py", line 476, in save
f(self, obj) # Call unbound method with explicit self
  File 
"/home/ar0058/Ash/venv3.6/lib/python3.6/site-packages/dill/_dill.py", line 
1338, in save_type
StockPickler.save_global(pickler, obj)
  File "/usr/lib/python3.6/pickle.py", line 922, in save_global
(obj, module_name, name))
_pickle.PicklingError: Can't pickle q1: it's not found as __main__.q1


Could someone suggest a way to save properly?

Thanks

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to