
    Cwg*P              
          d Z ddlmZ ddlZddlmc mZ ddl	m
Z
 ddlmZmZmZmZ d ZdgZddgZg dZg d	Zg d
Zg dZg dZg dZg dZg dZeeeeeeeeeeg
Z G d d      Z G d d      Z G d d      Z G d d      Z G d d      Z  G d d      Z! G d d      Z" G d d      Z# G d  d!      Z$ G d" d#      Z% G d$ d%      Z& G d& d'      Z'y)(zTests for chebyshev module.

    )reduceN)polyval)assert_almost_equalassert_raisesassert_equalassert_c                 0    t        j                  | d      S )Ngư>)tol)chebchebtrimxs    \/var/www/horilla/myenv/lib/python3.12/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                       e Zd Zd Zd Zy)TestPrivatec                 $   t        d      D ]  }t        j                  dgdg|z  z   t        j                        }t        j                  dg|z  dgz   dg|z  z   t        j                        }t	        j
                  |      }t        ||        y )Nr   r   r         ?)rangenparraydoubler   _cseries_to_zseriesr   selfiinptgtress        r   test__cseries_to_zseriesz$TestPrivate.test__cseries_to_zseries!   sz    q 	#A((A3!Q;		2C((B46QC<2$q&0"))<C**3/Cc"		#r   c                 $   t        d      D ]  }t        j                  dg|z  dgz   dg|z  z   t        j                        }t        j                  dgdg|z  z   t        j                        }t	        j
                  |      }t        ||        y )Nr   r%   r   r   )r&   r'   r(   r)   r   _zseries_to_cseriesr   r+   s        r   test__zseries_to_cseriesz$TestPrivate.test__zseries_to_cseries(   sz    q 	#A((B46QC<2$q&0"))<C((A3!Q;		2C**3/Cc"		#r   N)__name__
__module____qualname__r1   r4    r   r   r#   r#      s    ##r   r#   c                   $    e Zd Zd Zd Zd Zd Zy)TestConstantsc                 <    t        t        j                  ddg       y )Nr   r   )r   r   
chebdomainr,   s    r   test_chebdomainzTestConstants.test_chebdomain2   s    T__r1g.r   c                 :    t        t        j                  dg       y )Nr   )r   r   chebzeror=   s    r   test_chebzerozTestConstants.test_chebzero5   s    T]]QC(r   c                 :    t        t        j                  dg       y Nr   )r   r   cheboner=   s    r   test_chebonezTestConstants.test_chebone8   s    T\\A3'r   c                 <    t        t        j                  ddg       y )Nr   r   )r   r   chebxr=   s    r   
test_chebxzTestConstants.test_chebx;   s    TZZ!Q(r   N)r5   r6   r7   r>   rA   rE   rH   r8   r   r   r:   r:   0   s    /)()r   r:   c                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)TestArithmeticc                 X   t        d      D ]  }t        d      D ]  }d| d| }t        j                  t        ||      dz         }||xx   dz  cc<   ||xx   dz  cc<   t	        j
                  dg|z  dgz   dg|z  dgz         }t        t        |      t        |      |         y Nr   At i=, j=r   r   err_msg)r&   r'   zerosmaxr   chebaddr   r   r,   r-   jmsgr/   r0   s         r   test_chebaddzTestArithmetic.test_chebaddA       q 	@A1X @aSQC(hhs1ay1}-A!A!llA3q5A3;A<T#YS	3?@	@r   c                 X   t        d      D ]  }t        d      D ]  }d| d| }t        j                  t        ||      dz         }||xx   dz  cc<   ||xx   dz  cc<   t	        j
                  dg|z  dgz   dg|z  dgz         }t        t        |      t        |      |         y rL   )r&   r'   rQ   rR   r   chebsubr   r   rT   s         r   test_chebsubzTestArithmetic.test_chebsubK   rX   r   c                    t        t        j                  dg      dg       t        t        j                  dg      ddg       t        dd      D ]9  }dg|z  dgz   }dg|dz
  z  g dz   }t        t        j                  |      |       ; y )Nr   r   r   )r%   r   r%   )r   r   chebmulxr&   )r,   r-   serr/   s       r   test_chebmulxzTestArithmetic.test_chebmulxU   s    T]]A3'!-T]]A3'!Q0q! 	2A#a%1#+C#q1u++Cs+S1	2r   c                 h   t        d      D ]  }t        d      D ]  }d| d| }t        j                  ||z   dz         }|||z   xx   dz  cc<   |t        ||z
        xx   dz  cc<   t	        j
                  dg|z  dgz   dg|z  dgz         }t        t        |      t        |      |         y )Nr   rM   rN   r   r%   r   rO   )r&   r'   rQ   absr   chebmulr   r   rT   s         r   test_chebmulzTestArithmetic.test_chebmul]   s    q 	@A1X @aSQC(hhq1uqy)AE
