
    H/Ph*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'dS )(zTests for chebyshev module.

    )reduceNpolyval)assert_almost_equalassert_raisesassert_equalassert_c                 .    t          j        | d          S )Ngư>)tol)chebchebtrimxs    e/var/www/html/test/jupyter/venv/lib/python3.11/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dS )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          ||           |d S )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!   s    q 	# 	#A(A3!Q;	2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          ||           |d S )Nr   r&   r   r   )r'   r(   r)   r*   r   _zseries_to_cseriesr   r,   s        r   test__zseries_to_cseriesz$TestPrivate.test__zseries_to_cseries(   s    q 	# 	#A(B46QC<2$q&0")<<C(A3!Q;	22C*3//Cc""""		# 	#r   N)__name__
__module____qualname__r2   r5    r   r   r$   r$      s2        # # ## # # # #r   r$   c                   &    e Zd Zd Zd Zd Zd ZdS )TestConstantsc                 >    t          t          j        ddg           d S )Nr   r   )r   r   
chebdomainr-   s    r   test_chebdomainzTestConstants.test_chebdomain2   s    T_r1g.....r   c                 <    t          t          j        dg           d S )Nr   )r   r   chebzeror>   s    r   test_chebzerozTestConstants.test_chebzero5   s    T]QC(((((r   c                 <    t          t          j        dg           d S Nr   )r   r   cheboner>   s    r   test_chebonezTestConstants.test_chebone8   s    T\A3'''''r   c                 >    t          t          j        ddg           d S )Nr   r   )r   r   chebxr>   s    r   
test_chebxzTestConstants.test_chebx;   s    TZ!Q(((((r   N)r6   r7   r8   r?   rB   rF   rI   r9   r   r   r;   r;   0   sP        / / /) ) )( ( () ) ) ) )r   r;   c                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )TestArithmeticc                    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          |          |           d S Nr   At i=, j=r   r   err_msg)r'   r(   zerosmaxr   chebaddr   r   r-   r.   jmsgr0   r1   s         r   test_chebaddzTestArithmetic.test_chebaddA       q 	@ 	@A1XX @ @(a((Q((hs1ayy1}--A!A!lA3q5A3;A<<T#YYS		3?????@	@ 	@r   c                    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          |          |           d S rM   )r'   r(   rR   rS   r   chebsubr   r   rU   s         r   test_chebsubzTestArithmetic.test_chebsubK   rY   r   c                 2   t          t          j        dg          dg           t          t          j        dg          ddg           t          dd          D ]<}dg|z  dgz   }dg|dz
  z  g dz   }t          t          j        |          |           =d S )Nr   r   r   )r&   r   r&   )r   r   chebmulxr'   )r-   r.   serr0   s       r   test_chebmulxzTestArithmetic.test_chebmulxU   s    T]A3''!---T]A3''!Q000q! 	2 	2A#a%1#+C#q1u++Cs++S1111	2 	2r   c                    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          |          |           d S )Nr   rN   rO   r   r&   r   rP   )r'   r(   rR   absr   chebmulr   r   rU   s         r   test_chebmulzTestArithmetic.test_chebmul]   s    q 	@ 	@A1XX @ @(a((Q((hq1uqy))AE


b 


CAJJ2%lA3q5A3;A<<T#YYS		3?????@	@ 	@r   c                    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          |          |           d S )Nr   rN   rO   r   r   rP   )r'   r   rT   chebdivrc   r   r   )
r-   r.   rV   rW   cicjr0   quoremr1   s
             r   test_chebdivzTestArithmetic.test_chebdivg   s    q 	@ 	@A1XX @ @(a((Q((SUaS[SUaS[l2r**<R00Sl4<R#8#8#>>T#YYS		3?????@	@ 	@r   c           	      r   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          |          |           d S )Nr   rN   rO   r   rP   )
r'   r(   aranger   r   rc   r)   chebpowr   r   )r-   r.   rV   rW   cr0   r1   s          r   test_chebpowzTestArithmetic.test_chebpowr   s    q 	@ 	@A1XX @ @(a((Q((Ia!e$$T\A3q5"(A3--@@l1a((T#YYS		3?????@	@ 	@r   N)	r6   r7   r8   rX   r\   r`   rd   rk   rp   r9   r   r   rK   rK   ?   s        @ @ @@ @ @2 2 2@ @ @	@ 	@ 	@@ @ @ @ @r   rK   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	        	                    d          dz  dz
  Z
 ee
g d          Zd Zd	 Zd
 Zd Zd ZdS )TestEvaluation)g      @       @      ?i,j->ij
i,j,k->ijk   r   r   r   )      ?rs   g      @c                    t          t          j        g dg          j        d           t	          j        dd          fdt          D             }t          d          D ]>}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
        |           d S )Nr   r   r   c                 0    g | ]}t          |          S r9   r   ).0ro   r   s     r   
<listcomp>z/TestEvaluation.test_chebval.<locals>.<listcomp>   s!    ***qWQ]]***r   
   rN   rP   rx   r   )r   r   r   )r   r   chebvalsizer(   linspaceTlistr'   r   rR   shape)r-   yr.   rW   r0   r1   dimsr   s          @r   test_chebvalzTestEvaluation.test_chebval   sU   T\"qc**/333 KA****E***r 	7 	7A!++CA$C,q1#a%1#+..CS#66666 q 	A 	AA3q5DAa!--3T:::a!Q006===a3394@@@@	A 	Ar   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               d S Nr   r   rx   )r   r   r   
ValueErrorr   	chebval2dc2dr   r(   onesr	   r   
r-   x1x2x3y1y2y3r0   r1   zs
             r   test_chebval2dzTestEvaluation.test_chebval2d   s    V
BV
B 	j$."b!fdhGGG enRTX..C%%% GFOOnQ48,,	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               d S r   )r   r   r   r   r   	chebval3dc3dr   r(   r   r	   r   r   s
             r   test_chebval3dzTestEvaluation.test_chebval3d   s    V
BV
B 	j$."b"RaR&$(KKK eBhnRR22C%%% GFOOnQ1dh//	V#$$$$$r   c                 B   | j         \  }}}| j        \  }}}t          j        d||          }t	          j        ||| j                  }t          ||           t          j        d          }	t	          j        |	|	| j                  }t          |j
        dk               d S )Nru   r   )r   rx   r   rx   )r   r   r(   einsumr   
chebgrid2dr   r   r   r	   r   r   s
             r   test_chebgrid2dzTestEvaluation.test_chebgrid2d   s    V
BV
B i	2r**ob"dh//C%%% GFOOoaDH--	X%&&&&&r   c                 H   | j         \  }}}| j        \  }}}t          j        d|||          }t	          j        |||| j                  }t          ||           t          j        d          }	t	          j        |	|	|	| j                  }t          |j
        dk               d S )Nrv   r   )r   rx   r   rx   r   rx   )r   r   r(   r   r   
chebgrid3dr   r   r   r	   r   r   s
             r   test_chebgrid3dzTestEvaluation.test_chebgrid3d   s    V
BV
B ib"b11ob"b$(33C%%% GFOOoaAtx00	X%&&&&&r   N)r6   r7   r8   r(   r)   c1dr   r   r   randomr   r   r   r   r   r   r   r   r9   r   r   rr   rr   |   s        
"(>>>
"
"C
")IsC
(
(C
")L#sC
0
0C 		  "Q&A<<<  AA A A*% % %"% % %"' ' '' ' ' ' 'r   rr   c                       e Zd Zd Zd ZdS )TestIntegralc                 T   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 ]9}dg|dz
  z  dgz   }t          j        dg||
          }t          |ddg           :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 ]a}|dz   }dg|z  dgz   }t          j        |          }t          j        |d|gd          }t          t          j
        d|          |           bt          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 ]~}	dg|z  dgz   }|d d          }t          |	          D ]}t          j        |d          }t          j        ||	          }t          t          |          t          |                     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          |                     d S )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   rV   s
             r   test_chebintzTestIntegral.test_chebint   s   isB777j$,R888j$,QA???j$,1#>>>>j$,!====is<<<< q! 	- 	-AQUqc!A,sa1---CaV,,,, q 	6 	6Aa%C#a%1#+C#A+3'CnS))Gl7aA3777G.))CS		4995555 q 	> 	>Aa%C#a%1#+CnS))Gl7aA3R@@@GR 9 91==== q 	6 	6Aa%C#a%1#+C#A+3'CnS))Gl7aA3A>>>G.))CS		4995555 q 	: 	:A1a[[ : :c!eqck!!!fq 1 1A,sa000CCl3!,,,#DIItCyy9999: q 	: 	:A1a[[ : :c!eqck!!!fq 8 8A,saA3777CCl3!tE!HH~~>>>#DIItCyy9999: q 	: 	:A1a[[ : :c!eqck!!!fq A AA,saA3R@@@CCl3!tE!HH~~BGGG#DIItCyy9999: q 	: 	:A1a[[ : :c!eqck!!!fq ? ?A,saA3A>>>CCl3!tE!HH~~1EEE#DIItCyy9999:	: 	:r   c                    t           j                            d          }t          j        d |j        D                       j        }t	          j        |d          }t          ||           t          j        d |D                       }t	          j        |d          }t          ||           t          j        d |D                       }t	          j        |dd	          }t          ||           d S )
Nrx   r   c                 6    g | ]}t          j        |          S r9   r   r   r|   ro   s     r   r}   z2TestIntegral.test_chebint_axis.<locals>.<listcomp>3       888Qa888r   r   r   c                 6    g | ]}t          j        |          S r9   r   r   s     r   r}   z2TestIntegral.test_chebint_axis.<locals>.<listcomp>7       666Qa666r   r   c                 :    g | ]}t          j        |d           S )rx   )r   r   r   s     r   r}   z2TestIntegral.test_chebint_axis.<locals>.<listcomp>;  s'    ;;;!a1---;;;r   rx   )r   r   )r(   r   vstackTr   r   r   r-   r   r0   r1   s       r   test_chebint_axiszTestIntegral.test_chebint_axis/  s    iv&&i88#%88899;l3Q'''C%%%i66#66677l3Q'''C%%%i;;s;;;<<l3!!,,,C%%%%%r   N)r6   r7   r8   r   r   r9   r   r   r   r      s6        Q: Q: Q:f& & & & &r   r   c                       e Zd Zd Zd ZdS )TestDerivativec           	      V   t          t          t          j        dgd           t          t          t          j        dgd           t          d          D ]L}dg|z  dgz   }t          j        |d          }t          t          |          t          |                     Mt          d          D ]s}t          dd          D ]`}dg|z  dgz   }t          j        t          j        ||          |          }t          t          |          t          |                     att          d          D ]u}t          dd          D ]b}dg|z  dgz   }t          j        t          j        ||d          |d          }t          t          |          t          |                     cvd S )	Nr   r&   r   r   r   r   r   )r   r   )
r   r   r   chebderr   r'   r   r   r   r   )r-   r.   r0   r1   rV   s        r   test_chebderzTestDerivative.test_chebderB  s   isB777j$,R888 q 	/ 	/A#a%1#+C,sa(((CcDII.... q 	: 	:A1a[[ : :c!eqckl4<q#9#9#9Q???#DIItCyy9999: q 	: 	:A1a[[ : :c!eqckl4<qa#@#@#@A2NNN#DIItCyy9999:	: 	:r   c                 h   t           j                            d          }t          j        d |j        D                       j        }t	          j        |d          }t          ||           t          j        d |D                       }t	          j        |d          }t          ||           d S )Nr   c                 6    g | ]}t          j        |          S r9   r   r   r   s     r   r}   z4TestDerivative.test_chebder_axis.<locals>.<listcomp>_  r   r   r   r   c                 6    g | ]}t          j        |          S r9   r   r   s     r   r}   z4TestDerivative.test_chebder_axis.<locals>.<listcomp>c  r   r   r   )r(   r   r   r   r   r   r   r   s       r   test_chebder_axisz TestDerivative.test_chebder_axis[  s    iv&&i88#%88899;l3Q'''C%%%i66#66677l3Q'''C%%%%%r   N)r6   r7   r8   r   r   r9   r   r   r   r   @  s2        : : :2
& 
& 
& 
& 
&r   r   c                   `    e Zd Zej                            d          dz  dz
  Zd Zd Zd ZdS )
TestVanderrw   r   r   c                 8   t          j        d          }t          j        |d          }t	          |j        dk               t          d          D ]7}dg|z  dgz   }t          |d|f         t          j        ||                     8t          j	        ddgddgdd	gg          }t          j        |d          }t	          |j        d
k               t          d          D ]7}dg|z  dgz   }t          |d|f         t          j        ||                     8d S )Nrx   r   r   r   r   .r   r      )rx   r   r   )
r(   rm   r   
chebvanderr	   r   r'   r   r   r)   )r-   r   vr.   coefs        r   test_chebvanderzTestVander.test_chebvanderl  s)   IaLLOAq!!6!"""q 	B 	BA3q5A3;D#q&	4<4+@+@AAAA Hq!fq!fq!f-..OAq!!9$%%%q 	B 	BA3q5A3;D#q&	4<4+@+@AAAA	B 	Br   c                 n   | j         \  }}}t          j                            d          }t          j        ||ddg          }t          j        |||          }t          j        ||j                  }t          ||           t          j        |g|gddg          }t          |j
        dk               d S )Nr   r   r   )r   r   r   )r   r(   r   r   chebvander2dr   dotflatr   r	   r   r-   r   r   r   ro   vanr0   r1   s           r   test_chebvander2dzTestVander.test_chebvander2d}  s    V
BIV$$BA//nRQ''fS!&!!C%%% rdQF33	Y&'''''r   c                 v   | j         \  }}}t          j                            d          }t          j        |||g d          }t          j        ||||          }t          j        ||j                  }t          ||           t          j        |g|g|gg d          }t          |j
        dk               d S )N)r   rx   r   )r   r   rx   )r   r      )r   r(   r   r   chebvander3dr   r   r   r   r	   r   r   s           r   test_chebvander3dzTestVander.test_chebvander3d  s    V
BIY''BIII66nRR++fS!&!!C%%% rdRD)))<<	Z'(((((r   N)	r6   r7   r8   r(   r   r   r   r   r   r9   r   r   r   r   h  sc        
	  "Q&AB B B"( ( () ) ) ) )r   r   c                       e Zd Zd ZdS )TestFittingc           	         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        |          }|                                }	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          ||           d S )Nc                     | | dz
  z  | dz
  z  S Nr   r   r9   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   r9   r   s    r   f2z$TestFitting.test_chebfit.<locals>.f2  s    a4!Q$;?"r   r   r   r   r   )w)r   r   r   rx   r   )r   r   r   rx   r   )r   r   r   rx   r   )r   rx   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DDDisQCq!fEEEEj$,aS2%@@@j$,aS***EEEisQC<<< K1AaDDQ1%%SZZ###DLE22A666Q<<<00SZZ###DLE22A666Q1%%SZZ###DLE22A666Q???33SZZ###DLE22A666Q???33SZZ###DLE22A666a1a&!1!1!3Q77FBHeU^$<$<$>???a1a&!1!1!3\\\BBFBHeU^$<$<$>???M!VVXX!$Q$!$Q$aQ!,,,FE***a\\\Q777FE***,q"(B8"4"4"6Q???GRXuen%=%=%?@@@,q"(B8"4"4"6JJJGRXuen%=%=%?@@@ DLAq11Aq6:::DLA1v66A???KABqEEQ1%%DLE22A666Q999--DLE22A666E5)))))r   N)r6   r7   r8   r   r9   r   r   r   r     s(        H* H* H* H* H*r   r   c                   &    e Zd Zd Zd Zd Zd ZdS )TestInterpolatec                     ||dz
  z  |dz
  z  S r   r9   )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           d S )Nr   g      $@)r   r   r   chebinterpolater   r   r>   s    r   test_raiseszTestInterpolate.test_raises  s:    j$"6CCCi!5tvsCCCCCr   c                     t          dd          D ]6}t          t          j        | j        |          j        |dz   fk               7d S )Nr   r   )r'   r	   r   r   r   r   )r-   degs     r   test_dimensionszTestInterpolate.test_dimensions  sU    A;; 	K 	KCD(55;azIJJJJ	K 	Kr   c           	         d }t          j        ddd          }t          dd          D ]^}t          d|dz             D ]H}t          j        |||f          }t          t          j        ||           |||          d           I_d S )Nc                     | |z  S )Nr9   )r   ps     r   powxz0TestInterpolate.test_approximation.<locals>.powx  s    a4Kr   r   r   r~   r      )decimal)r(   r   r'   r   r   r   r   )r-   r  r   r   r  ro   s         r   test_approximationz"TestInterpolate.test_approximation  s    	 	 	 KAr""B<< 	P 	PC1cAg&& P P(sQD99#DLA$6$6Q

BOOOOOP	P 	Pr   N)r6   r7   r8   r   r   r   r  r9   r   r   r   r     s[        % % %D D DK K K	P 	P 	P 	P 	Pr   r   c                        e Zd Zd Zd Zd ZdS )TestCompanionc                     t          t          t          j        g            t          t          t          j        dg           d S rD   )r   r   r   chebcompanionr>   s    r   r   zTestCompanion.test_raises   s4    j$"4b999j$"4qc:::::r   c                     t          dd          D ]8}dg|z  dgz   }t          t          j        |          j        ||fk               9d S )Nr   r   r   )r'   r	   r   r	  r   )r-   r.   r   s      r   r   zTestCompanion.test_dimensions  s\    q! 	> 	>A3q5A3;DD&t,,2q!f<====	> 	>r   c                 `    t          t          j        ddg          d         dk               d S )Nr   r   )r   r         )r	   r   r	  r>   s    r   test_linear_rootzTestCompanion.test_linear_root	  s/    "Aq6**40C788888r   N)r6   r7   r8   r   r   r  r9   r   r   r  r    sA        ; ; ;> > >
9 9 9 9 9r   r  c                       e Zd Zd ZdS )	TestGaussc                    t          j        d          \  }}t          j        |d          }t          j        |j        |z  |          }dt          j        |                                          z  }|d d d f         |z  |z  }t          |t          j	        d                     t          j
        }t          |                                |           d S )Nd   c   r   )r   	chebgaussr   r(   r   r   sqrtdiagonalr   eyepisum)r-   r   r   r   vvvdr0   s          r   test_100zTestGauss.test_100  s    ~c""1
 OAr""VAC!GQrwr{{}}%%%4[2"Bs,,, eAEEGGS)))))r   N)r6   r7   r8   r  r9   r   r   r  r    s#        * * * * *r   r  c                   D    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
S )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          |                     d S )Nr   r   r   r   )	r   chebfromrootsr   r   r'   r(   cosr   r  )r-   r1   r.   rootsr0   s        r   test_chebfromrootszTestMisc.test_chebfromroots"  s     $$DIIs+++q! 	6 	6AF2;vq!A#'::14a4@AAE#a%1#+C$U++A!H4CS		4995555		6 	6r   c                    t          t          j        dg          g            t          t          j        ddg          dg           t          dd          D ]h}t	          j        dd|          }t          j        t          j        |                    }t          t          |          t          |                     id S )Nr   r   r  r   r   )r   r   	chebrootsr'   r(   r   r  r   )r-   r.   r0   r1   s       r   test_chebrootszTestMisc.test_chebroots+  s    DNA3//444DNAq622SE:::q! 	6 	6A+b!Q''C.!3C!8!899CS		4995555	6 	6r   c                 B   g d}t          t          t          j        |d           t	          t          j        |          |d d                    t	          t          j        |d          |d d                    t	          t          j        |d          dg           d S )N)r   r   r   r   r   r   r   r   r   )r   r   r   r   r   )r-   r   s     r   test_chebtrimzTestMisc.test_chebtrim3  s    }} 	j$-r::: 	T]4(($ss)444T]4++T#2#Y777T]4++aS11111r   c                 P    t          t          j        dd          ddg           d S )Nrx   r   )r   r   chebliner>   s    r   test_cheblinezTestMisc.test_chebline>  s(    T]1a((1a&11111r   c                     t          d          D ]7}t          t          j        dg|z  dgz             t          |                    8d S Nr~   r   r   )r'   r   r   r   r   r-   r.   s     r   test_cheb2polyzTestMisc.test_cheb2polyA  sR    r 	G 	GAs1us{ ; ;U1XFFFF	G 	Gr   c                     t          d          D ]7}t          t          j        t          |                   dg|z  dgz              8d S r,  )r'   r   r   r   r   r-  s     r   test_poly2chebzTestMisc.test_poly2chebE  sR    r 	G 	GAuQx 8 81#a%1#+FFFF	G 	Gr   c                     t          j        ddd          dd         }dt          j        d|z             t          j        d|z
            z  z  }t          j        |          }t          ||           d S )Nr   r      ry   )r(   r   r  r   
chebweightr   )r-   r   r0   r1   s       r   test_weightzTestMisc.test_weightI  sj    KAr""1R4("'!a%..271q5>>12oa  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
          |           d S )Nrt   r   r   g;fg;f?r   )gLXzr   gLXz?rx   )g( 1kgŜ}ؿgŜ}?g( 1k?r   )r   r   r   chebpts1r   r-   r0   s     r   test_chebpts1zTestMisc.test_chebpts1O  s    j$-555j$-333 cDM!,,c222#%89DM!,,c222<<<DM!,,c222HHHDM!,,c2222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
          |           d S )Nrt   r   r   r   )r   r   r   rx   )r   r  r&   r   r   )g      gKfr   gKf?ry   r   )r   r   r   chebpts2r   r7  s     r   test_chebpts2zTestMisc.test_chebpts2^  s    j$-555j$-333 1gDM!,,c222jjDM!,,c222DM!,,c222===DM!,,c22222r   N)r6   r7   r8   r"  r%  r'  r*  r.  r0  r4  r8  r;  r9   r   r   r  r     s        6 6 66 6 6	2 	2 	22 2 2G G GG G G& & &3 3 33 3 3 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;   rK   rr   r   r   r   r   r   r  r  r  r9   r   r   <module>rN     sI              ) ) ) ) ) ) ) ) ) / / / / / /           
& & & SVZZ]]###)))---	RRRRR0# # # # # # # #") ) ) ) ) ) ) ):@ :@ :@ :@ :@ :@ :@ :@z[' [' [' [' [' [' [' ['|c& c& c& c& c& c& c& c&L%& %& %& %& %& %& %& %&P-) -) -) -) -) -) -) -)`J* J* J* J* J* J* J* J*ZP P P P P P P P29 9 9 9 9 9 9 9* * * * * * * *&K3 K3 K3 K3 K3 K3 K3 K3 K3 K3r   