<s> from __future__ import division , print_function , absolute_import <EOL> from numpy . testing import ( TestCase , assert_array_almost_equal , <EOL> assert_almost_equal , assert_allclose , assert_raises , <EOL> run_module_suite ) <EOL> from scipy . _lib . six import xrange <EOL> import numpy as np <EOL> from numpy import array , sqrt <EOL> import scipy . special . orthogonal as orth <EOL> from scipy . special import gamma <EOL> from scipy import integrate <EOL> class TestCheby ( TestCase ) : <EOL> def test_chebyc ( self ) : <EOL> C0 = orth . chebyc ( <NUM_LIT:0> ) <EOL> C1 = orth . chebyc ( <NUM_LIT:1> ) <EOL> olderr = np . seterr ( all = '<STR_LIT:ignore>' ) <EOL> try : <EOL> C2 = orth . chebyc ( <NUM_LIT:2> ) <EOL> C3 = orth . chebyc ( <NUM_LIT:3> ) <EOL> C4 = orth . chebyc ( <NUM_LIT:4> ) <EOL> C5 = orth . chebyc ( <NUM_LIT:5> ) <EOL> finally : <EOL> np . seterr ( ** olderr ) <EOL> assert_array_almost_equal ( C0 . c , [ <NUM_LIT:2> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( C1 . c , [ <NUM_LIT:1> , <NUM_LIT:0> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( C2 . c , [ <NUM_LIT:1> , <NUM_LIT:0> , - <NUM_LIT:2> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( C3 . c , [ <NUM_LIT:1> , <NUM_LIT:0> , - <NUM_LIT:3> , <NUM_LIT:0> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( C4 . c , [ <NUM_LIT:1> , <NUM_LIT:0> , - <NUM_LIT:4> , <NUM_LIT:0> , <NUM_LIT:2> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( C5 . c , [ <NUM_LIT:1> , <NUM_LIT:0> , - <NUM_LIT:5> , <NUM_LIT:0> , <NUM_LIT:5> , <NUM_LIT:0> ] , <NUM_LIT> ) <EOL> def test_chebys ( self ) : <EOL> S0 = orth . chebys ( <NUM_LIT:0> ) <EOL> S1 = orth . chebys ( <NUM_LIT:1> ) <EOL> S2 = orth . chebys ( <NUM_LIT:2> ) <EOL> S3 = orth . chebys ( <NUM_LIT:3> ) <EOL> S4 = orth . chebys ( <NUM_LIT:4> ) <EOL> S5 = orth . chebys ( <NUM_LIT:5> ) <EOL> assert_array_almost_equal ( S0 . c , [ <NUM_LIT:1> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( S1 . c , [ <NUM_LIT:1> , <NUM_LIT:0> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( S2 . c , [ <NUM_LIT:1> , <NUM_LIT:0> , - <NUM_LIT:1> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( S3 . c , [ <NUM_LIT:1> , <NUM_LIT:0> , - <NUM_LIT:2> , <NUM_LIT:0> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( S4 . c , [ <NUM_LIT:1> , <NUM_LIT:0> , - <NUM_LIT:3> , <NUM_LIT:0> , <NUM_LIT:1> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( S5 . c , [ <NUM_LIT:1> , <NUM_LIT:0> , - <NUM_LIT:4> , <NUM_LIT:0> , <NUM_LIT:3> , <NUM_LIT:0> ] , <NUM_LIT> ) <EOL> def test_chebyt ( self ) : <EOL> T0 = orth . chebyt ( <NUM_LIT:0> ) <EOL> T1 = orth . chebyt ( <NUM_LIT:1> ) <EOL> T2 = orth . chebyt ( <NUM_LIT:2> ) <EOL> T3 = orth . chebyt ( <NUM_LIT:3> ) <EOL> T4 = orth . chebyt ( <NUM_LIT:4> ) <EOL> T5 = orth . chebyt ( <NUM_LIT:5> ) <EOL> assert_array_almost_equal ( T0 . c , [ <NUM_LIT:1> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( T1 . c , [ <NUM_LIT:1> , <NUM_LIT:0> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( T2 . c , [ <NUM_LIT:2> , <NUM_LIT:0> , - <NUM_LIT:1> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( T3 . c , [ <NUM_LIT:4> , <NUM_LIT:0> , - <NUM_LIT:3> , <NUM_LIT:0> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( T4 . c , [ <NUM_LIT:8> , <NUM_LIT:0> , - <NUM_LIT:8> , <NUM_LIT:0> , <NUM_LIT:1> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( T5 . c , [ <NUM_LIT:16> , <NUM_LIT:0> , - <NUM_LIT:20> , <NUM_LIT:0> , <NUM_LIT:5> , <NUM_LIT:0> ] , <NUM_LIT> ) <EOL> def test_chebyu ( self ) : <EOL> U0 = orth . chebyu ( <NUM_LIT:0> ) <EOL> U1 = orth . chebyu ( <NUM_LIT:1> ) <EOL> U2 = orth . chebyu ( <NUM_LIT:2> ) <EOL> U3 = orth . chebyu ( <NUM_LIT:3> ) <EOL> U4 = orth . chebyu ( <NUM_LIT:4> ) <EOL> U5 = orth . chebyu ( <NUM_LIT:5> ) <EOL> assert_array_almost_equal ( U0 . c , [ <NUM_LIT:1> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( U1 . c , [ <NUM_LIT:2> , <NUM_LIT:0> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( U2 . c , [ <NUM_LIT:4> , <NUM_LIT:0> , - <NUM_LIT:1> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( U3 . c , [ <NUM_LIT:8> , <NUM_LIT:0> , - <NUM_LIT:4> , <NUM_LIT:0> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( U4 . c , [ <NUM_LIT:16> , <NUM_LIT:0> , - <NUM_LIT:12> , <NUM_LIT:0> , <NUM_LIT:1> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( U5 . c , [ <NUM_LIT:32> , <NUM_LIT:0> , - <NUM_LIT:32> , <NUM_LIT:0> , <NUM_LIT:6> , <NUM_LIT:0> ] , <NUM_LIT> ) <EOL> class TestGegenbauer ( TestCase ) : <EOL> def test_gegenbauer ( self ) : <EOL> a = <NUM_LIT:5> * np . random . random ( ) - <NUM_LIT:0.5> <EOL> if np . any ( a == <NUM_LIT:0> ) : <EOL> a = - <NUM_LIT> <EOL> Ca0 = orth . gegenbauer ( <NUM_LIT:0> , a ) <EOL> Ca1 = orth . gegenbauer ( <NUM_LIT:1> , a ) <EOL> Ca2 = orth . gegenbauer ( <NUM_LIT:2> , a ) <EOL> Ca3 = orth . gegenbauer ( <NUM_LIT:3> , a ) <EOL> Ca4 = orth . gegenbauer ( <NUM_LIT:4> , a ) <EOL> Ca5 = orth . gegenbauer ( <NUM_LIT:5> , a ) <EOL> assert_array_almost_equal ( Ca0 . c , array ( [ <NUM_LIT:1> ] ) , <NUM_LIT> ) <EOL> assert_array_almost_equal ( Ca1 . c , array ( [ <NUM_LIT:2> * a , <NUM_LIT:0> ] ) , <NUM_LIT> ) <EOL> assert_array_almost_equal ( Ca2 . c , array ( [ <NUM_LIT:2> * a * ( a + <NUM_LIT:1> ) , <NUM_LIT:0> , - a ] ) , <NUM_LIT> ) <EOL> assert_array_almost_equal ( Ca3 . c , array ( [ <NUM_LIT:4> * orth . poch ( a , <NUM_LIT:3> ) , <NUM_LIT:0> , - <NUM_LIT:6> * a * ( a + <NUM_LIT:1> ) , <EOL> <NUM_LIT:0> ] ) / <NUM_LIT> , <NUM_LIT:11> ) <EOL> assert_array_almost_equal ( Ca4 . c , array ( [ <NUM_LIT:4> * orth . poch ( a , <NUM_LIT:4> ) , <NUM_LIT:0> , - <NUM_LIT:12> * orth . poch ( a , <NUM_LIT:3> ) , <EOL> <NUM_LIT:0> , <NUM_LIT:3> * a * ( a + <NUM_LIT:1> ) ] ) / <NUM_LIT> , <NUM_LIT:11> ) <EOL> assert_array_almost_equal ( Ca5 . c , array ( [ <NUM_LIT:4> * orth . poch ( a , <NUM_LIT:5> ) , <NUM_LIT:0> , - <NUM_LIT:20> * orth . poch ( a , <NUM_LIT:4> ) , <EOL> <NUM_LIT:0> , <NUM_LIT:15> * orth . poch ( a , <NUM_LIT:3> ) , <NUM_LIT:0> ] ) / <NUM_LIT> , <NUM_LIT:11> ) <EOL> class TestHermite ( TestCase ) : <EOL> def test_hermite ( self ) : <EOL> H0 = orth . hermite ( <NUM_LIT:0> ) <EOL> H1 = orth . hermite ( <NUM_LIT:1> ) <EOL> H2 = orth . hermite ( <NUM_LIT:2> ) <EOL> H3 = orth . hermite ( <NUM_LIT:3> ) <EOL> H4 = orth . hermite ( <NUM_LIT:4> ) <EOL> H5 = orth . hermite ( <NUM_LIT:5> ) <EOL> assert_array_almost_equal ( H0 . c , [ <NUM_LIT:1> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( H1 . c , [ <NUM_LIT:2> , <NUM_LIT:0> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( H2 . c , [ <NUM_LIT:4> , <NUM_LIT:0> , - <NUM_LIT:2> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( H3 . c , [ <NUM_LIT:8> , <NUM_LIT:0> , - <NUM_LIT:12> , <NUM_LIT:0> ] , <NUM_LIT> ) <EOL> assert_array_almost_equal ( H4 . c , [ <NUM_LIT:16> , <NUM_LIT:0> , - <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:12> ] , <NUM_LIT:12> ) <EOL> assert_array_almost_equal ( H5 . c , [ <NUM_LIT:32> , <NUM_LIT:0> , - <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:0> ] , <NUM_LIT:12> ) <EOL> def test_hermitenorm ( self ) : <EOL> psub = np . poly1d ( [ <NUM_LIT:1.0> / sqrt ( <NUM_LIT:2> ) , <NUM_LIT:0> ] ) <EOL> H0 = orth . hermitenorm ( <NUM_LIT:0> ) <EOL> H1 = orth . hermitenorm ( <NUM_LIT:1> ) <EOL> H2 = orth . hermitenorm ( <NUM_LIT:2> ) <EOL> H3 = orth . hermitenorm ( <NUM_LIT:3> ) <EOL> H4 = orth . hermitenorm ( <NUM_LIT:4> ) <EOL> H5 = orth . hermitenorm ( <NUM_LIT:5> ) <EOL> he0 = orth . hermite ( <NUM_LIT:0> ) ( psub ) <EOL> he1 = orth . hermite ( <NUM_LIT:1> ) ( psub ) / sqrt ( <NUM_LIT:2> ) <EOL> he2 = orth . hermite ( <NUM_LIT:2> ) ( psub ) / <NUM_LIT> <EOL> he3 = orth . hermite ( <NUM_LIT:3> ) ( psub ) / ( <NUM_LIT:2> * sqrt ( <NUM_LIT:2> ) ) <EOL> he4 = orth . hermite ( <NUM_LIT:4> ) ( psub ) / <NUM_LIT> <EOL> he5 = orth . hermite ( <NUM_LIT:5> ) ( psub ) / ( <NUM_LIT> * sqrt ( <NUM_LIT:2> ) ) <EOL> assert_array_almost_equal ( H0 . c , he0 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( H1 . c , he1 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( H2 . c , he2 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( H3 . c , he3 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( H4 . c , he4 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( H5 . c , he5 . c , <NUM_LIT> ) <EOL> class _test_sh_legendre ( TestCase ) : <EOL> def test_sh_legendre ( self ) : <EOL> psub = np . poly1d ( [ <NUM_LIT:2> , - <NUM_LIT:1> ] ) <EOL> Ps0 = orth . sh_legendre ( <NUM_LIT:0> ) <EOL> Ps1 = orth . sh_legendre ( <NUM_LIT:1> ) <EOL> Ps2 = orth . sh_legendre ( <NUM_LIT:2> ) <EOL> Ps3 = orth . sh_legendre ( <NUM_LIT:3> ) <EOL> Ps4 = orth . sh_legendre ( <NUM_LIT:4> ) <EOL> Ps5 = orth . sh_legendre ( <NUM_LIT:5> ) <EOL> pse0 = orth . legendre ( <NUM_LIT:0> ) ( psub ) <EOL> pse1 = orth . legendre ( <NUM_LIT:1> ) ( psub ) <EOL> pse2 = orth . legendre ( <NUM_LIT:2> ) ( psub ) <EOL> pse3 = orth . legendre ( <NUM_LIT:3> ) ( psub ) <EOL> pse4 = orth . legendre ( <NUM_LIT:4> ) ( psub ) <EOL> pse5 = orth . legendre ( <NUM_LIT:5> ) ( psub ) <EOL> assert_array_almost_equal ( Ps0 . c , pse0 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( Ps1 . c , pse1 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( Ps2 . c , pse2 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( Ps3 . c , pse3 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( Ps4 . c , pse4 . c , <NUM_LIT:12> ) <EOL> assert_array_almost_equal ( Ps5 . c , pse5 . c , <NUM_LIT:12> ) <EOL> class _test_sh_chebyt ( TestCase ) : <EOL> def test_sh_chebyt ( self ) : <EOL> psub = np . poly1d ( [ <NUM_LIT:2> , - <NUM_LIT:1> ] ) <EOL> Ts0 = orth . sh_chebyt ( <NUM_LIT:0> ) <EOL> Ts1 = orth . sh_chebyt ( <NUM_LIT:1> ) <EOL> Ts2 = orth . sh_chebyt ( <NUM_LIT:2> ) <EOL> Ts3 = orth . sh_chebyt ( <NUM_LIT:3> ) <EOL> Ts4 = orth . sh_chebyt ( <NUM_LIT:4> ) <EOL> Ts5 = orth . sh_chebyt ( <NUM_LIT:5> ) <EOL> tse0 = orth . chebyt ( <NUM_LIT:0> ) ( psub ) <EOL> tse1 = orth . chebyt ( <NUM_LIT:1> ) ( psub ) <EOL> tse2 = orth . chebyt ( <NUM_LIT:2> ) ( psub ) <EOL> tse3 = orth . chebyt ( <NUM_LIT:3> ) ( psub ) <EOL> tse4 = orth . chebyt ( <NUM_LIT:4> ) ( psub ) <EOL> tse5 = orth . chebyt ( <NUM_LIT:5> ) ( psub ) <EOL> assert_array_almost_equal ( Ts0 . c , tse0 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( Ts1 . c , tse1 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( Ts2 . c , tse2 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( Ts3 . c , tse3 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( Ts4 . c , tse4 . c , <NUM_LIT:12> ) <EOL> assert_array_almost_equal ( Ts5 . c , tse5 . c , <NUM_LIT:12> ) <EOL> class _test_sh_chebyu ( TestCase ) : <EOL> def test_sh_chebyu ( self ) : <EOL> psub = np . poly1d ( [ <NUM_LIT:2> , - <NUM_LIT:1> ] ) <EOL> Us0 = orth . sh_chebyu ( <NUM_LIT:0> ) <EOL> Us1 = orth . sh_chebyu ( <NUM_LIT:1> ) <EOL> Us2 = orth . sh_chebyu ( <NUM_LIT:2> ) <EOL> Us3 = orth . sh_chebyu ( <NUM_LIT:3> ) <EOL> Us4 = orth . sh_chebyu ( <NUM_LIT:4> ) <EOL> Us5 = orth . sh_chebyu ( <NUM_LIT:5> ) <EOL> use0 = orth . chebyu ( <NUM_LIT:0> ) ( psub ) <EOL> use1 = orth . chebyu ( <NUM_LIT:1> ) ( psub ) <EOL> use2 = orth . chebyu ( <NUM_LIT:2> ) ( psub ) <EOL> use3 = orth . chebyu ( <NUM_LIT:3> ) ( psub ) <EOL> use4 = orth . chebyu ( <NUM_LIT:4> ) ( psub ) <EOL> use5 = orth . chebyu ( <NUM_LIT:5> ) ( psub ) <EOL> assert_array_almost_equal ( Us0 . c , use0 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( Us1 . c , use1 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( Us2 . c , use2 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( Us3 . c , use3 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( Us4 . c , use4 . c , <NUM_LIT:12> ) <EOL> assert_array_almost_equal ( Us5 . c , use5 . c , <NUM_LIT:11> ) <EOL> class _test_sh_jacobi ( TestCase ) : <EOL> def test_sh_jacobi ( self ) : <EOL> conv = lambda n , p : gamma ( n + <NUM_LIT:1> ) * gamma ( n + p ) / gamma ( <NUM_LIT:2> * n + p ) <EOL> psub = np . poly1d ( [ <NUM_LIT:2> , - <NUM_LIT:1> ] ) <EOL> q = <NUM_LIT:4> * np . random . random ( ) <EOL> p = q - <NUM_LIT:1> + <NUM_LIT:2> * np . random . random ( ) <EOL> G0 = orth . sh_jacobi ( <NUM_LIT:0> , p , q ) <EOL> G1 = orth . sh_jacobi ( <NUM_LIT:1> , p , q ) <EOL> G2 = orth . sh_jacobi ( <NUM_LIT:2> , p , q ) <EOL> G3 = orth . sh_jacobi ( <NUM_LIT:3> , p , q ) <EOL> G4 = orth . sh_jacobi ( <NUM_LIT:4> , p , q ) <EOL> G5 = orth . sh_jacobi ( <NUM_LIT:5> , p , q ) <EOL> ge0 = orth . jacobi ( <NUM_LIT:0> , p - q , q - <NUM_LIT:1> ) ( psub ) * conv ( <NUM_LIT:0> , p ) <EOL> ge1 = orth . jacobi ( <NUM_LIT:1> , p - q , q - <NUM_LIT:1> ) ( psub ) * conv ( <NUM_LIT:1> , p ) <EOL> ge2 = orth . jacobi ( <NUM_LIT:2> , p - q , q - <NUM_LIT:1> ) ( psub ) * conv ( <NUM_LIT:2> , p ) <EOL> ge3 = orth . jacobi ( <NUM_LIT:3> , p - q , q - <NUM_LIT:1> ) ( psub ) * conv ( <NUM_LIT:3> , p ) <EOL> ge4 = orth . jacobi ( <NUM_LIT:4> , p - q , q - <NUM_LIT:1> ) ( psub ) * conv ( <NUM_LIT:4> , p ) <EOL> ge5 = orth . jacobi ( <NUM_LIT:5> , p - q , q - <NUM_LIT:1> ) ( psub ) * conv ( <NUM_LIT:5> , p ) <EOL> assert_array_almost_equal ( G0 . c , ge0 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( G1 . c , ge1 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( G2 . c , ge2 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( G3 . c , ge3 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( G4 . c , ge4 . c , <NUM_LIT> ) <EOL> assert_array_almost_equal ( G5 . c , ge5 . c , <NUM_LIT> ) <EOL> class TestCall ( object ) : <EOL> def test_call ( self ) : <EOL> poly = [ ] <EOL> for n in xrange ( <NUM_LIT:5> ) : <EOL> poly . extend ( [ x . strip ( ) for x in <EOL> ( """<STR_LIT>""" % dict ( n = n ) ) . split ( ) <EOL> ] ) <EOL> olderr = np . seterr ( all = '<STR_LIT:ignore>' ) <EOL> try : <EOL> for pstr in poly : <EOL> p = eval ( pstr ) <EOL> assert_almost_equal ( p ( <NUM_LIT> ) , np . poly1d ( p ) ( <NUM_LIT> ) , err_msg = pstr ) <EOL> finally : <EOL> np . seterr ( ** olderr ) <EOL> def verify_gauss_quad ( root_func , eval_func , weight_func , a , b , N , <EOL> rtol = <NUM_LIT> , atol = <NUM_LIT> ) : <EOL> x , w , mu = root_func ( N , True ) <EOL> n = np . arange ( N ) <EOL> v = eval_func ( n [ : , np . newaxis ] , x ) <EOL> vv = np . dot ( v * w , v . T ) <EOL> vd = <NUM_LIT:1> / np . sqrt ( vv . diagonal ( ) ) <EOL> vv = vd [ : , np . newaxis ] * vv * vd <EOL> assert_allclose ( vv , np . eye ( N ) , rtol , atol ) <EOL> assert_allclose ( w . sum ( ) , mu , rtol , atol ) <EOL> f = lambda x : x ** <NUM_LIT:3> - <NUM_LIT:3> * x ** <NUM_LIT:2> + x - <NUM_LIT:2> <EOL> resI = integrate . quad ( lambda x : f ( x ) * weight_func ( x ) , a , b ) <EOL> resG = np . vdot ( f ( x ) , w ) <EOL> rtol = <NUM_LIT> if <NUM_LIT> < resI [ <NUM_LIT:1> ] else resI [ <NUM_LIT:1> ] * <NUM_LIT:10> <EOL> assert_allclose ( resI [ <NUM_LIT:0> ] , resG , rtol = rtol ) <EOL> def test_j_roots ( ) : <EOL> rf = lambda a , b : lambda n , mu : orth . j_roots ( n , a , b , mu ) <EOL> ef = lambda a , b : lambda n , x : orth . eval_jacobi ( n , a , b , x ) <EOL> wf = lambda a , b : lambda x : ( <NUM_LIT:1> - x ) ** a * ( <NUM_LIT:1> + x ) ** b <EOL> vgq = verify_gauss_quad <EOL> vgq ( rf ( - <NUM_LIT:0.5> , - <NUM_LIT> ) , ef ( - <NUM_LIT:0.5> , - <NUM_LIT> ) , wf ( - <NUM_LIT:0.5> , - <NUM_LIT> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:5> ) <EOL> vgq ( rf ( - <NUM_LIT:0.5> , - <NUM_LIT> ) , ef ( - <NUM_LIT:0.5> , - <NUM_LIT> ) , wf ( - <NUM_LIT:0.5> , - <NUM_LIT> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <EOL> <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( - <NUM_LIT:0.5> , - <NUM_LIT> ) , ef ( - <NUM_LIT:0.5> , - <NUM_LIT> ) , wf ( - <NUM_LIT:0.5> , - <NUM_LIT> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <EOL> <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT:0.5> , - <NUM_LIT:0.5> ) , ef ( <NUM_LIT:0.5> , - <NUM_LIT:0.5> ) , wf ( <NUM_LIT:0.5> , - <NUM_LIT:0.5> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:5> ) <EOL> vgq ( rf ( <NUM_LIT:0.5> , - <NUM_LIT:0.5> ) , ef ( <NUM_LIT:0.5> , - <NUM_LIT:0.5> ) , wf ( <NUM_LIT:0.5> , - <NUM_LIT:0.5> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT:0.5> , - <NUM_LIT:0.5> ) , ef ( <NUM_LIT:0.5> , - <NUM_LIT:0.5> ) , wf ( <NUM_LIT:0.5> , - <NUM_LIT:0.5> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT:1> , <NUM_LIT:0.5> ) , ef ( <NUM_LIT:1> , <NUM_LIT:0.5> ) , wf ( <NUM_LIT:1> , <NUM_LIT:0.5> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:5> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT:1> , <NUM_LIT:0.5> ) , ef ( <NUM_LIT:1> , <NUM_LIT:0.5> ) , wf ( <NUM_LIT:1> , <NUM_LIT:0.5> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT:1> , <NUM_LIT:0.5> ) , ef ( <NUM_LIT:1> , <NUM_LIT:0.5> ) , wf ( <NUM_LIT:1> , <NUM_LIT:0.5> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT> , <NUM_LIT:2> ) , ef ( <NUM_LIT> , <NUM_LIT:2> ) , wf ( <NUM_LIT> , <NUM_LIT:2> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:5> ) <EOL> vgq ( rf ( <NUM_LIT> , <NUM_LIT:2> ) , ef ( <NUM_LIT> , <NUM_LIT:2> ) , wf ( <NUM_LIT> , <NUM_LIT:2> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT> , <NUM_LIT:2> ) , ef ( <NUM_LIT> , <NUM_LIT:2> ) , wf ( <NUM_LIT> , <NUM_LIT:2> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT> , <NUM_LIT> ) , ef ( <NUM_LIT> , <NUM_LIT> ) , wf ( <NUM_LIT> , <NUM_LIT> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:5> ) <EOL> vgq ( rf ( <NUM_LIT> , <NUM_LIT> ) , ef ( <NUM_LIT> , <NUM_LIT> ) , wf ( <NUM_LIT> , <NUM_LIT> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT> , <NUM_LIT> ) , ef ( <NUM_LIT> , <NUM_LIT> ) , wf ( <NUM_LIT> , <NUM_LIT> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <EOL> <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT> , - <NUM_LIT> ) , ef ( <NUM_LIT> , - <NUM_LIT> ) , wf ( <NUM_LIT> , - <NUM_LIT> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:5> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT> , - <NUM_LIT> ) , ef ( <NUM_LIT> , - <NUM_LIT> ) , wf ( <NUM_LIT> , - <NUM_LIT> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT> , - <NUM_LIT> ) , ef ( <NUM_LIT> , - <NUM_LIT> ) , wf ( <NUM_LIT> , - <NUM_LIT> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <EOL> <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT> , <NUM_LIT> ) , ef ( <NUM_LIT> , <NUM_LIT> ) , wf ( <NUM_LIT> , <NUM_LIT> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:5> ) <EOL> vgq ( rf ( <NUM_LIT> , <NUM_LIT> ) , ef ( <NUM_LIT> , <NUM_LIT> ) , wf ( <NUM_LIT> , <NUM_LIT> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT> , <NUM_LIT> ) , ef ( <NUM_LIT> , <NUM_LIT> ) , wf ( <NUM_LIT> , <NUM_LIT> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <EOL> <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> xj , wj = orth . j_roots ( <NUM_LIT:6> , <NUM_LIT:0.0> , <NUM_LIT:0.0> ) <EOL> xl , wl = orth . p_roots ( <NUM_LIT:6> ) <EOL> assert_allclose ( xj , xl , <NUM_LIT> , <NUM_LIT> ) <EOL> assert_allclose ( wj , wl , <NUM_LIT> , <NUM_LIT> ) <EOL> xj , wj = orth . j_roots ( <NUM_LIT:6> , <NUM_LIT> , <NUM_LIT> ) <EOL> xc , wc = orth . cg_roots ( <NUM_LIT:6> , <NUM_LIT> ) <EOL> assert_allclose ( xj , xc , <NUM_LIT> , <NUM_LIT> ) <EOL> assert_allclose ( wj , wc , <NUM_LIT> , <NUM_LIT> ) <EOL> x , w = orth . j_roots ( <NUM_LIT:5> , <NUM_LIT:2> , <NUM_LIT:3> , False ) <EOL> y , v , m = orth . j_roots ( <NUM_LIT:5> , <NUM_LIT:2> , <NUM_LIT:3> , True ) <EOL> assert_allclose ( x , y , <NUM_LIT> , <NUM_LIT> ) <EOL> assert_allclose ( w , v , <NUM_LIT> , <NUM_LIT> ) <EOL> muI , muI_err = integrate . quad ( wf ( <NUM_LIT:2> , <NUM_LIT:3> ) , - <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> assert_allclose ( m , muI , rtol = muI_err ) <EOL> assert_raises ( ValueError , orth . j_roots , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> assert_raises ( ValueError , orth . j_roots , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> assert_raises ( ValueError , orth . j_roots , <NUM_LIT:3> , - <NUM_LIT:2> , <NUM_LIT:1> ) <EOL> assert_raises ( ValueError , orth . j_roots , <NUM_LIT:3> , <NUM_LIT:1> , - <NUM_LIT:2> ) <EOL> assert_raises ( ValueError , orth . j_roots , <NUM_LIT:3> , - <NUM_LIT:2> , - <NUM_LIT:2> ) <EOL> def test_js_roots ( ) : <EOL> rf = lambda a , b : lambda n , mu : orth . js_roots ( n , a , b , mu ) <EOL> ef = lambda a , b : lambda n , x : orth . eval_sh_jacobi ( n , a , b , x ) <EOL> wf = lambda a , b : lambda x : ( <NUM_LIT:1.> - x ) ** ( a - b ) * ( x ) ** ( b - <NUM_LIT:1.> ) <EOL> vgq = verify_gauss_quad <EOL> vgq ( rf ( - <NUM_LIT:0.5> , <NUM_LIT> ) , ef ( - <NUM_LIT:0.5> , <NUM_LIT> ) , wf ( - <NUM_LIT:0.5> , <NUM_LIT> ) , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT:5> ) <EOL> vgq ( rf ( - <NUM_LIT:0.5> , <NUM_LIT> ) , ef ( - <NUM_LIT:0.5> , <NUM_LIT> ) , wf ( - <NUM_LIT:0.5> , <NUM_LIT> ) , <NUM_LIT:0.> , <NUM_LIT:1.> , <EOL> <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( - <NUM_LIT:0.5> , <NUM_LIT> ) , ef ( - <NUM_LIT:0.5> , <NUM_LIT> ) , wf ( - <NUM_LIT:0.5> , <NUM_LIT> ) , <NUM_LIT:0.> , <NUM_LIT:1.> , <EOL> <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT:0.5> , <NUM_LIT:0.5> ) , ef ( <NUM_LIT:0.5> , <NUM_LIT:0.5> ) , wf ( <NUM_LIT:0.5> , <NUM_LIT:0.5> ) , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT:5> ) <EOL> vgq ( rf ( <NUM_LIT:0.5> , <NUM_LIT:0.5> ) , ef ( <NUM_LIT:0.5> , <NUM_LIT:0.5> ) , wf ( <NUM_LIT:0.5> , <NUM_LIT:0.5> ) , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT:0.5> , <NUM_LIT:0.5> ) , ef ( <NUM_LIT:0.5> , <NUM_LIT:0.5> ) , wf ( <NUM_LIT:0.5> , <NUM_LIT:0.5> ) , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT:1> , <NUM_LIT:0.5> ) , ef ( <NUM_LIT:1> , <NUM_LIT:0.5> ) , wf ( <NUM_LIT:1> , <NUM_LIT:0.5> ) , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT:5> ) <EOL> vgq ( rf ( <NUM_LIT:1> , <NUM_LIT:0.5> ) , ef ( <NUM_LIT:1> , <NUM_LIT:0.5> ) , wf ( <NUM_LIT:1> , <NUM_LIT:0.5> ) , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT:1> , <NUM_LIT:0.5> ) , ef ( <NUM_LIT:1> , <NUM_LIT:0.5> ) , wf ( <NUM_LIT:1> , <NUM_LIT:0.5> ) , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT:2> , <NUM_LIT> ) , ef ( <NUM_LIT:2> , <NUM_LIT> ) , wf ( <NUM_LIT:2> , <NUM_LIT> ) , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT:5> ) <EOL> vgq ( rf ( <NUM_LIT:2> , <NUM_LIT> ) , ef ( <NUM_LIT:2> , <NUM_LIT> ) , wf ( <NUM_LIT:2> , <NUM_LIT> ) , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT:2> , <NUM_LIT> ) , ef ( <NUM_LIT:2> , <NUM_LIT> ) , wf ( <NUM_LIT:2> , <NUM_LIT> ) , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT> , <NUM_LIT> ) , ef ( <NUM_LIT> , <NUM_LIT> ) , wf ( <NUM_LIT> , <NUM_LIT> ) , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT:5> ) <EOL> vgq ( rf ( <NUM_LIT> , <NUM_LIT> ) , ef ( <NUM_LIT> , <NUM_LIT> ) , wf ( <NUM_LIT> , <NUM_LIT> ) , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT> , <NUM_LIT> ) , ef ( <NUM_LIT> , <NUM_LIT> ) , wf ( <NUM_LIT> , <NUM_LIT> ) , <NUM_LIT:0.> , <NUM_LIT:1.> , <EOL> <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT> , <NUM_LIT> ) , ef ( <NUM_LIT> , <NUM_LIT> ) , wf ( <NUM_LIT> , <NUM_LIT> ) , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT:5> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT> , <NUM_LIT> ) , ef ( <NUM_LIT> , <NUM_LIT> ) , wf ( <NUM_LIT> , <NUM_LIT> ) , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT> , <NUM_LIT> ) , ef ( <NUM_LIT> , <NUM_LIT> ) , wf ( <NUM_LIT> , <NUM_LIT> ) , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT> , <NUM_LIT> ) , ef ( <NUM_LIT> , <NUM_LIT> ) , wf ( <NUM_LIT> , <NUM_LIT> ) , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT:5> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT> , <NUM_LIT> ) , ef ( <NUM_LIT> , <NUM_LIT> ) , wf ( <NUM_LIT> , <NUM_LIT> ) , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rf ( <NUM_LIT> , <NUM_LIT> ) , ef ( <NUM_LIT> , <NUM_LIT> ) , wf ( <NUM_LIT> , <NUM_LIT> ) , <NUM_LIT:0.> , <NUM_LIT:1.> , <EOL> <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> x , w = orth . js_roots ( <NUM_LIT:5> , <NUM_LIT:3> , <NUM_LIT:2> , False ) <EOL> y , v , m = orth . js_roots ( <NUM_LIT:5> , <NUM_LIT:3> , <NUM_LIT:2> , True ) <EOL> assert_allclose ( x , y , <NUM_LIT> , <NUM_LIT> ) <EOL> assert_allclose ( w , v , <NUM_LIT> , <NUM_LIT> ) <EOL> muI , muI_err = integrate . quad ( wf ( <NUM_LIT:3> , <NUM_LIT:2> ) , <NUM_LIT:0> , <NUM_LIT:1> ) <EOL> assert_allclose ( m , muI , rtol = muI_err ) <EOL> assert_raises ( ValueError , orth . js_roots , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> assert_raises ( ValueError , orth . js_roots , <NUM_LIT> , <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> assert_raises ( ValueError , orth . js_roots , <NUM_LIT:3> , <NUM_LIT:1> , <NUM_LIT:2> ) <EOL> assert_raises ( ValueError , orth . js_roots , <NUM_LIT:3> , <NUM_LIT:2> , - <NUM_LIT:1> ) <EOL> assert_raises ( ValueError , orth . js_roots , <NUM_LIT:3> , - <NUM_LIT:2> , - <NUM_LIT:1> ) <EOL> def test_h_roots ( ) : <EOL> rootf = orth . h_roots <EOL> evalf = orth . eval_hermite <EOL> weightf = orth . hermite ( <NUM_LIT:5> ) . weight_func <EOL> verify_gauss_quad ( rootf , evalf , weightf , - np . inf , np . inf , <NUM_LIT:5> ) <EOL> verify_gauss_quad ( rootf , evalf , weightf , - np . inf , np . inf , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> verify_gauss_quad ( rootf , evalf , weightf , - np . inf , np . inf , <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> x , w = orth . h_roots ( <NUM_LIT:5> , False ) <EOL> y , v , m = orth . h_roots ( <NUM_LIT:5> , True ) <EOL> assert_allclose ( x , y , <NUM_LIT> , <NUM_LIT> ) <EOL> assert_allclose ( w , v , <NUM_LIT> , <NUM_LIT> ) <EOL> muI , muI_err = integrate . quad ( weightf , - np . inf , np . inf ) <EOL> assert_allclose ( m , muI , rtol = muI_err ) <EOL> x , w = orth . h_roots ( <NUM_LIT:200> , False ) <EOL> y , v , m = orth . h_roots ( <NUM_LIT:200> , True ) <EOL> assert_allclose ( x , y , <NUM_LIT> , <NUM_LIT> ) <EOL> assert_allclose ( w , v , <NUM_LIT> , <NUM_LIT> ) <EOL> assert_allclose ( sum ( v ) , m , <NUM_LIT> , <NUM_LIT> ) <EOL> assert_raises ( ValueError , orth . h_roots , <NUM_LIT:0> ) <EOL> assert_raises ( ValueError , orth . h_roots , <NUM_LIT> ) <EOL> def test_h_roots_asy ( ) : <EOL> def hermite_recursion ( n , nodes ) : <EOL> H = np . zeros ( ( n , nodes . size ) ) <EOL> H [ <NUM_LIT:0> , : ] = np . pi ** ( - <NUM_LIT> ) * np . exp ( - <NUM_LIT:0.5> * nodes ** <NUM_LIT:2> ) <EOL> if n > <NUM_LIT:1> : <EOL> H [ <NUM_LIT:1> , : ] = sqrt ( <NUM_LIT> ) * nodes * H [ <NUM_LIT:0> , : ] <EOL> for k in xrange ( <NUM_LIT:2> , n ) : <EOL> H [ k , : ] = sqrt ( <NUM_LIT> / k ) * nodes * H [ k - <NUM_LIT:1> , : ] - sqrt ( ( k - <NUM_LIT:1.0> ) / k ) * H [ k - <NUM_LIT:2> , : ] <EOL> return H <EOL> def test ( N , rtol = <NUM_LIT> , atol = <NUM_LIT> ) : <EOL> x , w = orth . _h_roots_asy ( N ) <EOL> H = hermite_recursion ( N + <NUM_LIT:1> , x ) <EOL> assert_allclose ( H [ - <NUM_LIT:1> , : ] , np . zeros ( N ) , rtol , atol ) <EOL> assert_allclose ( sum ( w ) , sqrt ( np . pi ) , rtol , atol ) <EOL> test ( <NUM_LIT> , atol = <NUM_LIT> ) <EOL> test ( <NUM_LIT> , atol = <NUM_LIT> ) <EOL> test ( <NUM_LIT> , atol = <NUM_LIT> ) <EOL> test ( <NUM_LIT> , atol = <NUM_LIT> ) <EOL> test ( <NUM_LIT> , atol = <NUM_LIT> ) <EOL> test ( <NUM_LIT> , atol = <NUM_LIT> ) <EOL> test ( <NUM_LIT> , atol = <NUM_LIT> ) <EOL> test ( <NUM_LIT:1000> , atol = <NUM_LIT> ) <EOL> test ( <NUM_LIT> , atol = <NUM_LIT> ) <EOL> test ( <NUM_LIT> , atol = <NUM_LIT> ) <EOL> def test_he_roots ( ) : <EOL> rootf = orth . he_roots <EOL> evalf = orth . eval_hermitenorm <EOL> weightf = orth . hermitenorm ( <NUM_LIT:5> ) . weight_func <EOL> verify_gauss_quad ( rootf , evalf , weightf , - np . inf , np . inf , <NUM_LIT:5> ) <EOL> verify_gauss_quad ( rootf , evalf , weightf , - np . inf , np . inf , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> verify_gauss_quad ( rootf , evalf , weightf , - np . inf , np . inf , <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> x , w = orth . he_roots ( <NUM_LIT:5> , False ) <EOL> y , v , m = orth . he_roots ( <NUM_LIT:5> , True ) <EOL> assert_allclose ( x , y , <NUM_LIT> , <NUM_LIT> ) <EOL> assert_allclose ( w , v , <NUM_LIT> , <NUM_LIT> ) <EOL> muI , muI_err = integrate . quad ( weightf , - np . inf , np . inf ) <EOL> assert_allclose ( m , muI , rtol = muI_err ) <EOL> assert_raises ( ValueError , orth . he_roots , <NUM_LIT:0> ) <EOL> assert_raises ( ValueError , orth . he_roots , <NUM_LIT> ) <EOL> def test_cg_roots ( ) : <EOL> rootf = lambda a : lambda n , mu : orth . cg_roots ( n , a , mu ) <EOL> evalf = lambda a : lambda n , x : orth . eval_gegenbauer ( n , a , x ) <EOL> weightf = lambda a : lambda x : ( <NUM_LIT:1> - x ** <NUM_LIT:2> ) ** ( a - <NUM_LIT:0.5> ) <EOL> vgq = verify_gauss_quad <EOL> vgq ( rootf ( - <NUM_LIT> ) , evalf ( - <NUM_LIT> ) , weightf ( - <NUM_LIT> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:5> ) <EOL> vgq ( rootf ( - <NUM_LIT> ) , evalf ( - <NUM_LIT> ) , weightf ( - <NUM_LIT> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rootf ( - <NUM_LIT> ) , evalf ( - <NUM_LIT> ) , weightf ( - <NUM_LIT> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> vgq ( rootf ( <NUM_LIT:0.1> ) , evalf ( <NUM_LIT:0.1> ) , weightf ( <NUM_LIT:0.1> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:5> ) <EOL> vgq ( rootf ( <NUM_LIT:0.1> ) , evalf ( <NUM_LIT:0.1> ) , weightf ( <NUM_LIT:0.1> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rootf ( <NUM_LIT:0.1> ) , evalf ( <NUM_LIT:0.1> ) , weightf ( <NUM_LIT:0.1> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> vgq ( rootf ( <NUM_LIT:1> ) , evalf ( <NUM_LIT:1> ) , weightf ( <NUM_LIT:1> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:5> ) <EOL> vgq ( rootf ( <NUM_LIT:1> ) , evalf ( <NUM_LIT:1> ) , weightf ( <NUM_LIT:1> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rootf ( <NUM_LIT:1> ) , evalf ( <NUM_LIT:1> ) , weightf ( <NUM_LIT:1> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> vgq ( rootf ( <NUM_LIT:10> ) , evalf ( <NUM_LIT:10> ) , weightf ( <NUM_LIT:10> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:5> ) <EOL> vgq ( rootf ( <NUM_LIT:10> ) , evalf ( <NUM_LIT:10> ) , weightf ( <NUM_LIT:10> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rootf ( <NUM_LIT:10> ) , evalf ( <NUM_LIT:10> ) , weightf ( <NUM_LIT:10> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> vgq ( rootf ( <NUM_LIT:50> ) , evalf ( <NUM_LIT:50> ) , weightf ( <NUM_LIT:50> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:5> , atol = <NUM_LIT> ) <EOL> vgq ( rootf ( <NUM_LIT:50> ) , evalf ( <NUM_LIT:50> ) , weightf ( <NUM_LIT:50> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rootf ( <NUM_LIT:50> ) , evalf ( <NUM_LIT:50> ) , weightf ( <NUM_LIT:50> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> vgq ( rootf ( <NUM_LIT:0> ) , orth . eval_chebyt , weightf ( <NUM_LIT:0> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:5> ) <EOL> vgq ( rootf ( <NUM_LIT:0> ) , orth . eval_chebyt , weightf ( <NUM_LIT:0> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT> ) <EOL> vgq ( rootf ( <NUM_LIT:0> ) , orth . eval_chebyt , weightf ( <NUM_LIT:0> ) , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:100> ) <EOL> x , w = orth . cg_roots ( <NUM_LIT:5> , <NUM_LIT:2> , False ) <EOL> y , v , m = orth . cg_roots ( <NUM_LIT:5> , <NUM_LIT:2> , True ) <EOL> assert_allclose ( x , y , <NUM_LIT> , <NUM_LIT> ) <EOL> assert_allclose ( w , v , <NUM_LIT> , <NUM_LIT> ) <EOL> muI , muI_err = integrate . quad ( weightf ( <NUM_LIT:2> ) , - <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> assert_allclose ( m , muI , rtol = muI_err ) <EOL> assert_raises ( ValueError , orth . cg_roots , <NUM_LIT:0> , <NUM_LIT:2> ) <EOL> assert_raises ( ValueError , orth . cg_roots , <NUM_LIT> , <NUM_LIT:2> ) <EOL> assert_raises ( ValueError , orth . cg_roots , <NUM_LIT:3> , - <NUM_LIT> ) <EOL> def test_t_roots ( ) : <EOL> weightf = orth . chebyt ( <NUM_LIT:5> ) . weight_func <EOL> verify_gauss_quad ( orth . t_roots , orth . eval_chebyt , weightf , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:5> ) <EOL> verify_gauss_quad ( orth . t_roots , orth . eval_chebyt , weightf , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT> ) <EOL> verify_gauss_quad ( orth . t_roots , orth . eval_chebyt , weightf , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:100> ) <EOL> x , w = orth . t_roots ( <NUM_LIT:5> , False ) <EOL> y , v , m = orth . t_roots ( <NUM_LIT:5> , True ) <EOL> assert_allclose ( x , y , <NUM_LIT> , <NUM_LIT> ) <EOL> assert_allclose ( w , v , <NUM_LIT> , <NUM_LIT> ) <EOL> muI , muI_err = integrate . quad ( weightf , - <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> assert_allclose ( m , muI , rtol = muI_err ) <EOL> assert_raises ( ValueError , orth . t_roots , <NUM_LIT:0> ) <EOL> assert_raises ( ValueError , orth . t_roots , <NUM_LIT> ) <EOL> def test_u_roots ( ) : <EOL> weightf = orth . chebyu ( <NUM_LIT:5> ) . weight_func <EOL> verify_gauss_quad ( orth . u_roots , orth . eval_chebyu , weightf , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:5> ) <EOL> verify_gauss_quad ( orth . u_roots , orth . eval_chebyu , weightf , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT> ) <EOL> verify_gauss_quad ( orth . u_roots , orth . eval_chebyu , weightf , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:100> ) <EOL> x , w = orth . u_roots ( <NUM_LIT:5> , False ) <EOL> y , v , m = orth . u_roots ( <NUM_LIT:5> , True ) <EOL> assert_allclose ( x , y , <NUM_LIT> , <NUM_LIT> ) <EOL> assert_allclose ( w , v , <NUM_LIT> , <NUM_LIT> ) <EOL> muI , muI_err = integrate . quad ( weightf , - <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> assert_allclose ( m , muI , rtol = muI_err ) <EOL> assert_raises ( ValueError , orth . u_roots , <NUM_LIT:0> ) <EOL> assert_raises ( ValueError , orth . u_roots , <NUM_LIT> ) <EOL> def test_c_roots ( ) : <EOL> weightf = orth . chebyc ( <NUM_LIT:5> ) . weight_func <EOL> verify_gauss_quad ( orth . c_roots , orth . eval_chebyc , weightf , - <NUM_LIT> , <NUM_LIT> , <NUM_LIT:5> ) <EOL> verify_gauss_quad ( orth . c_roots , orth . eval_chebyc , weightf , - <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) <EOL> verify_gauss_quad ( orth . c_roots , orth . eval_chebyc , weightf , - <NUM_LIT> , <NUM_LIT> , <NUM_LIT:100> ) <EOL> x , w = orth . c_roots ( <NUM_LIT:5> , False ) <EOL> y , v , m = orth . c_roots ( <NUM_LIT:5> , True ) <EOL> assert_allclose ( x , y , <NUM_LIT> , <NUM_LIT> ) <EOL> assert_allclose ( w , v , <NUM_LIT> , <NUM_LIT> ) <EOL> muI , muI_err = integrate . quad ( weightf , - <NUM_LIT:2> , <NUM_LIT:2> ) <EOL> assert_allclose ( m , muI , rtol = muI_err ) <EOL> assert_raises ( ValueError , orth . c_roots , <NUM_LIT:0> ) <EOL> assert_raises ( ValueError , orth . c_roots , <NUM_LIT> ) <EOL> def test_s_roots ( ) : <EOL> weightf = orth . chebys ( <NUM_LIT:5> ) . weight_func <EOL> verify_gauss_quad ( orth . s_roots , orth . eval_chebys , weightf , - <NUM_LIT> , <NUM_LIT> , <NUM_LIT:5> ) <EOL> verify_gauss_quad ( orth . s_roots , orth . eval_chebys , weightf , - <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) <EOL> verify_gauss_quad ( orth . s_roots , orth . eval_chebys , weightf , - <NUM_LIT> , <NUM_LIT> , <NUM_LIT:100> ) <EOL> x , w = orth . s_roots ( <NUM_LIT:5> , False ) <EOL> y , v , m = orth . s_roots ( <NUM_LIT:5> , True ) <EOL> assert_allclose ( x , y , <NUM_LIT> , <NUM_LIT> ) <EOL> assert_allclose ( w , v , <NUM_LIT> , <NUM_LIT> ) <EOL> muI , muI_err = integrate . quad ( weightf , - <NUM_LIT:2> , <NUM_LIT:2> ) <EOL> assert_allclose ( m , muI , rtol = muI_err ) <EOL> assert_raises ( ValueError , orth . s_roots , <NUM_LIT:0> ) <EOL> assert_raises ( ValueError , orth . s_roots , <NUM_LIT> ) <EOL> def test_ts_roots ( ) : <EOL> weightf = orth . sh_chebyt ( <NUM_LIT:5> ) . weight_func <EOL> verify_gauss_quad ( orth . ts_roots , orth . eval_sh_chebyt , weightf , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT:5> ) <EOL> verify_gauss_quad ( orth . ts_roots , orth . eval_sh_chebyt , weightf , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT> ) <EOL> verify_gauss_quad ( orth . ts_roots , orth . eval_sh_chebyt , weightf , <NUM_LIT:0.> , <NUM_LIT:1.> , <EOL> <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> x , w = orth . ts_roots ( <NUM_LIT:5> , False ) <EOL> y , v , m = orth . ts_roots ( <NUM_LIT:5> , True ) <EOL> assert_allclose ( x , y , <NUM_LIT> , <NUM_LIT> ) <EOL> assert_allclose ( w , v , <NUM_LIT> , <NUM_LIT> ) <EOL> muI , muI_err = integrate . quad ( weightf , <NUM_LIT:0> , <NUM_LIT:1> ) <EOL> assert_allclose ( m , muI , rtol = muI_err ) <EOL> assert_raises ( ValueError , orth . ts_roots , <NUM_LIT:0> ) <EOL> assert_raises ( ValueError , orth . ts_roots , <NUM_LIT> ) <EOL> def test_us_roots ( ) : <EOL> weightf = orth . sh_chebyu ( <NUM_LIT:5> ) . weight_func <EOL> verify_gauss_quad ( orth . us_roots , orth . eval_sh_chebyu , weightf , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT:5> ) <EOL> verify_gauss_quad ( orth . us_roots , orth . eval_sh_chebyu , weightf , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT> ) <EOL> verify_gauss_quad ( orth . us_roots , orth . eval_sh_chebyu , weightf , <NUM_LIT:0.> , <NUM_LIT:1.> , <EOL> <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> x , w = orth . us_roots ( <NUM_LIT:5> , False ) <EOL> y , v , m = orth . us_roots ( <NUM_LIT:5> , True ) <EOL> assert_allclose ( x , y , <NUM_LIT> , <NUM_LIT> ) <EOL> assert_allclose ( w , v , <NUM_LIT> , <NUM_LIT> ) <EOL> muI , muI_err = integrate . quad ( weightf , <NUM_LIT:0> , <NUM_LIT:1> ) <EOL> assert_allclose ( m , muI , rtol = muI_err ) <EOL> assert_raises ( ValueError , orth . us_roots , <NUM_LIT:0> ) <EOL> assert_raises ( ValueError , orth . us_roots , <NUM_LIT> ) <EOL> def test_p_roots ( ) : <EOL> weightf = orth . legendre ( <NUM_LIT:5> ) . weight_func <EOL> verify_gauss_quad ( orth . p_roots , orth . eval_legendre , weightf , - <NUM_LIT:1.> , <NUM_LIT:1.> , <NUM_LIT:5> ) <EOL> verify_gauss_quad ( orth . p_roots , orth . eval_legendre , weightf , - <NUM_LIT:1.> , <NUM_LIT:1.> , <EOL> <NUM_LIT> , atol = <NUM_LIT> ) <EOL> verify_gauss_quad ( orth . p_roots , orth . eval_legendre , weightf , - <NUM_LIT:1.> , <NUM_LIT:1.> , <EOL> <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> x , w = orth . p_roots ( <NUM_LIT:5> , False ) <EOL> y , v , m = orth . p_roots ( <NUM_LIT:5> , True ) <EOL> assert_allclose ( x , y , <NUM_LIT> , <NUM_LIT> ) <EOL> assert_allclose ( w , v , <NUM_LIT> , <NUM_LIT> ) <EOL> muI , muI_err = integrate . quad ( weightf , - <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> assert_allclose ( m , muI , rtol = muI_err ) <EOL> assert_raises ( ValueError , orth . p_roots , <NUM_LIT:0> ) <EOL> assert_raises ( ValueError , orth . p_roots , <NUM_LIT> ) <EOL> def test_ps_roots ( ) : <EOL> weightf = orth . sh_legendre ( <NUM_LIT:5> ) . weight_func <EOL> verify_gauss_quad ( orth . ps_roots , orth . eval_sh_legendre , weightf , <NUM_LIT:0.> , <NUM_LIT:1.> , <NUM_LIT:5> ) <EOL> verify_gauss_quad ( orth . ps_roots , orth . eval_sh_legendre , weightf , <NUM_LIT:0.> , <NUM_LIT:1.> , <EOL> <NUM_LIT> , atol = <NUM_LIT> ) <EOL> verify_gauss_quad ( orth . ps_roots , orth . eval_sh_legendre , weightf , <NUM_LIT:0.> , <NUM_LIT:1.> , <EOL> <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> x , w = orth . ps_roots ( <NUM_LIT:5> , False ) <EOL> y , v , m = orth . ps_roots ( <NUM_LIT:5> , True ) <EOL> assert_allclose ( x , y , <NUM_LIT> , <NUM_LIT> ) <EOL> assert_allclose ( w , v , <NUM_LIT> , <NUM_LIT> ) <EOL> muI , muI_err = integrate . quad ( weightf , <NUM_LIT:0> , <NUM_LIT:1> ) <EOL> assert_allclose ( m , muI , rtol = muI_err ) <EOL> assert_raises ( ValueError , orth . ps_roots , <NUM_LIT:0> ) <EOL> assert_raises ( ValueError , orth . ps_roots , <NUM_LIT> ) <EOL> def test_l_roots ( ) : <EOL> weightf = orth . laguerre ( <NUM_LIT:5> ) . weight_func <EOL> verify_gauss_quad ( orth . l_roots , orth . eval_laguerre , weightf , <NUM_LIT:0.> , np . inf , <NUM_LIT:5> ) <EOL> verify_gauss_quad ( orth . l_roots , orth . eval_laguerre , weightf , <NUM_LIT:0.> , np . inf , <EOL> <NUM_LIT> , atol = <NUM_LIT> ) <EOL> verify_gauss_quad ( orth . l_roots , orth . eval_laguerre , weightf , <NUM_LIT:0.> , np . inf , <EOL> <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> x , w = orth . l_roots ( <NUM_LIT:5> , False ) <EOL> y , v , m = orth . l_roots ( <NUM_LIT:5> , True ) <EOL> assert_allclose ( x , y , <NUM_LIT> , <NUM_LIT> ) <EOL> assert_allclose ( w , v , <NUM_LIT> , <NUM_LIT> ) <EOL> muI , muI_err = integrate . quad ( weightf , <NUM_LIT:0> , np . inf ) <EOL> assert_allclose ( m , muI , rtol = muI_err ) <EOL> assert_raises ( ValueError , orth . l_roots , <NUM_LIT:0> ) <EOL> assert_raises ( ValueError , orth . l_roots , <NUM_LIT> ) <EOL> def test_la_roots ( ) : <EOL> rootf = lambda a : lambda n , mu : orth . la_roots ( n , a , mu ) <EOL> evalf = lambda a : lambda n , x : orth . eval_genlaguerre ( n , a , x ) <EOL> weightf = lambda a : lambda x : x ** a * np . exp ( - x ) <EOL> vgq = verify_gauss_quad <EOL> vgq ( rootf ( - <NUM_LIT:0.5> ) , evalf ( - <NUM_LIT:0.5> ) , weightf ( - <NUM_LIT:0.5> ) , <NUM_LIT:0.> , np . inf , <NUM_LIT:5> ) <EOL> vgq ( rootf ( - <NUM_LIT:0.5> ) , evalf ( - <NUM_LIT:0.5> ) , weightf ( - <NUM_LIT:0.5> ) , <NUM_LIT:0.> , np . inf , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rootf ( - <NUM_LIT:0.5> ) , evalf ( - <NUM_LIT:0.5> ) , weightf ( - <NUM_LIT:0.5> ) , <NUM_LIT:0.> , np . inf , <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> vgq ( rootf ( <NUM_LIT:0.1> ) , evalf ( <NUM_LIT:0.1> ) , weightf ( <NUM_LIT:0.1> ) , <NUM_LIT:0.> , np . inf , <NUM_LIT:5> ) <EOL> vgq ( rootf ( <NUM_LIT:0.1> ) , evalf ( <NUM_LIT:0.1> ) , weightf ( <NUM_LIT:0.1> ) , <NUM_LIT:0.> , np . inf , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rootf ( <NUM_LIT:0.1> ) , evalf ( <NUM_LIT:0.1> ) , weightf ( <NUM_LIT:0.1> ) , <NUM_LIT:0.> , np . inf , <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> vgq ( rootf ( <NUM_LIT:1> ) , evalf ( <NUM_LIT:1> ) , weightf ( <NUM_LIT:1> ) , <NUM_LIT:0.> , np . inf , <NUM_LIT:5> ) <EOL> vgq ( rootf ( <NUM_LIT:1> ) , evalf ( <NUM_LIT:1> ) , weightf ( <NUM_LIT:1> ) , <NUM_LIT:0.> , np . inf , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rootf ( <NUM_LIT:1> ) , evalf ( <NUM_LIT:1> ) , weightf ( <NUM_LIT:1> ) , <NUM_LIT:0.> , np . inf , <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> vgq ( rootf ( <NUM_LIT:10> ) , evalf ( <NUM_LIT:10> ) , weightf ( <NUM_LIT:10> ) , <NUM_LIT:0.> , np . inf , <NUM_LIT:5> ) <EOL> vgq ( rootf ( <NUM_LIT:10> ) , evalf ( <NUM_LIT:10> ) , weightf ( <NUM_LIT:10> ) , <NUM_LIT:0.> , np . inf , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rootf ( <NUM_LIT:10> ) , evalf ( <NUM_LIT:10> ) , weightf ( <NUM_LIT:10> ) , <NUM_LIT:0.> , np . inf , <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> vgq ( rootf ( <NUM_LIT:50> ) , evalf ( <NUM_LIT:50> ) , weightf ( <NUM_LIT:50> ) , <NUM_LIT:0.> , np . inf , <NUM_LIT:5> ) <EOL> vgq ( rootf ( <NUM_LIT:50> ) , evalf ( <NUM_LIT:50> ) , weightf ( <NUM_LIT:50> ) , <NUM_LIT:0.> , np . inf , <NUM_LIT> , atol = <NUM_LIT> ) <EOL> vgq ( rootf ( <NUM_LIT:50> ) , evalf ( <NUM_LIT:50> ) , weightf ( <NUM_LIT:50> ) , <NUM_LIT:0.> , np . inf , <NUM_LIT:100> , atol = <NUM_LIT> ) <EOL> x , w = orth . la_roots ( <NUM_LIT:5> , <NUM_LIT:2> , False ) <EOL> y , v , m = orth . la_roots ( <NUM_LIT:5> , <NUM_LIT:2> , True ) <EOL> assert_allclose ( x , y , <NUM_LIT> , <NUM_LIT> ) <EOL> assert_allclose ( w , v , <NUM_LIT> , <NUM_LIT> ) <EOL> muI , muI_err = integrate . quad ( weightf ( <NUM_LIT> ) , <NUM_LIT:0.> , np . inf ) <EOL> assert_allclose ( m , muI , rtol = muI_err ) <EOL> assert_raises ( ValueError , orth . la_roots , <NUM_LIT:0> , <NUM_LIT:2> ) <EOL> assert_raises ( ValueError , orth . la_roots , <NUM_LIT> , <NUM_LIT:2> ) <EOL> assert_raises ( ValueError , orth . la_roots , <NUM_LIT:3> , - <NUM_LIT> ) <EOL> if __name__ == "<STR_LIT:__main__>" : <EOL> run_module_suite ( ) </s>