b 
CAJ2%llA3q5A3;A<T#YS	3?@	@r   c                 n   t        d      D ]  }t        d      D ]  }d| d| }dg|z  dgz   }dg|z  dgz   }t        j                  ||      }t        j                  ||      \  }}t        j                  t        j                  ||      |      }	t        t        |	      t        |      |         y )Nr   rM   rN   r   r   rO   )r&   r   rS   chebdivrb   r   r   )
r,   r-   rU   rV   cicjr/   quoremr0   s
             r   test_chebdivzTestArithmetic.test_chebdivg   s    q 	@A1X @aSQC(SUaS[SUaS[ll2r*<<R0Sll4<<R#8#>T#YS	3?@	@r   c           	      V   t        d      D ]  }t        d      D ]  }d| d| }t        j                  |dz         }t        t        j
                  |g|z  t        j                  dg            }t	        j                  ||      }t        t        |      t        |      |         y )Nr   rM   rN   r   rO   )
r&   r'   aranger   r   rb   r(   chebpowr   r   )r,   r-   rU   rV   cr/   r0   s          r   test_chebpowzTestArithmetic.test_chebpowr   s    q 	@A1X @aSQC(IIa!e$T\\A3q5"((A3-@ll1a(T#YS	3?@	@r   N)	r5   r6   r7   rW   r[   r_   rc   rj   ro   r8   r   r   rJ   rJ   ?   s%    @@2@	@@r   rJ   c                       e Zd Z ej                  g d      Z ej                  dee      Z ej                  deee      Zej                  j                  d      dz  dz
  Z
 ee
g d      Zd Zd	 Zd
 Zd Zd Zy)TestEvaluation)g      @       @      ?i,j->ij
i,j,k->ijk   r   r   r   )      ?rr   g      @c                    t        t        j                  g dg      j                  d       t	        j
                  dd      }t        D cg c]  }t        ||       }}t        d      D ]8  }d| }||   }t        j                  |dg|z  dgz         }t        |||       : t        d      D ]  }dg|z  }t	        j                  |      }t        t        j                  |dg      j                  |       t        t        j                  |ddg      j                  |       t        t        j                  |g d	      j                  |        y c c}w )
Nr   r   r   
   rM   rO   rw   r   )r   r   r   )r   r   chebvalsizer'   linspaceTlistr   r&   r   rQ   shape)	r,   r   rn   yr-   rV   r/   r0   dimss	            r   test_chebvalzTestEvaluation.test_chebval   s$   T\\"qc*//3 KKA$)*qWQ]**r 	7A!+CA$C,,q1#a%1#+.CS#6		7 q 	AA3q5DAa!-33T:a!Q066=a3994@	A +s   
Ec                    | j                   \  }}}| j                  \  }}}t        t        t        j
                  ||d d | j                         ||z  }t	        j
                  ||| j                        }t        ||       t        j                  d      }	t	        j
                  |	|	| j                        }t        |j                  dk(         y Nr   r   rw   )r   r   r   
