ó
¡¼™\c           @   sÞ   d  d l  m Z d  d l m Z m Z m Z m Z m Z m Z m	 Z	 m
 Z
 d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d S(   iÿÿÿÿ(   t   S(   t   gauss_legendret   gauss_laguerret   gauss_hermitet   gauss_gen_laguerret   gauss_chebyshev_tt   gauss_chebyshev_ut   gauss_jacobit   gauss_lobattoc          C   sì  t  d d ƒ \ }  } g  |  D] } t | ƒ ^ q d g k sC t ‚ g  | D] } t | ƒ ^ qJ d g k sq t ‚ t  d d ƒ \ }  } g  |  D] } t | ƒ ^ q d d g k s· t ‚ g  | D] } t | ƒ ^ q¾ d d g k sè t ‚ t  d	 d ƒ \ }  } g  |  D] } t | ƒ ^ qd
 d d g k s1t ‚ g  | D] } t | ƒ ^ q8d d d g k set ‚ t  d d ƒ \ }  } g  |  D] } t | ƒ ^ qd d d d g k s±t ‚ g  | D] } t | ƒ ^ q¸d d d d g k sèt ‚ d  S(   Ni   i   t   0s   2.0000000000000000i   s   -0.57735026918962576s   0.57735026918962576s   1.0000000000000000i   s   -0.77459666924148338s   0.77459666924148338s   0.55555555555555556s   0.88888888888888889i   s   -0.86113631159405258s   -0.33998104358485626s   0.33998104358485626s   0.86113631159405258s   0.34785484513745386s   0.65214515486254614(   R   t   strt   AssertionError(   t   xt   wt   r(    (    sD   lib/python2.7/site-packages/sympy/integrals/tests/test_quadrature.pyt   test_legendre   s<    ..c          C   s   t  d d ƒ \ }  } g  |  D] } t | ƒ ^ q d d d g k sI t ‚ g  | D] } t | ƒ ^ qP d d d g k s} t ‚ d  S(   Ni   i(   s+   -0.7745966692414833770358530799564799221666R	   s*   0.7745966692414833770358530799564799221666s*   0.5555555555555555555555555555555555555556s*   0.8888888888888888888888888888888888888889(   R   R
   R   (   R   R   R   (    (    sD   lib/python2.7/site-packages/sympy/integrals/tests/test_quadrature.pyt   test_legendre_precise,   s    c          C   su  t  d d ƒ \ }  } g  |  D] } t | ƒ ^ q d g k sC t ‚ g  | D] } t | ƒ ^ qJ d g k sq t ‚ t  d d ƒ \ }  } g  |  D] } t | ƒ ^ q d d g k s· t ‚ g  | D] } t | ƒ ^ q¾ d d g k sè t ‚ t  d	 d ƒ \ }  } g  |  D] } t | ƒ ^ qd
 d d g k s1t ‚ g  | D] } t | ƒ ^ q8d d d g k set ‚ t  d d ƒ \ }  } g  |  D] } t | ƒ ^ qd d d d g k s±t ‚ g  | D] } t | ƒ ^ q¸d d d d g k sèt ‚ t  d d ƒ \ }  } g  |  D] } t | ƒ ^ qd d d d d g k s7t ‚ g  | D] } t | ƒ ^ q>d d  d! d" d# g k sqt ‚ d  S($   Ni   i   s   1.0000000000000000i   s   0.58578643762690495s   3.4142135623730950s   0.85355339059327376s   0.14644660940672624i   s   0.41577455678347908s   2.2942803602790417s   6.2899450829374792s   0.71109300992917302s   0.27851773356924085s   0.010389256501586136i   s   0.32254768961939231s   1.7457611011583466s   4.5366202969211280s   9.3950709123011331s   0.60315410434163360s   0.35741869243779969s   0.038887908515005384s   0.00053929470556132745i   s   0.26356031971814091s   1.4134030591065168s   3.5964257710407221s   7.0858100058588376s   12.640800844275783s   0.52175561058280865s   0.39866681108317593s   0.075942449681707595s   0.0036117586799220485s   2.3369972385776228e-5(   R   R
   R   (   R   R   R   (    (    sD   lib/python2.7/site-packages/sympy/integrals/tests/test_quadrature.pyt   test_laguerre8   sV    ..c          C   s   t  d d ƒ \ }  } g  |  D] } t | ƒ ^ q d d d g k sI t ‚ g  | D] } t | ƒ ^ qP d d d g k s} t ‚ d  S(	   Ni   i(   s*   0.4157745567834790833115338731282744735466s)   2.294280360279041719822050361359593868960s)   6.289945082937479196866415765512131657493s*   0.7110930099291730154495901911425944313094s*   0.2785177335692408488014448884567264810349s+   0.01038925650158613574896492040067908765572(   R   R
   R   (   R   R   R   (    (    sD   lib/python2.7/site-packages/sympy/integrals/tests/test_quadrature.pyt   test_laguerre_precisel   s    c          C   su  t  d d ƒ \ }  } g  |  D] } t | ƒ ^ q d g k sC t ‚ g  | D] } t | ƒ ^ qJ d g k sq t ‚ t  d d ƒ \ }  } g  |  D] } t | ƒ ^ q d d g k s· t ‚ g  | D] } t | ƒ ^ q¾ d d g k sè t ‚ t  d	 d ƒ \ }  } g  |  D] } t | ƒ ^ qd
 d d g k s1t ‚ g  | D] } t | ƒ ^ q8d d d g k set ‚ t  d d ƒ \ }  } g  |  D] } t | ƒ ^ qd d d d g k s±t ‚ g  | D] } t | ƒ ^ q¸d d d d g k sèt ‚ t  d d ƒ \ }  } g  |  D] } t | ƒ ^ qd d d d d g k s7t ‚ g  | D] } t | ƒ ^ q>d d d d d g k sqt ‚ d  S(   Ni   i   R	   s   1.7724538509055160i   s   -0.70710678118654752s   0.70710678118654752s   0.88622692545275801i   s   -1.2247448713915890s   1.2247448713915890s   0.29540897515091934s   1.1816359006036774i   s   -1.6506801238857846s   -0.52464762327529032s   0.52464762327529032s   1.6506801238857846s   0.081312835447245177s   0.80491409000551284i   s   -2.0201828704560856s   -0.95857246461381851s   0.95857246461381851s   2.0201828704560856s   0.019953242059045913s   0.39361932315224116s   0.94530872048294188(   R   R
   R   (   R   R   R   (    (    sD   lib/python2.7/site-packages/sympy/integrals/tests/test_quadrature.pyt   test_hermitex   sV    ..c          C   s   t  d d ƒ \ }  } g  |  D] } t | ƒ ^ q d d d g k sI t ‚ g  | D] } t | ƒ ^ qP d d d g k s} t ‚ d  S(   Ni   i(   s*   -1.224744871391589049098642037352945695983R	   s)   1.224744871391589049098642037352945695983s*   0.2954089751509193378830279138901908637996s)   1.181635900603677351532111655560763455198(   R   R
   R   (   R   R   R   (    (    sD   lib/python2.7/site-packages/sympy/integrals/tests/test_quadrature.pyt   test_hermite_preciseª   s    c          C   s  t  d t j d ƒ \ }  } g  |  D] } t | ƒ ^ q# d g k sJ t ‚ g  | D] } t | ƒ ^ qQ d g k sx t ‚ t  d t j d ƒ \ }  } g  |  D] } t | ƒ ^ q› d d g k sÅ t ‚ g  | D] } t | ƒ ^ qÌ d d	 g k sö t ‚ t  d
 t j d ƒ \ }  } g  |  D] } t | ƒ ^ qd d d g k sFt ‚ g  | D] } t | ƒ ^ qMd d d g k szt ‚ t  d t j d ƒ \ }  } g  |  D] } t | ƒ ^ qd d d d g k sÍt ‚ g  | D] } t | ƒ ^ qÔd d d d g k st ‚ t  d t j d ƒ \ }  } g  |  D] } t | ƒ ^ q'd d d d d g k sZt ‚ g  | D] } t | ƒ ^ qad  d! d" d# d$ g k s”t ‚ t  d d d ƒ \ }  } g  |  D] } t | ƒ ^ q³d% g k sÚt ‚ g  | D] } t | ƒ ^ qád& g k st ‚ t  d d d ƒ \ }  } g  |  D] } t | ƒ ^ q'd& d' g k sQt ‚ g  | D] } t | ƒ ^ qXd( d g k s‚t ‚ t  d
 d d ƒ \ }  } g  |  D] } t | ƒ ^ q¡d) d* d+ g k sÎt ‚ g  | D] } t | ƒ ^ qÕd, d- d. g k st ‚ t  d d d ƒ \ }  } g  |  D] } t | ƒ ^ q!d/ d0 d1 d2 g k sQt ‚ g  | D] } t | ƒ ^ qXd3 d4 d5 d6 g k sˆt ‚ t  d d d ƒ \ }  } g  |  D] } t | ƒ ^ q§d7 d8 d9 d: d; g k sÚt ‚ g  | D] } t | ƒ ^ qád< d= d> d? d@ g k st ‚ d  S(A   Ni   i   s   0.50000000000000000s   1.7724538509055160i   s   0.27525512860841095s   2.7247448713915890s   1.6098281800110257s   0.16262567089449035i   s   0.19016350919348813s   1.7844927485432516s   5.5253437422632603s   1.4492591904487850s   0.31413464064571329s   0.0090600198110176913i   s   0.14530352150331709s   1.3390972881263614s   3.9269635013582872s   8.5886356890120343s   1.3222940251164826s   0.41560465162978376s   0.034155966014826951s   0.00039920814442273524i   s   0.11758132021177814s   1.0745620124369040s   3.0859374437175500s   6.4147297336620305s   11.807189489971737s   1.2217252674706516s   0.48027722216462937s   0.067748788910962126s   0.0026872914935624654s   1.5280865710465241e-5s   3.0000000000000000s   2.0000000000000000s   6.0000000000000000s   1.5000000000000000s   1.5173870806774125s   4.3115831337195203s   9.1710297856030672s   1.0374949614904253s   0.90575000470306537s   0.056755033806509347s   1.2267632635003021s   3.4125073586969460s   6.9026926058516134s   12.458036771951139s   0.72552499769865438s   1.0634242919791946s   0.20669613102835355s   0.0043545792937974889s   1.0311091440933816s   2.8372128239538217s   5.6202942725987079s   9.6829098376640271s   15.828473921690062s   0.52091739683509184s   1.0667059331592211s   0.38354972366693113s   0.028564233532974658s   0.00026271280578124935(   R   R    t   HalfR
   R   (   R   R   R   (    (    sD   lib/python2.7/site-packages/sympy/integrals/tests/test_quadrature.pyt   test_gen_laguerre¶   s¬    ....c          C   s  t  d t j d ƒ \ }  } g  |  D] } t | ƒ ^ q# d d d g k sP t ‚ g  | D] } t | ƒ ^ qW d d d g k s„ t ‚ t  d d	 d ƒ \ }  } g  |  D] } t | ƒ ^ q£ d
 d d g k sÐ t ‚ g  | D] } t | ƒ ^ q× d d d g k st ‚ d  S(   Ni   i(   s*   0.1901635091934881328718554276203028970878s)   1.784492748543251591186722461957367638500s)   5.525343742263260275941422110422329464413s)   1.449259190448785048183829411195134343108s*   0.3141346406457132878326231270167565378246s,   0.009060019811017691281714945129254301865020i   s)   1.517387080677412495020323111016672547482s)   4.311583133719520302881184669723530562299s)   9.171029785603067202098492219259796890218s)   1.037494961490425285817554606541269153041s*   0.9057500047030653669269785048806009945254s+   0.05675503380650934725546688857812985243312(   R   R    R   R
   R   (   R   R   R   (    (    sD   lib/python2.7/site-packages/sympy/integrals/tests/test_quadrature.pyt   test_gen_laguerre_precise  s$    c          C   su  t  d d ƒ \ }  } g  |  D] } t | ƒ ^ q d g k sC t ‚ g  | D] } t | ƒ ^ qJ d g k sq t ‚ t  d d ƒ \ }  } g  |  D] } t | ƒ ^ q d d g k s· t ‚ g  | D] } t | ƒ ^ q¾ d d g k sè t ‚ t  d	 d ƒ \ }  } g  |  D] } t | ƒ ^ qd
 d d g k s1t ‚ g  | D] } t | ƒ ^ q8d d d g k set ‚ t  d d ƒ \ }  } g  |  D] } t | ƒ ^ qd d d d g k s±t ‚ g  | D] } t | ƒ ^ q¸d d d d g k sèt ‚ t  d d ƒ \ }  } g  |  D] } t | ƒ ^ qd d d d d g k s7t ‚ g  | D] } t | ƒ ^ q>d d d d d g k sqt ‚ d  S(   Ni   i   R	   s   3.1415926535897932i   s   0.70710678118654752s   -0.70710678118654752s   1.5707963267948966i   s   0.86602540378443865s   -0.86602540378443865s   1.0471975511965977i   s   0.92387953251128676s   0.38268343236508977s   -0.38268343236508977s   -0.92387953251128676s   0.78539816339744831i   s   0.95105651629515357s   0.58778525229247313s   -0.58778525229247313s   -0.95105651629515357s   0.62831853071795865(   R   R
   R   (   R   R   R   (    (    sD   lib/python2.7/site-packages/sympy/integrals/tests/test_quadrature.pyt   test_chebyshev_t.  sV    ..c          C   s   t  d d ƒ \ }  } g  |  D] } t | ƒ ^ q d d d g k sI t ‚ g  | D] } t | ƒ ^ qP d d d g k s} t ‚ d  S(   Ni   i(   s*   0.8660254037844386467637231707529361834714R	   s+   -0.8660254037844386467637231707529361834714s)   1.047197551196597746154214461093167628066(   R   R
   R   (   R   R   R   (    (    sD   lib/python2.7/site-packages/sympy/integrals/tests/test_quadrature.pyt   test_chebyshev_t_precise`  s    c          C   su  t  d d ƒ \ }  } g  |  D] } t | ƒ ^ q d g k sC t ‚ g  | D] } t | ƒ ^ qJ d g k sq t ‚ t  d d ƒ \ }  } g  |  D] } t | ƒ ^ q d d g k s· t ‚ g  | D] } t | ƒ ^ q¾ d d g k sè t ‚ t  d	 d ƒ \ }  } g  |  D] } t | ƒ ^ qd
 d d g k s1t ‚ g  | D] } t | ƒ ^ q8d d d g k set ‚ t  d d ƒ \ }  } g  |  D] } t | ƒ ^ qd d d d g k s±t ‚ g  | D] } t | ƒ ^ q¸d d d d g k sèt ‚ t  d d ƒ \ }  } g  |  D] } t | ƒ ^ qd d d d d g k s7t ‚ g  | D] } t | ƒ ^ q>d d d d d g k sqt ‚ d  S(   Ni   i   R	   s   1.5707963267948966i   s   0.50000000000000000s   -0.50000000000000000s   0.78539816339744831i   s   0.70710678118654752s   -0.70710678118654752s   0.39269908169872415i   s   0.80901699437494742s   0.30901699437494742s   -0.30901699437494742s   -0.80901699437494742s   0.21707871342270599s   0.56831944997474231i   s   0.86602540378443865s   -0.86602540378443865s   0.13089969389957472s   0.52359877559829887(   R   R
   R   (   R   R   R   (    (    sD   lib/python2.7/site-packages/sympy/integrals/tests/test_quadrature.pyt   test_chebyshev_ul  sV    ..c          C   s   t  d d ƒ \ }  } g  |  D] } t | ƒ ^ q d d d g k sI t ‚ g  | D] } t | ƒ ^ qP d d d g k s} t ‚ d  S(   Ni   i(   s*   0.7071067811865475244008443621048490392848R	   s+   -0.7071067811865475244008443621048490392848s*   0.3926990816987241548078304229099378605246s*   0.7853981633974483096156608458198757210493(   R   R
   R   (   R   R   R   (    (    sD   lib/python2.7/site-packages/sympy/integrals/tests/test_quadrature.pyt   test_chebyshev_u_precisež  s    c          C   sE  t  d t j t j d ƒ \ }  } g  |  D] } t | ƒ ^ q) d g k sP t ‚ g  | D] } t | ƒ ^ qW d g k s~ t ‚ t  d t j t j d ƒ \ }  } g  |  D] } t | ƒ ^ q§ d d g k sÑ t ‚ g  | D] } t | ƒ ^ qØ d d	 g k st ‚ t  d
 t j t j d ƒ \ }  } g  |  D] } t | ƒ ^ q+d d d g k sXt ‚ g  | D] } t | ƒ ^ q_d d d g k sŒt ‚ t  d t j t j d ƒ \ }  } g  |  D] } t | ƒ ^ qµd d d d g k såt ‚ g  | D] } t | ƒ ^ qìd d d d g k st ‚ t  d t j t j d ƒ \ }  } g  |  D] } t | ƒ ^ qEd d d d d g k sxt ‚ g  | D] } t | ƒ ^ qd d  d! d" d# g k s²t ‚ t  d d d
 d ƒ \ }  } g  |  D] } t | ƒ ^ qÔd$ g k sût ‚ g  | D] } t | ƒ ^ qd% g k s)t ‚ t  d d d
 d ƒ \ }  } g  |  D] } t | ƒ ^ qKd& d' g k sut ‚ g  | D] } t | ƒ ^ q|d( d) g k s¦t ‚ t  d
 d d
 d ƒ \ }  } g  |  D] } t | ƒ ^ qÈd* d+ d, g k sõt ‚ g  | D] } t | ƒ ^ qüd- d. d/ g k s)t ‚ t  d d d
 d ƒ \ }  } g  |  D] } t | ƒ ^ qKd0 d1 d2 d3 g k s{t ‚ g  | D] } t | ƒ ^ q‚d4 d5 d6 d7 g k s²t ‚ t  d d d
 d ƒ \ }  } g  |  D] } t | ƒ ^ qÔd8 d9 d: d; d< g k st ‚ g  | D] } t | ƒ ^ qd= d> d? d@ dA g k sAt ‚ d  S(B   Ni   i   s   0.50000000000000000s   3.1415926535897932i   s   -0.30901699437494742s   0.80901699437494742s   0.86831485369082398s   2.2732777998989693i   s   -0.62348980185873353s   0.22252093395631440s   0.90096886790241913s   0.33795476356635433s   1.0973322242791115s   1.7063056657443274i   s   -0.76604444311897804s   -0.17364817766693035s   0.93969262078590838s   0.16333179083642836s   0.57690240318269103s   1.0471975511965977s   1.3541609083740761i   s   -0.84125353283118117s   -0.41541501300188643s   0.14231483827328514s   0.65486073394528506s   0.95949297361449739s   0.090675770007435372s   0.33391416373675607s   0.65248870981926643s   0.94525424081394926s   1.1192597692123861s   0.14285714285714286s   1.0666666666666667s   -0.24025307335204215s   0.46247529557426437s   0.48514624517838660s   0.58152042148828007s   -0.46115870378089762s   0.10438533038323902s   0.62950064612493132s   0.17937613502213266s   0.61595640991147154s   0.27133412173306246s   -0.59903470850824782s   -0.14761105199952565s   0.32554377081188859s   0.72879429738819258s   0.067809641836772187s   0.38956404952032481s   0.47995970868024150s   0.12933326662932816s   -0.69045775012676106s   -0.32651993134900065s   0.082337849552034905s   0.47517887061283164s   0.79279429464422850s   0.027410178066337099s   0.21291786060364828s   0.43908437944395081s   0.32220656547221822s   0.065047683080512268(   R   R    R   R
   R   (   R   R   R   (    (    sD   lib/python2.7/site-packages/sympy/integrals/tests/test_quadrature.pyt   test_jacobiª  s¬    "..""""..c          C   s  t  d t j t j d ƒ \ }  } g  |  D] } t | ƒ ^ q) d d d g k sV t ‚ g  | D] } t | ƒ ^ q] d d d g k sŠ t ‚ t  d d	 d d ƒ \ }  } g  |  D] } t | ƒ ^ q¬ d
 d d g k sÙ t ‚ g  | D] } t | ƒ ^ qà d d d g k st ‚ d  S(   Ni   i(   s+   -0.6234898018587335305250048840042398106323s*   0.2225209339563144042889025644967947594664s*   0.9009688679024191262361023195074450511659s*   0.3379547635663543330553835737094171534907s)   1.097332224279111467485302294320899710461s)   1.706305665744327437921957515249186020246i   s+   -0.4611587037808976179121958105554375981274s*   0.1043853303832390210914918407615869143233s*   0.6295006461249313240934312425211234110769s*   0.1793761350221326596137764371503859752628s*   0.6159564099114715430909548532229749439714s*   0.2713341217330624639619353762933057474325(   R   R    R   R
   R   (   R   R   R   (    (    sD   lib/python2.7/site-packages/sympy/integrals/tests/test_quadrature.pyt   test_jacobi_precise  s$    "c          C   s  t  d d ƒ \ }  } g  |  D] } t | ƒ ^ q d d g k sF t ‚ g  | D] } t | ƒ ^ qM d d g k sw t ‚ t  d d ƒ \ }  } g  |  D] } t | ƒ ^ q“ d d d g k sÀ t ‚ g  | D] } t | ƒ ^ qÇ d d	 d g k sô t ‚ t  d
 d ƒ \ }  } g  |  D] } t | ƒ ^ qd d d d g k s@t ‚ g  | D] } t | ƒ ^ qGd d d d g k swt ‚ t  d d ƒ \ }  } g  |  D] } t | ƒ ^ q“d d d d d g k sÆt ‚ g  | D] } t | ƒ ^ qÍd d d d d g k s t ‚ d  S(   Ni   i   s   -1t   1s   1.0000000000000000i   R	   s   0.33333333333333333s   1.3333333333333333i   s   -0.44721359549995794s   0.44721359549995794s   0.16666666666666667s   0.83333333333333333i   s   -0.65465367070797714s   0.65465367070797714s   0.10000000000000000s   0.54444444444444444s   0.71111111111111111(   R   R
   R   (   R   R   R   (    (    sD   lib/python2.7/site-packages/sympy/integrals/tests/test_quadrature.pyt   test_lobatto"  sP    c          C   s   t  d d ƒ \ }  } g  |  D] } t | ƒ ^ q d d d g k sI t ‚ g  | D] } t | ƒ ^ qP d d d g k s} t ‚ d  S(   Ni   i(   s   -1R	   R   s*   0.3333333333333333333333333333333333333333s)   1.333333333333333333333333333333333333333(   R   R
   R   (   R   R   R   (    (    sD   lib/python2.7/site-packages/sympy/integrals/tests/test_quadrature.pyt   test_lobatto_preciseP  s    N(   t
   sympy.coreR    t   sympy.integrals.quadratureR   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R    (    (    (    sD   lib/python2.7/site-packages/sympy/integrals/tests/test_quadrature.pyt   <module>   s"   :	$		4		2		b		2		2		b		.