analitics

Pages

Sunday, August 23, 2015

Testing the SymPy python module with Python 3.4.1 .

SymPy is a Python library for symbolic mathematics.
This module is a computer algebra system (CAS) written in the Python programming language.
A large can be found on this blog aggregator at planet.sympy.org.
First, You need to install it using pip3.4.
C:\Python34\Scripts>pip3.4.exe install sympy
Collecting sympy
  Downloading sympy-0.7.6.tar.gz (6.4MB)
    100% |################################| 6.4MB 35kB/s
Building wheels for collected packages: sympy
...
Successfully built sympy
Installing collected packages: sympy
Successfully installed sympy-0.7.6
For a short introduction into SymPy python module I will show you the printing features.
The most common printers available in SymPy are:
  • str
  • repr
  • ASCII pretty printer
  • Unicode pretty printer
  • LaTeX
  • MathML
  • Dot
Let's test it this first example:
C:\Python34>python
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:45:13) [MSC v.1600 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from sympy import *
>>> x,y,z = symbols('x y z')
>>> Integral(sqrt(1+1/x),x)
Integral(sqrt(1 + 1/x), x)
>>> init_session(quiet=True)
Python console for SymPy 0.7.6 (Python 3.4.1-64-bit) (ground types: python)

>>> Integral(sqrt(1+1/x),x)
  /
 |
 |     _______
 |    /     1
 |   /  1 + -  dx
 | \/       x
 |
/
>>>
How to print one matrix :
>>> x, y, z = symbols('x, y, z')
>>> init_session(quiet=True)
Python console for SymPy 0.7.6 (Python 3.4.1-64-bit) (ground types: python)

>>> mat = Matrix([x*y, 1,0,3,-2, sin(z)])
>>> mat
[ x*y  ]
[      ]
[  1   ]
[      ]
[  0   ]
[      ]
[  3   ]
[      ]
[  -2  ]
[      ]
[sin(z)]
>>>
Next example come with this issue: equations can be solved with SymPy python module.
>>> solve(x*x+x+2)
         ___            ___
   1   \/ 7 *I    1   \/ 7 *I
[- - - -------, - - + -------]
   2      2       2      2
>>> solve(Eq(x*x+x+2))
         ___            ___
   1   \/ 7 *I    1   \/ 7 *I
[- - - -------, - - + -------]
   2      2       2      2
>>> solve(Eq(x*x+2*x+4))
        ___           ___
[-1 - \/ 3 *I, -1 + \/ 3 *I]
>>> solve(x*x+2*x+4)
        ___           ___
[-1 - \/ 3 *I, -1 + \/ 3 *I]
>>>