
    Kh*P              
          S r SSKJr  SSKrSSKJs  Jr  SSK	J
r
  SSKJrJrJrJr  S rS/rSS/r/ SQr/ S	Qr/ S
Qr/ SQr/ SQr/ SQr/ SQr/ SQr\\\\\\\\\\/
r " S S5      r " S S5      r " S S5      r " S S5      r " S S5      r  " S S5      r! " S S5      r" " S S5      r# " S  S!5      r$ " S" S#5      r% " S$ S%5      r& " S& S'5      r'g)(zTests for chebyshev module.

    )reduceN)polyval)assert_almost_equalassert_raisesassert_equalassert_c                 ,    [         R                  " U SS9$ )Ngư>)tol)chebchebtrimxs    W/var/www/html/env/lib/python3.13/site-packages/numpy/polynomial/tests/test_chebyshev.pytrimr      s    ==%%       )r      )r   r      )r   r   ir      )r      r   ir      )r   r      r   ir       )r   ir   8   r   ir   @   )	r   r   ir      r   i r      )
r   	   r   ir   i  r   ir      c                        \ rS rSrS rS rSrg)TestPrivate   c                 ,   [        S5       H  n[        R                  " S/S/U-  -   [        R                  5      n[        R                  " S/U-  S/-   S/U-  -   [        R                  5      n[        R
                  " U5      n[        XC5        M     g )Nr   r   r         ?)rangenparraydoubler   _cseries_to_zseriesr   selfiinptgtress        r   test__cseries_to_zseries$TestPrivate.test__cseries_to_zseries!   ss    qA((A3!Q;		2C((B46QC<2$q&0"))<C**3/C"	 r   c                 ,   [        S5       H  n[        R                  " S/U-  S/-   S/U-  -   [        R                  5      n[        R                  " S/S/U-  -   [        R                  5      n[        R
                  " U5      n[        XC5        M     g )Nr   r&   r   r   )r'   r(   r)   r*   r   _zseries_to_cseriesr   r,   s        r   test__zseries_to_cseries$TestPrivate.test__zseries_to_cseries(   ss    qA((B46QC<2$q&0"))<C((A3!Q;		2C**3/C"	 r    N)__name__
__module____qualname____firstlineno__r2   r6   __static_attributes__r8   r   r   r#   r#      s    ##r   r#   c                   ,    \ rS rSrS rS rS rS rSrg)TestConstants0   c                 <    [        [        R                  SS/5        g )Nr   r   )r   r   
chebdomainr-   s    r   test_chebdomainTestConstants.test_chebdomain2   s    T__r1g.r   c                 :    [        [        R                  S/5        g )Nr   )r   r   chebzerorC   s    r   test_chebzeroTestConstants.test_chebzero5   s    T]]QC(r   c                 :    [        [        R                  S/5        g Nr   )r   r   chebonerC   s    r   test_cheboneTestConstants.test_chebone8   s    T\\A3'r   c                 <    [        [        R                  SS/5        g )Nr   r   )r   r   chebxrC   s    r   
test_chebxTestConstants.test_chebx;   s    TZZ!Q(r   r8   N)	r9   r:   r;   r<   rD   rH   rM   rQ   r=   r8   r   r   r?   r?   0   s    /)()r   r?   c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
TestArithmetic?   c                 X   [        S5       H  n[        S5       H  nSU SU 3n[        R                  " [        X5      S-   5      nXA==   S-  ss'   XB==   S-  ss'   [        R
                  " S/U-  S/-   S/U-  S/-   5      n[        [        U5      [        U5      US9  M     M     g Nr   At i=, j=r   r   err_msg)r'   r(   zerosmaxr   chebaddr   r   r-   r.   jmsgr0   r1   s         r   test_chebaddTestArithmetic.test_chebaddA       qA1XaSQC(hhs1y1}-!!llA3q5A3;A<T#YS	3?  r   c                 X   [        S5       H  n[        S5       H  nSU SU 3n[        R                  " [        X5      S-   5      nXA==   S-  ss'   XB==   S-  ss'   [        R
                  " S/U-  S/-   S/U-  S/-   5      n[        [        U5      [        U5      US9  M     M     g rW   )r'   r(   r\   r]   r   chebsubr   r   r_   s         r   test_chebsubTestArithmetic.test_chebsubK   rd   r   c                 $   [        [        R                  " S/5      S/5        [        [        R                  " S/5      SS/5        [        SS5       H;  nS/U-  S/-   nS/US-
  -  / SQ-   n[        [        R                  " U5      U5        M=     g )Nr   r   r   )r&   r   r&   )r   r   chebmulxr'   )r-   r.   serr0   s       r   test_chebmulxTestArithmetic.test_chebmulxU   sz    T]]A3'!-T]]A3'!Q0q!A#a%1#+C#q1u++Cs+S1 r   c                 h   [        S5       H  n[        S5       H  nSU SU 3n[        R                  " X-   S-   5      nXAU-   ==   S-  ss'   U[        X-
  5      ==   S-  ss'   [        R
                  " S/U-  S/-   S/U-  S/-   5      n[        [        U5      [        U5      US9  M     M     g )Nr   rX   rY   r   r&   r   rZ   )r'   r(   r\   absr   chebmulr   r   r_   s         r   test_chebmulTestArithmetic.test_chebmul]   s    qA1XaSQC(hhquqy)E
b 
CJ2%llA3q5A3;A<T#YS	3?  r   c                 p   [        S5       H  n[        S5       H  nSU SU 3nS/U-  S/-   nS/U-  S/-   n[        R                  " XE5      n[        R                  " Xd5      u  px[        R                  " [        R                  " Xt5      U5      n	[        [        U	5      [        U5      US9  M     M     g )Nr   rX   rY   r   r   rZ   )r'   r   r^   chebdivrp   r   r   )
r-   r.   r`   ra   cicjr0   quoremr1   s
             r   test_chebdivTestArithmetic.test_chebdivg   s    qA1XaSQC(SUaS[SUaS[ll2*<<0ll4<<#8#>T#YS	3?  r   c           	      \   [        S5       H  n[        S5       H  nSU SU 3n[        R                  " US-   5      n[        [        R
                  U/U-  [        R                  " S/5      5      n[        R                  " XB5      n[        [        U5      [        U5      US9  M     M     g )Nr   rX   rY   r   rZ   )
r'   r(   aranger   r   rp   r)   chebpowr   r   )r-   r.   r`   ra   cr0   r1   s          r   test_chebpowTestArithmetic.test_chebpowr   s    qA1XaSQC(IIa!e$T\\A3q5"((A3-@ll1(T#YS	3?  r   r8   N)r9   r:   r;   r<   rb   rg   rl   rq   ry   r   r=   r8   r   r   rT   rT   ?   s%    @@2@	@@r   rT   c                      \ rS rSr\R
                  " / SQ5      r\R                  " S\\5      r\R                  " S\\\5      r	\R                  R                  S5      S-  S-
  r\" \/ SQ5      rS	 rS
 rS rS rS rSrg)TestEvaluation|   )g      @       @      ?i,j->ij
i,j,k->ijk   r   r   r   )      ?r   g      @c                    [        [        R                  " / S/5      R                  S5        [        R
                  " SS5      n[         Vs/ s H  n[        X5      PM     nn[        S5       H5  nSU 3nX4   n[        R                  " US/U-  S/-   5      n[        XvUS9  M7     [        S5       H  nS/U-  n[        R                  " U5      n[        [        R                  " US/5      R                  U5        [        [        R                  " USS/5      R                  U5        [        [        R                  " U/ S	Q5      R                  U5        M     g s  snf )
Nr   r   r   
   rX   rZ   r   r   )r   r   r   )r   r   chebvalsizer(   linspaceTlistr   r'   r   r\   shape)	r-   r   r~   yr.   ra   r0   r1   dimss	            r   test_chebvalTestEvaluation.test_chebval   s   T\\"qc*//3 KKA$)*EqWQ]E*rA!+C$C,,q1#a%1#+.C#6	  qA3q5DAa!-33T:a!Q066=a3994@  +s   Ec                    U R                   u  pnU R                  u  pEn[        [        [        R
                  XS S U R                  5        XE-  n[        R
                  " XU R                  5      n[        X5        [        R                  " S5      n	[        R
                  " XU R                  5      n[        UR                  S:H  5        g Nr   r   r   )r   r   r   
ValueErrorr   	chebval2dc2dr   r(   onesr   r   
r-   x1x2x3y1y2y3r0   r1   zs
             r   test_chebval2dTestEvaluation.test_chebval2d   s    VV
VV
 	j$.."!fdhhG ennRTXX.C% GGFOnnQ488,		V#$r   c           	         U R                   u  pnU R                  u  pEn[        [        [        R
                  XUS S U R                  5        XE-  U-  n[        R
                  " XX0R                  5      n[        X5        [        R                  " S5      n	[        R
                  " XXR                  5      n[        UR                  S:H  5        g r   )r   r   r   r   r   	chebval3dc3dr   r(   r   r   r   r   s
             r   test_chebval3dTestEvaluation.test_chebval3d   s    VV
VV
 	j$..""Ra&$((K eBhnnRR2C% GGFOnnQ1hh/		V#$r   c                 d   U R                   u  pnU R                  u  pEn[        R                  " SXE5      n[        R
                  " XU R                  5      n[        X5        [        R                  " S5      n	[        R
                  " XU R                  5      n[        UR                  S:H  5        g )Nr   r   )r   r   r   r   )r   r   r(   einsumr   
chebgrid2dr   r   r   r   r   r   s
             r   test_chebgrid2dTestEvaluation.test_chebgrid2d   s~    VV
VV
 ii	2*oobdhh/C% GGFOooaDHH-		X%&r   c                 f   U R                   u  pnU R                  u  pEn[        R                  " SXEU5      n[        R
                  " XX0R                  5      n[        X5        [        R                  " S5      n	[        R
                  " XXR                  5      n[        UR                  S:H  5        g )Nr   r   )r   r   r   r   r   r   )r   r   r(   r   r   
chebgrid3dr   r   r   r   r   r   s
             r   test_chebgrid3dTestEvaluation.test_chebgrid3d   s    VV
VV
 iibb1oobb((3C% GGFOooaAxx0		X%&r   r8   N)r9   r:   r;   r<   r(   r)   c1dr   r   r   randomr   r   r   r   r   r   r   r   r=   r8   r   r   r   r   |   s|    
((>
"C
))IsC
(C
))L#sC
0C 			 "Q&A< AA*%"%"''r   r   c                        \ rS rSrS rS rSrg)TestIntegral   c                 2
   [        [        [        R                  S/S5        [        [        [        R                  S/S5        [        [        [        R                  S/SSS/5        [        [        [        R                  S/S/S9  [        [        [        R                  S/S/S9  [        [        [        R                  S/SS9  [        SS	5       H4  nS/US-
  -  S/-   n[        R                  " S/XS
9n[        USS/5        M6     [        S	5       H  nUS-   nS/U-  S/-   nU/S/U-  -   SU-  /-   n[        R                  " U5      n[        R                  " USU/S
9n[        R                  " U5      n[        [        U5      [        U5      5        M     [        S	5       Ha  nUS-   nS/U-  S/-   n[        R                  " U5      n[        R                  " USU/SS9n[        [        R                  " SU5      U5        Mc     [        S	5       H  nUS-   nS/U-  S/-   nU/S/U-  -   SU-  /-   n[        R                  " U5      n[        R                  " USU/SS9n[        R                  " U5      n[        [        U5      [        U5      5        M     [        S	5       H~  n[        SS	5       Hk  n	S/U-  S/-   nUS S  n[        U	5       H  n[        R                  " USS9nM     [        R                  " XYS9n[        [        U5      [        U5      5        Mm     M     [        S	5       H  n[        SS	5       H  n	S/U-  S/-   nUS S  n[        U	5       H  n[        R                  " USU/S
9nM     [        R                  " XY[        [        U	5      5      S
9n[        [        U5      [        U5      5        M     M     [        S	5       H  n[        SS	5       H  n	S/U-  S/-   nUS S  n[        U	5       H  n[        R                  " USU/SS9nM     [        R                  " XY[        [        U	5      5      SS9n[        [        U5      [        U5      5        M     M     [        S	5       H  n[        SS	5       H  n	S/U-  S/-   nUS S  n[        U	5       H  n[        R                  " USU/SS9nM     [        R                  " XY[        [        U	5      5      SS9n[        [        U5      [        U5      5        M     M     g )Nr   r&   r   r   )lbnd)sclaxisr   r   )mk)r   r   r   )r   r   r   r   )r   	TypeErrorr   chebintr   r'   r   	poly2cheb	cheb2polyr   r   list)
r-   r.   r   r1   r   polr0   chebpolr   r`   s
             r   test_chebintTestIntegral.test_chebint   sS   isB7j$,,R8j$,,QA?j$,,1#>j$,,!=is< q!AQUqc!A,,sa-CaV,  qAa%C#a%1#+C#A+3'CnnS)Gll7aA37G..)CS	495  qAa%C#a%1#+CnnS)Gll7aA3R@GR 91=  qAa%C#a%1#+C#A+3'CnnS)Gll7aA3A>G..)CS	495  qA1a[c!eqck!fqA,,sa0C "ll3,#DItCy9 !  qA1a[c!eqck!fqA,,saA37C "ll3tE!H~>#DItCy9 !  qA1a[c!eqck!fqA,,saA3R@C "ll3tE!H~BG#DItCy9 !  qA1a[c!eqck!fqA,,saA3A>C "ll3tE!H~1E#DItCy9 ! r   c           
         [         R                  R                  S5      n[         R                  " UR                   Vs/ s H  n[        R
                  " U5      PM     sn5      R                  n[        R
                  " USS9n[        XC5        [         R                  " U Vs/ s H  n[        R
                  " U5      PM     sn5      n[        R
                  " USS9n[        XC5        [         R                  " U Vs/ s H  n[        R
                  " USS9PM     sn5      n[        R
                  " USSS9n[        XC5        g s  snf s  snf s  snf )Nr   r   r   r   r   r   )r   )r   r   )r(   r   vstackTr   r   r   r-   r   r~   r0   r1   s        r   test_chebint_axisTestIntegral.test_chebint_axis/  s    iiv&ii#%%8%Qa%89;;ll3Q'C%ii#6#Qa#67ll3Q'C%iis;s!a1-s;<ll3!!,C% 9 7 <s    E# E>Er8   N)r9   r:   r;   r<   r   r   r=   r8   r   r   r   r      s    Q:f&r   r   c                        \ rS rSrS rS rSrg)TestDerivativei@  c           
         [        [        [        R                  S/S5        [        [        [        R                  S/S5        [        S5       H@  nS/U-  S/-   n[        R                  " USS9n[        [        U5      [        U5      5        MB     [        S5       He  n[        SS5       HR  nS/U-  S/-   n[        R                  " [        R                  " X$S9US9n[        [        U5      [        U5      5        MT     Mg     [        S5       Hg  n[        SS5       HT  nS/U-  S/-   n[        R                  " [        R                  " X$SS9USS9n[        [        U5      [        U5      5        MV     Mi     g )	Nr   r&   r   r   r   r   r   )r   r   )
r   r   r   chebderr   r'   r   r   r   r   )r-   r.   r0   r1   r`   s        r   test_chebderTestDerivative.test_chebderB  s)   isB7j$,,R8 qA#a%1#+C,,sa(CcDI.  qA1a[c!eqckll4<<#9Q?#DItCy9 !  qA1a[c!eqckll4<<a#@A2N#DItCy9 ! r   c                    [         R                  R                  S5      n[         R                  " UR                   Vs/ s H  n[        R
                  " U5      PM     sn5      R                  n[        R
                  " USS9n[        XC5        [         R                  " U Vs/ s H  n[        R
                  " U5      PM     sn5      n[        R
                  " USS9n[        XC5        g s  snf s  snf )Nr   r   r   r   )r(   r   r   r   r   r   r   r   s        r   test_chebder_axis TestDerivative.test_chebder_axis[  s    iiv&ii#%%8%Qa%89;;ll3Q'C%ii#6#Qa#67ll3Q'C% 9 7s    C+# C0r8   N)r9   r:   r;   r<   r   r   r=   r8   r   r   r   r   @  s    :2
&r   r   c                   h    \ rS rSr\R
                  R                  S5      S-  S-
  rS rS rS r	Sr
g	)

TestVanderih  r   r   r   c                 .   [         R                  " S5      n[        R                  " US5      n[	        UR
                  S:H  5        [        S5       H2  nS/U-  S/-   n[        USU4   [        R                  " X5      5        M4     [         R                  " SS/SS/SS	//5      n[        R                  " US5      n[	        UR
                  S
:H  5        [        S5       H2  nS/U-  S/-   n[        USU4   [        R                  " X5      5        M4     g )Nr   r   r   r   r   .r   r      )r   r   r   )
r(   r|   r   
chebvanderr   r   r'   r   r   r)   )r-   r   vr.   coefs        r   test_chebvanderTestVander.test_chebvanderl  s    IIaLOOAq!6!"qA3q5A3;D#q&	4<<+@A 
 HHq!fq!fq!f-.OOAq!9$%qA3q5A3;D#q&	4<<+@A r   c                 ~   U R                   u  pn[        R                  R                  S5      n[        R                  " XSS/5      n[        R
                  " XU5      n[        R                  " XTR                  5      n[        Xv5        [        R                  " U/U/SS/5      n[        UR                  S:H  5        g )Nr   r   r   )r   r   r   )r   r(   r   r   chebvander2dr   dotflatr   r   r   r-   r   r   r   r~   vanr0   r1   s           r   test_chebvander2dTestVander.test_chebvander2d}  s    VV
IIV$A/nnRQ'ffS&&!C% rdQF3		Y&'r   c                    U R                   u  pn[        R                  R                  S5      n[        R                  " XU/ SQ5      n[        R
                  " XX45      n[        R                  " XTR                  5      n[        Xv5        [        R                  " U/U/U// SQ5      n[        UR                  S:H  5        g )N)r   r   r   )r   r   r   )r   r      )r   r(   r   r   chebvander3dr   r   r   r   r   r   r   s           r   test_chebvander3dTestVander.test_chebvander3d  s    VV
IIY'I6nnRR+ffS&&!C% rdRD)<		Z'(r   r8   N)r9   r:   r;   r<   r(   r   r   r   r   r   r=   r8   r   r   r   r   h  s0    
		 "Q&AB"()r   r   c                       \ rS rSrS rSrg)TestFittingi  c           	      :   S nS n[        [        [        R                  S/S/S5        [        [        [        R                  S//S/S5        [        [        [        R                  / S/S5        [        [        [        R                  S/S///S5        [        [        [        R                  SS/S/S5        [        [        [        R                  S/SS/S5        [        [        [        R                  S/S/SS//S9  [        [        [        R                  S/S/SSS/S9  [        [        [        R                  S/S/S/5        [        [        [        R                  S/S// SQ5        [        [        [        R                  S/S// 5        [
        R                  " SS5      nU" U5      n[        R                  " X4S	5      n[        [        U5      S
5        [        [        R                  " X55      U5        [        R                  " X4/ SQ5      n[        [        U5      S
5        [        [        R                  " X55      U5        [        R                  " X4S
5      n[        [        U5      S5        [        [        R                  " X65      U5        [        R                  " X4/ SQ5      n[        [        U5      S5        [        [        R                  " X65      U5        [        R                  " X4/ SQ5      n[        [        U5      S5        [        [        R                  " X65      U5        [        R                  " U[
        R                  " XD/5      R                  S	5      n[        U[
        R                  " XU/5      R                  5        [        R                  " U[
        R                  " XD/5      R                  / SQ5      n[        U[
        R                  " XU/5      R                  5        [
        R                  " U5      nUR                  5       n	SUSS S2'   SUSS S2'   [        R                  " X9S	US9n
[        X5        [        R                  " X9/ SQUS9n
[        X5        [        R                  " U[
        R                  " X/5      R                  S	US9n[        U[
        R                  " XU/5      R                  5        [        R                  " U[
        R                  " X/5      R                  / SQUS9n[        U[
        R                  " XU/5      R                  5        / SQn[        [        R                  " X3S5      SS/5        [        [        R                  " X3SS/5      SS/5        [
        R                  " SS5      nU" U5      n[        R                  " X4S
5      n[        [        R                  " X<5      U5        [        R                  " X4/ SQ5      n[        [        R                  " X=5      U5        [        X5        g )Nc                     X S-
  -  U S-
  -  $ Nr   r   r8   r   s    r   f#TestFitting.test_chebfit.<locals>.f  s    !e9a!e$$r   c                     U S-  U S-  -   S-   $ )Nr   r   r   r8   r   s    r   f2$TestFitting.test_chebfit.<locals>.f2  s    a4!Q$;?"r   r   r   r   r   )w)r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   y              ?r   y             )r   r   r   )r   r   r   chebfitr   r(   r   r   lenr   r   r)   r   
zeros_likecopy)r-   r   r   r   r   coef3coef4coef2dr   ywwcoef3wcoef2dcoef1coef2s                 r   test_chebfitTestFitting.test_chebfit  sG   	%	# 	j$,,aS"=iuqc1=irA3:isqcUGQ?i1vsA>isQFA>isQCseDisQCq!fEj$,,aS2%@j$,,aS*EisQC< KK1aDQ1%SZ#DLL2A6Q<0SZ#DLL2A6Q1%SZ#DLL2A6Q?3SZ#DLL2A6Q?3SZ#DLL2A6a1&!1!3!3Q7FBHHe^$<$>$>?a1&!1!3!3\BFBHHe^$<$>$>?MM!VVX!$Q$!$Q$aQ!,F*a\Q7F*,,q"((B8"4"6"6Q?GRXXun%=%?%?@,,q"((B8"4"6"6JGRXXun%=%?%?@ DLLq1Aq6:DLL1v6A?KKAqEQ1%DLL2A6Q9-DLL2A6E)r   r8   N)r9   r:   r;   r<   r  r=   r8   r   r   r   r     s    H*r   r   c                   ,    \ rS rSrS rS rS rS rSrg)TestInterpolatei  c                     XS-
  -  US-
  -  $ r   r8   )r-   r   s     r   r   TestInterpolate.f  s    E{a!e$$r   c                     [        [        [        R                  U R                  S5        [        [
        [        R                  U R                  S5        g )Nr   g      $@)r   r   r   chebinterpolater   r   rC   s    r   test_raisesTestInterpolate.test_raises  s2    j$"6"6Ci!5!5tvvsCr   c                     [        SS5       H>  n[        [        R                  " U R                  U5      R
                  US-   4:H  5        M@     g )Nr   r   )r'   r   r   r  r   r   )r-   degs     r   test_dimensionsTestInterpolate.test_dimensions  s<    A;CD((5;;azIJ r   c           	         S n[         R                  " SSS5      n[        SS5       HV  n[        SUS-   5       H@  n[        R                  " XU45      n[        [        R                  " X%5      U" X$5      SS9  MB     MX     g )Nc                 
    X-  $ )Nr8   )r   ps     r   powx0TestInterpolate.test_approximation.<locals>.powx  s	    4Kr   r   r   r   r      )decimal)r(   r   r'   r   r  r   r   )r-   r  r   r  r  r~   s         r   test_approximation"TestInterpolate.test_approximation  sm    	 KKAr"B<C1cAg&((QD9#DLL$6Q
BO '  r   r8   N)	r9   r:   r;   r<   r   r  r  r  r=   r8   r   r   r  r    s    %DK	Pr   r  c                   &    \ rS rSrS rS rS rSrg)TestCompanioni  c                     [        [        [        R                  / 5        [        [        [        R                  S/5        g rK   )r   r   r   chebcompanionrC   s    r   r  TestCompanion.test_raises   s(    j$"4"4b9j$"4"4qc:r   c                     [        SS5       H:  nS/U-  S/-   n[        [        R                  " U5      R                  X4:H  5        M<     g )Nr   r   r   )r'   r   r   r"  r   )r-   r.   r   s      r   r  TestCompanion.test_dimensions  sC    q!A3q5A3;DD&&t,22qf<= r   c                 R    [        [        R                  " SS/5      S   S:H  5        g )Nr   r   )r   r         )r   r   r"  rC   s    r   test_linear_rootTestCompanion.test_linear_root	  s#    ""Aq6*40C78r   r8   N)r9   r:   r;   r<   r  r  r(  r=   r8   r   r   r   r     s    ;>
9r   r   c                       \ rS rSrS rSrg)	TestGaussi  c                    [         R                  " S5      u  p[         R                  " US5      n[        R                  " UR
                  U-  U5      nS[        R                  " UR                  5       5      -  nUS S 2S 4   U-  U-  n[        U[        R                  " S5      5        [        R                  n[        UR                  5       U5        g )Nd   c   r   )r   	chebgaussr   r(   r   r   sqrtdiagonalr   eyepisum)r-   r   r   r   vvvdr0   s          r   test_100TestGauss.test_100  s    ~~c"
 OOAr"VVACC!GQrwwr{{}%%4[2"Bs, eeAEEGS)r   r8   N)r9   r:   r;   r<   r7  r=   r8   r   r   r+  r+    s    *r   r+  c                   J    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rSrg)TestMisci   c           	         [         R                  " / 5      n[        [        U5      S/5        [	        SS5       H  n[
        R                  " [
        R                  " [
        R                  * SSU-  S-   5      SS S2   5      nS/U-  S/-   n[         R                  " U5      SUS-
  -  -  n[        [        U5      [        U5      5        M     g )Nr   r   r   r   )	r   chebfromrootsr   r   r'   r(   cosr   r3  )r-   r1   r.   rootsr0   s        r   test_chebfromrootsTestMisc.test_chebfromroots"  s      $DIs+q!AFF2;;vq!A#':14a4@AE#a%1#+C$$U+A!H4CS	495	 r   c                 r   [        [        R                  " S/5      / 5        [        [        R                  " SS/5      S/5        [        SS5       Hc  n[        R
                  " SSU5      n[        R                  " [        R                  " U5      5      n[        [        U5      [        U5      5        Me     g )Nr   r   r'  r   r   )r   r   	chebrootsr'   r(   r   r<  r   )r-   r.   r0   r1   s       r   test_chebrootsTestMisc.test_chebroots+  s}    DNNA3/4DNNAq62SE:q!A++b!Q'C..!3!3C!89CS	495 r   c                    / SQn[        [        [        R                  US5        [	        [        R                  " U5      US S 5        [	        [        R                  " US5      US S 5        [	        [        R                  " US5      S/5        g )N)r   r   r   r   r   r   r   r   r   )r   r   r   r   r   )r-   r   s     r   test_chebtrimTestMisc.test_chebtrim3  sh     	j$--r: 	T]]4($s)4T]]4+T#2Y7T]]4+aS1r   c                 J    [        [        R                  " SS5      SS/5        g )Nr   r   )r   r   cheblinerC   s    r   test_cheblineTestMisc.test_chebline>  s    T]]1a(1a&1r   c                     [        S5       H2  n[        [        R                  " S/U-  S/-   5      [        U   5        M4     g Nr   r   r   )r'   r   r   r   r   r-   r.   s     r   test_cheb2polyTestMisc.test_cheb2polyA  s3    rAs1us{ ;U1XF r   c                     [        S5       H2  n[        [        R                  " [        U   5      S/U-  S/-   5        M4     g rM  )r'   r   r   r   r   rN  s     r   test_poly2chebTestMisc.test_poly2chebE  s3    rAuQx 81#a%1#+F r   c                     [         R                  " SSS5      SS nS[         R                  " SU-   5      [         R                  " SU-
  5      -  -  n[        R                  " U5      n[        X25        g )Nr   r      r   )r(   r   r0  r   
chebweightr   )r-   r   r0   r1   s       r   test_weightTestMisc.test_weightI  sX    KKAr"1R("''!a%.2771q5>12ooa C%r   c                    [        [        [        R                  S5        [        [        [        R                  S5        S/n[	        [        R                  " S5      U5        SS/n[	        [        R                  " S5      U5        / SQn[	        [        R                  " S5      U5        / S	Qn[	        [        R                  " S
5      U5        g )Nr   r   r   g;fg;f?r   )gLXzr   gLXz?r   )g( 1kgŜ}ؿgŜ}?g( 1k?r   )r   r   r   chebpts1r   r-   r0   s     r   test_chebpts1TestMisc.test_chebpts1O  s    j$--5j$--3 cDMM!,c2#%89DMM!,c2<DMM!,c2HDMM!,c2r   c                    [        [        [        R                  S5        [        [        [        R                  S5        SS/n[	        [        R                  " S5      U5        / SQn[	        [        R                  " S5      U5        / SQn[	        [        R                  " S5      U5        / S	Qn[	        [        R                  " S
5      U5        g )Nr   r   r   r   )r   r   r   r   )r   r'  r&   r   r   )g      gKfr   gKf?r   r   )r   r   r   chebpts2r   r[  s     r   test_chebpts2TestMisc.test_chebpts2^  s    j$--5j$--3 1gDMM!,c2DMM!,c2DMM!,c2=DMM!,c2r   r8   N)r9   r:   r;   r<   r?  rC  rF  rJ  rO  rR  rW  r\  r`  r=   r8   r   r   r:  r:     s1    66	22GG&33r   r:  )(__doc__	functoolsr   numpyr(   numpy.polynomial.chebyshev
polynomial	chebyshevr   numpy.polynomial.polynomialr   numpy.testingr   r   r   r   r   T0T1T2T3T4T5T6T7T8T9r   r#   r?   rT   r   r   r   r   r   r  r   r+  r:  r8   r   r   <module>rt     s     ) ) / 
& SV#)-	RRRRR0# #") ):@ :@z[' ['|c& c&L%& %&P-) -)`J* J*ZP P29 9* *&K3 K3r   