ValueErrorr   	chebval2dc2dr   r'   onesr   r   
r,   x1x2x3y1y2y3r/   r0   zs
             r   test_chebval2dzTestEvaluation.test_chebval2d   s    VV
BVV
B 	j$.."b!fdhhG ennRTXX.C% GGFOnnQ488,		V#$r   c           	         | j                   \  }}}| j                  \  }}}t        t        t        j
                  |||d d | j                         ||z  |z  }t	        j
                  |||| j                        }t        ||       t        j                  d      }	t	        j
                  |	|	|	| j                        }t        |j                  dk(         y r   )r   r   r   r   r   	chebval3dc3dr   r'   r   r   r   r   s
             r   test_chebval3dzTestEvaluation.test_chebval3d   s    VV
BVV
B 	j$.."b"Ra&$((K eBhnnRR2C% GGFOnnQ1dhh/		V#$r   c                 h   | j                   \  }}}| j                  \  }}}t        j                  d||      }t	        j
                  ||| j                        }t        ||       t        j                  d      }	t	        j
                  |	|	| j                        }t        |j                  dk(         y )Nrt   r   )r   rw   r   rw   )r   r   r'   einsumr   
chebgrid2dr   r   r   r   r   r   s
             r   test_chebgrid2dzTestEvaluation.test_chebgrid2d   s    VV
BVV
B ii	2r*oob"dhh/C% GGFOooaDHH-		X%&r   c                 n   | j                   \  }}}| j                  \  }}}t        j                  d|||      }t	        j
                  |||| j                        }t        ||       t        j                  d      }	t	        j
                  |	|	|	| j                        }t        |j                  dk(         y )Nru   r   )r   rw   r   rw   r   rw   )r   r   r'   r   r   
chebgrid3dr   r   r   r   r   r   s
             r   test_chebgrid3dzTestEvaluation.test_chebgrid3d   s    VV
