"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "mpmath/tests/test_calculus.py" between
mpmath-0.18.tar.gz and mpmath-0.19.tar.gz

About: mpmath is a Python library for arbitrary-precision floating-point arithmetic.

test_calculus.py  (mpmath-0.18):test_calculus.py  (mpmath-0.19)
skipping to change at line 40 skipping to change at line 40
assert p.ae(-1 - sqrt(2)*j) assert p.ae(-1 - sqrt(2)*j)
assert q.ae(-1 + sqrt(2)*j) assert q.ae(-1 + sqrt(2)*j)
#this is not a real test, it only tests a specific case #this is not a real test, it only tests a specific case
assert polyroots([1]) == [] assert polyroots([1]) == []
try: try:
polyroots([0]) polyroots([0])
assert False assert False
except ValueError: except ValueError:
pass pass
def test_polyroots_legendre():
n = 64
coeffs = [11975573020964041433067793888190275875, 0,
-190100434726484311252477736051902332000, 0,
1437919688271127330313741595496589239248, 0,
-6897338342113537600691931230430793911840, 0,
23556405536185284408974715545252277554280, 0,
-60969520211303089058522793175947071316960, 0,
124284021969194758465450309166353645376880, 0,
-204721258548015217049921875719981284186016, 0,
277415422258095841688223780704620656114900, 0,
-313237834141273382807123548182995095192800, 0,
297432255354328395601259515935229287637200, 0,
-239057700565161140389797367947941296605600, 0,
163356095386193445933028201431093219347160, 0,
-95158890516229191805647495979277603503200, 0,
47310254620162038075933656063247634556400, 0,
-20071017111583894941305187420771723751200, 0,
7255051932731034189479516844750603752850, 0,
-2228176940331017311443863996901733412640, 0,
579006552594977616773047095969088431600, 0,
-126584428502545713788439446082310831200, 0,
23112325428835593809686977515028663000, 0,
-3491517141958743235617737161547844000, 0,
431305058712550634988073414073557200, 0,
-42927166660756742088912492757452000, 0,
3378527005707706553294038781836500, 0,
-205277590220215081719131470288800, 0,
9330799555464321896324157740400, 0,
-304114948474392713657972548576, 0,
6695289961520387531608984680, 0,
-91048139350447232095702560, 0,
659769125727878493447120, 0,
-1905929106580294155360, 0,
916312070471295267]
with mp.workdps(3):
try:
roots = polyroots(coeffs, maxsteps=5, cleanup=True, error=False,
extraprec=n*10)
raise AssertionError("polyroots() didn't raise NoConvergence")
except (mp.NoConvergence):
pass
roots = polyroots(coeffs, maxsteps=50, cleanup=True, error=False,
extraprec=n*10)
roots = [str(r) for r in roots]
assert roots == \
['-0.999', '-0.996', '-0.991', '-0.983', '-0.973', '-0.961',
'-0.946', '-0.93', '-0.911', '-0.889', '-0.866', '-0.841',
'-0.813', '-0.784', '-0.753', '-0.72', '-0.685', '-0.649',
'-0.611', '-0.572', '-0.531', '-0.489', '-0.446', '-0.402',
'-0.357', '-0.311', '-0.265', '-0.217', '-0.17', '-0.121',
'-0.073', '-0.0243', '0.0243', '0.073', '0.121', '0.17', '0.217',
'0.265', '0.311', '0.357', '0.402', '0.446', '0.489', '0.531',
'0.572', '0.611', '0.649', '0.685', '0.72', '0.753', '0.784',
'0.813', '0.841', '0.866', '0.889', '0.911', '0.93', '0.946',
'0.961', '0.973', '0.983', '0.991', '0.996', '0.999']
def test_pade(): def test_pade():
one = mpf(1) one = mpf(1)
mp.dps = 20 mp.dps = 20
N = 10 N = 10
a = [one] a = [one]
k = 1 k = 1
for i in range(1, N+1): for i in range(1, N+1):
k *= i k *= i
a.append(one/k) a.append(one/k)
p, q = pade(a, N//2, N//2) p, q = pade(a, N//2, N//2)
 End of changes. 1 change blocks. 
0 lines changed or deleted 59 lines changed or added

Home  |  About  |  All  |  Newest  |  Fossies Dox  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTPS