I am currently using Sympy to help me do math calculations. Right now, I'm trying to do numerical integration, but still get an error message when running the script. Here is the script:
from sympy import * cst = { 'qe':1.60217646*10**-19, 'm0':N(1.25663706*10**-6) } d = 3.6*10**-2 l = 20.3*10**-2 n = 217.0 I = 10.2
I'm sure there is probably something wrong with actual physics / math, but right now I just want it to integrate. Here is the result that I get when running the script:
8.05359718208634e-5*x/(-6.28318530717959*x + 0.000935483870967742) Traceback (most recent call last): File "script.py", line 34, in <module> integrate(ig*x,x) File "C:\Python27\lib\site-packages\sympy\utilities\decorator.py", line 24, in threaded_func return func(expr, *args, **kwargs) File "C:\Python27\lib\site-packages\sympy\integrals\integrals.py", line 847, in integrate return integral.doit(deep = False) File "C:\Python27\lib\site-packages\sympy\integrals\integrals.py", line 364, in doit antideriv = self._eval_integral(function, xab[0]) File "C:\Python27\lib\site-packages\sympy\integrals\integrals.py", line 577, in _eval_integral parts.append(coeff * ratint(g, x)) File "C:\Python27\lib\site-packages\sympy\integrals\rationaltools.py", line 42, in ratint g, h = ratint_ratpart(p, q, x) File "C:\Python27\lib\site-packages\sympy\integrals\rationaltools.py", line 124, in ratint_ratpart H = f - A.diff()*v + A*(u.diff()*v).quo(u) - B*u File "C:\Python27\lib\site-packages\sympy\core\decorators.py", line 75, in __sympifyit_wrapper return func(a, sympify(b, strict=True)) File "C:\Python27\lib\site-packages\sympy\polys\polytools.py", line 3360, in __mul__ return f.mul(g) File "C:\Python27\lib\site-packages\sympy\polys\polytools.py", line 1295, in mul _, per, F, G = f._unify(g) File "C:\Python27\lib\site-packages\sympy\polys\polytools.py", line 377, in _unify F = f.rep.convert(dom) File "C:\Python27\lib\site-packages\sympy\polys\polyclasses.py", line 277, in convert return DMP(dmp_convert(f.rep, f.lev, f.dom, dom), dom, f.lev) File "C:\Python27\lib\site-packages\sympy\polys\densebasic.py", line 530, in dmp_convert return dup_convert(f, K0, K1) File "C:\Python27\lib\site-packages\sympy\polys\densebasic.py", line 506, in dup_convert return dup_strip([ K1.convert(c, K0) for c in f ]) File "C:\Python27\lib\site-packages\sympy\polys\domains\domain.py", line 85, in convert raise CoercionFailed("can't convert %s of type %s to %s" % (a, K0, K1)) sympy.polys.polyerrors.CoercionFailed: can't convert DMP([1, 0], ZZ) of type ZZ[_b1] to RR [Finished in 0.3s with exit code 1]
EDIT: Okay, so I pulled out the numbers the program used and put them in alpha-tungsten. It turns out that the integral does not converge, therefore, an error. I assume this is just a math error.