BVV
B iib"b1oob"b$((3C% GGFOooaAtxx0		X%&r   N)r5   r6   r7   r'   r(   c1dr   r   r   randomr   r   r   r   r   r   r   r   r8   r   r   rq   rq   |   s    
"((>
"C
"))IsC
(C
"))L#sC
0C 			 "Q&A< AA*%"%"''r   rq   c                       e Zd Zd Zd Zy)TestIntegralc                 2
   t        t        t        j                  dgd       t        t        t        j                  dgd       t        t        t        j                  dgdddg       t        t        t        j                  dgdg       t        t        t        j                  dgdg       t        t        t        j                  dgd       t        dd	      D ]6  }dg|dz
  z  dgz   }t        j                  dg||
      }t        |ddg       8 t        d	      D ]  }|dz   }dg|z  dgz   }|gdg|z  z   d|z  gz   }t        j                  |      }t        j                  |d|g
      }t        j                  |      }t        t        |      t        |              t        d	      D ]`  }|dz   }dg|z  dgz   }t        j                  |      }t        j                  |d|gd      }t        t        j                  d|      |       b t        d	      D ]  }|dz   }dg|z  dgz   }|gdg|z  z   d|z  gz   }t        j                  |      }t        j                  |d|gd      }t        j                  |      }t        t        |      t        |              t        d	      D ]~  }t        dd	      D ]m  }	dg|z  dgz   }|d d  }t        |	      D ]  }t        j                  |d      } t        j                  ||	      }t        t        |      t        |             o  t        d	      D ]  }t        dd	      D ]  }	dg|z  dgz   }|d d  }t        |	      D ]  }t        j                  |d|g
      } t        j                  ||	t        t        |	            
      }t        t        |      t        |               t        d	      D ]  }t        dd	      D ]  }	dg|z  dgz   }|d d  }t        |	      D ]  }t        j                  |d|gd      } t        j                  ||	t        t        |	            d      }t        t        |      t        |               t        d	      D ]  }t        dd	      D ]  }	dg|z  dgz   }|d d  }t        |	      D ]  }t        j                  |d|gd      } t        j                  ||	t        t        |	            d      }t        t        |      t        |               y )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   r0   r   polr/   chebpolr   rU   s
             r   test_chebintzTestIntegral.test_chebint   s   isB7j$,,R8j$,,QA?j$,,1#>j$,,!=is< q! 	-AQUqc!A,,sa1-CaV,	- q 	6Aa%C#a%1#+C#A+3'CnnS)Gll7aA37G..)CS	495	6 q 	>Aa%C#a%1#+CnnS)Gll7aA3R@GR 91=	> q 	6Aa%C#a%1#+C#A+3'CnnS)Gll7aA3A>G..)CS	495	6 q 	:A1a[ :c!eqck!fq 1A,,sa0C1ll3!,#DItCy9:	: q 	:A1a[ :c!eqck!fq 8A,,saA37C8ll3!tE!H~>#DItCy9:	: q 	:A1a[ :c!eqck!fq AA,,saA3R@CAll3!tE!H~BG#DItCy9:	: q 	:A1a[ :c!eqck!fq ?A,,saA3A>C?ll3!tE!H~1E#DItCy9:	:r   c           	         t         j                  j                  d      }t        j                  |j                  D cg c]  }t	        j
                  |       c}      j                  }t	        j
                  |d      }t        ||       t        j                  |D cg c]  }t	        j
                  |       c}      }t	        j
                  |d      }t        ||       t        j                  |D cg c]  }t	        j
                  |d       c}      }t	        j
                  |dd      }t        ||       y c c}w c c}w c c}w )Nrw   r   r   r   r   rw   )r   )r   r   )r'   r   vstackTr   r   r   r,   r   rn   r/   r0   s        r   test_chebint_axiszTestIntegral.test_chebint_axis/  s    iiv&ii#%%8Qa89;;ll3Q'C%ii#6Qa67ll3Q'C%iis;!a1-;<ll3!!,C% 9 7 <s   E E9EN)r5   r6   r7   r   r   r8   r   r   r   r      s    Q:f&r   r   c                       e Zd Zd Zd Zy)TestDerivativec           	         t        t        t        j                  dgd       t        t        t        j                  dgd       t        d      D ]A  }dg|z  dgz   }t        j                  |d      }t        t        |      t        |             C t        d      D ]g  }t        dd      D ]V  }dg|z  dgz   }t        j                  t        j                  ||      |      }t        t        |      t        |             X i t        d      D ]i  }t        dd      D ]X  }dg|z  dgz   }t        j                  t        j                  ||d      |d      }t        t        |      t        |             Z k y )	Nr   r%   r   r   r   r   r   )r   r   )
r   r   r   chebderr   r&   r   r   r   r   )r,   r-   r/   r0   rU   s        r   test_chebderzTestDerivative.test_chebderB  sF   isB7j$,,R8 q 	/A#a%1#+C,,sa(CcDI.	/ q 	:A1a[ :c!eqckll4<<q#9Q?#DItCy9:	: q 	:A1a[ :c!eqckll4<<qa#@A2N#DItCy9:	:r   c                    t         j                  j                  d      }t        j                  |j                  D cg c]  }t	        j
                  |       c}      j                  }t	        j
                  |d      }t        ||       t        j                  |D cg c]  }t	        j
                  |       c}      }t	        j
                  |d      }t        ||       y c c}w c c}w )Nr   r   r   r   )r'   r   r   r   r   r   r   r   s        r   test_chebder_axisz TestDerivative.test_chebder_axis[  s    iiv&ii#%%8Qa89;;ll3Q'C%ii#6Qa67ll3Q'C% 9 7s   C' C,N)r5   r6   r7   r   r   r8   r   r   r   r   @  s    :2
&r   r   c                   `    e Zd Zej                  j	                  d      dz  dz
  Zd Zd Zd Zy)
TestVanderrv   r   r   c                    t        j                  d      }t        j                  |d      }t	        |j
                  dk(         t        d      D ]1  }dg|z  dgz   }t        |d|f   t        j                  ||             3 t        j                  ddgddgdd	gg      }t        j                  |d      }t	        |j
                  d
k(         t        d      D ]1  }dg|z  dgz   }t        |d|f   t        j                  ||             3 y )Nrw   r   r   r   r   .r   r      )rw   r   r   )
r'   rl   r   
chebvanderr   r   r&   r   r{   r(   )r,   r   vr-   coefs        r   test_chebvanderzTestVander.test_chebvanderl  s    IIaLOOAq!6!"q 	BA3q5A3;D#q&	4<<4+@A	B
 HHq!fq!fq!f-.OOAq!9$%q 	BA3q5A3;D#q&	4<<4+@A	Br   c                    | j                   \  }}}t        j                  j                  d      }t        j                  ||ddg      }t        j
                  |||      }t        j                  ||j                        }t        ||       t        j                  |g|gddg      }t        |j                  dk(         y )Nr   r   r   )r   r   r   )r   r'   r   r   chebvander2dr   dotflatr   r   r   r,   r   r   r   rn   vanr/   r0   s           r   test_chebvander2dzTestVander.test_chebvander2d}  s    VV
BIIV$BA/nnRQ'ffS!&&!C% rdQF3		Y&'r   c                    | j                   \  }}}t        j                  j                  d      }t        j                  |||g d      }t        j
                  ||||      }t        j                  ||j                        }t        ||       t        j                  |g|g|gg d      }t        |j                  dk(         y )N)r   rw   r   )r   r   rw   )r   r      )r   r'   r   r   chebvander3dr   r   r   r   r   r   r   s           r   test_chebvander3dzTestVander.test_chebvander3d  s    VV
BIIY'BI6nnRR+ffS!&&!C% rdRD)<		Z'(r   N)	r5   r6   r7   r'   r   r   r   r   r   r8   r   r   r   r   h  s0    
		 "Q&AB"()r   r   c                       e Zd Zd Zy)TestFittingc           	      V   d }d }t        t        t        j                  dgdgd       t        t        t        j                  dggdgd       t        t        t        j                  g dgd       t        t        t        j                  dgdgggd       t        t        t        j                  ddgdgd       t        t        t        j                  dgddgd       t        t        t        j                  dgdgddgg       t        t        t        j                  dgdgdddg       t        t        t        j                  dgdgdg       t        t        t        j                  dgdgg d       t        t        t        j                  dgdgg        t        j                  dd      } ||      }t        j                  ||d	      }t        t        |      d
       t        t        j                  ||      |       t        j                  ||g d      }t        t        |      d
       t        t        j                  ||      |       t        j                  ||d
      }t        t        |      d       t        t        j                  ||      |       t        j                  ||g d      }t        t        |      d       t        t        j                  ||      |       t        j                  ||g d      }t        t        |      d       t        t        j                  ||      |       t        j                  |t        j                  ||g      j                  d	      }t        |t        j                  ||g      j                         t        j                  |t        j                  ||g      j                  g d      }t        |t        j                  ||g      j                         t        j                  |      }|j                         }	d|dd d<   d|dd d<   t        j                  ||	d	|      }
t        |
|       t        j                  ||	g d|      }
t        |
|       t        j                  |t        j                  |	|	g      j                  d	|      }t        |t        j                  ||g      j                         t        j                  |t        j                  |	|	g      j                  g d|      }t        |t        j                  ||g      j                         g d}t        t        j                  ||d      ddg       t        t        j                  ||ddg      ddg       t        j                  dd      } ||      }t        j                  ||d
      }t        t        j                  ||      |       t        j                  ||g d      }t        t        j                  ||      |       t        ||       y )Nc                     | | dz
  z  | dz
  z  S Nr   r   r8   r   s    r   fz#TestFitting.test_chebfit.<locals>.f  s    a!e9a!e$$r   c                     | dz  | dz  z   dz   S )Nr   r   r   r8   r   s    r   f2z$TestFitting.test_chebfit.<locals>.f2  s    a4!Q$;?"r   r   r   r   r   )w)r   r   r   rw   r   )r   r   r   rw   r   )r   r   r   rw   r   )r   rw   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_chebfitzTestFitting.test_chebfit  s   	%	# 	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Q1%SZ#DLLE2A6Q<0SZ#DLLE2A6Q1%SZ#DLLE2A6Q?3SZ#DLLE2A6Q?3SZ#DLLE2A6a1a&!1!3!3Q7FBHHeU^$<$>$>?a1a&!1!3!3\BFBHHeU^$<$>$>?MM!VVX!$Q$!$Q$aQ!,FE*a\Q7FE*,,q"((B8"4"6"6Q?GRXXuen%=%?%?@,,q"((B8"4"6"6JGRXXuen%=%?%?@ DLLAq1Aq6:DLLA1v6A?KKAqEQ1%DLLE2A6Q9-DLLE2A6E5)r   N)r5   r6   r7   r   r8   r   r   r   r     s    H*r   r   c                   $    e Zd Zd Zd Zd Zd Zy)TestInterpolatec                     ||dz
  z  |dz
  z  S r   r8   )r,   r   s     r   r   zTestInterpolate.f  s    AE{a!e$$r   c                     t        t        t        j                  | j                  d       t        t
        t        j                  | j                  d       y )Nr   g      $@)r   r   r   chebinterpolater   r   r=   s    r   test_raiseszTestInterpolate.test_raises  s2    j$"6"6Ci!5!5tvvsCr   c                     t        dd      D ]<  }t        t        j                  | j                  |      j
                  |dz   fk(         > y )Nr   r   )r&   r   r   r   r   r   )r,   degs     r   test_dimensionszTestInterpolate.test_dimensions  sC    A; 	KCD((5;;azIJ	Kr   c           	         d }t        j                  ddd      }t        dd      D ]W  }t        d|dz         D ]C  }t        j                  |||f      }t        t        j                  ||       |||      d       E Y y )Nc                     | |z  S )Nr8   )r   ps     r   powxz0TestInterpolate.test_approximation.<locals>.powx  s    a4Kr   r   r   rz   r      )decimal)r'   r}   r&   r   r   r   r{   )r,   r   r   r   r   rn   s         r   test_approximationz"TestInterpolate.test_approximation  s    	 KKAr"B< 	PC1cAg& P((sQD9#DLLA$6Q
BOP	Pr   N)r5   r6   r7   r   r   r   r   r8   r   r   r   r     s    %DK	Pr   r   c                       e Zd Zd Zd Zd Zy)TestCompanionc                     t        t        t        j                  g        t        t        t        j                  dg       y rC   )r   r   r   chebcompanionr=   s    r   r   zTestCompanion.test_raises   s(    j$"4"4b9j$"4"4qc:r   c                     t        dd      D ]9  }dg|z  dgz   }t        t        j                  |      j                  ||fk(         ; y )Nr   r   r   )r&   r   r   r   r   )r,   r-   r   s      r   r   zTestCompanion.test_dimensions  sJ    q! 	>A3q5A3;DD&&t,22q!f<=	>r   c                 P    t        t        j                  ddg      d   dk(         y )Nr   r   )r   r         )r   r   r   r=   s    r   test_linear_rootzTestCompanion.test_linear_root	  s#    ""Aq6*40C78r   N)r5   r6   r7   r   r   r   r8   r   r   r   r     s    ;>
9r   r   c                       e Zd Zd Zy)	TestGaussc                    t        j                  d      \  }}t        j                  |d      }t        j                  |j
                  |z  |      }dt        j                  |j                               z  }|d d d f   |z  |z  }t        |t        j                  d             t        j                  }t        |j                         |       y )Nd   c   r   )r   	chebgaussr   r'   r   r   sqrtdiagonalr   eyepisum)r,   r   r   r   vvvdr/   s          r   test_100zTestGauss.test_100  s    ~~c"1
 OOAr"VVACC!GQrwwr{{}%%4[2"Bs, eeAEEGS)r   N)r5   r6   r7   r  r8   r   r   r  r    s    *r   r  c                   B    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zy
)TestMiscc           	         t        j                  g       }t        t        |      dg       t	        dd      D ]  }t        j                  t        j                  t
        j                   dd|z  dz         dd d         }dg|z  dgz   }t        j                  |      d|dz
  z  z  }t        t        |      t        |              y )Nr   r   r   r   )	r   chebfromrootsr   r   r&   r'   cosr}   r	  )r,   r0   r-   rootsr/   s        r   test_chebfromrootszTestMisc.test_chebfromroots"  s      $DIs+q! 	6AFF2;;vq!A#':14a4@AE#a%1#+C$$U+A!H4CS	495		6r   c                 d   t        t        j                  dg      g        t        t        j                  ddg      dg       t        dd      D ]_  }t	        j
                  dd|      }t        j                  t        j                  |            }t        t        |      t        |             a y )Nr   r   r   r   r   )r   r   	chebrootsr&   r'   r}   r  r   )r,   r-   r/   r0   s       r   test_chebrootszTestMisc.test_chebroots+  s    DNNA3/4DNNAq62SE:q! 	6A++b!Q'C..!3!3C!89CS	495	6r   c                    g d}t        t        t        j                  |d       t	        t        j                  |      |d d        t	        t        j                  |d      |d d        t	        t        j                  |d      dg       y )N)r   r   r   r   r   r   r   r   r   )r   r   r   r   r   )r,   r   s     r   test_chebtrimzTestMisc.test_chebtrim3  sh     	j$--r: 	T]]4($s)4T]]4+T#2Y7T]]4+aS1r   c                 H    t        t        j                  dd      ddg       y )Nrw   r   )r   r   chebliner=   s    r   test_cheblinezTestMisc.test_chebline>  s    T]]1a(1a&1r   c                     t        d      D ]0  }t        t        j                  dg|z  dgz         t        |          2 y Nrz   r   r   )r&   r   r   r   r~   r,   r-   s     r   test_cheb2polyzTestMisc.test_cheb2polyA  s:    r 	GAs1us{ ;U1XF	Gr   c                     t        d      D ]0  }t        t        j                  t        |         dg|z  dgz          2 y r  )r&   r   r   r   r~   r  s     r   test_poly2chebzTestMisc.test_poly2chebE  s:    r 	GAuQx 81#a%1#+F	Gr   c                     t        j                  ddd      dd }dt        j                  d|z         t        j                  d|z
        z  z  }t        j                  |      }t        ||       y )Nr   r      rx   )r'   r}   r  r   
chebweightr   )r,   r   r/   r0   s       r   test_weightzTestMisc.test_weightI  sZ    KKAr"1R("''!a%.2771q5>12ooa C%r   c                    t        t        t        j                  d       t        t        t        j                  d       dg}t	        t        j                  d      |       ddg}t	        t        j                  d      |       g d}t	        t        j                  d      |       g d	}t	        t        j                  d
      |       y )Nrs   r   r   g;fg;f?r   )gLXzr   gLXz?rw   )g( 1kgŜ}ؿgŜ}?g( 1k?r   )r   r   r   chebpts1r   r,   r/   s     r   test_chebpts1z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                    t        t        t        j                  d       t        t        t        j                  d       ddg}t	        t        j                  d      |       g d}t	        t        j                  d      |       g d}t	        t        j                  d      |       g d	}t	        t        j                  d
      |       y )Nrs   r   r   r   )r   r   r   rw   )r   r   r%   r   r   )g      gKfr   gKf?rx   r   )r   r   r   chebpts2r   r)  s     r   test_chebpts2zTestMisc.test_chebpts2^  s    j$--5j$--3 1gDMM!,c2DMM!,c2DMM!,c2=DMM!,c2r   N)r5   r6   r7   r  r  r  r  r   r"  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:   rJ   rq   r   r   r   r   r   r   r  r  r8   r   r   <module>r@     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   