Ë
    ¡eh*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    úc/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/numpy/polynomial/tests/test_chebyshev.pyÚtrimr      s   € Ü�=‰=˜ Ô%Ð%ó    é   )éÿÿÿÿr   é   )r   éýÿÿÿr   é   )r   r   iøÿÿÿr   é   )r   é   r   iìÿÿÿr   é   )r   r   é   r   iÐÿÿÿr   é    )r   iùÿÿÿr   é8   r   i�ÿÿÿr   é@   )	r   r   iàÿÿÿr   é    r   i ÿÿÿr   é€   )
r   é	   r   iˆÿÿÿr   i°  r   iÀýÿÿr   é   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Ü—(‘(˜A˜3 !  Q¡™;¬¯	©	Ó2ˆCÜ—(‘(˜B˜4 ™6 Q C™<¨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Ü—(‘(˜B˜4 ™6 Q C™<¨2¨$¨q©&Ñ0´"·)±)Ó<ˆCÜ—(‘(˜A˜3 !  Q¡™;¬¯	©	Ó2ˆCÜ×*Ñ*¨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—_‘_ r¨1 gÕ.r   c                 ó:   — t        t        j                  dg«       y )Nr   )r   r   Úchebzeror=   s    r   Útest_chebzerozTestConstants.test_chebzero5   s   € Ü”T—]‘] Q CÕ(r   c                 ó:   — t        t        j                  dg«       y ©Nr   )r   r   Úcheboner=   s    r   Útest_chebonezTestConstants.test_chebone8   s   € Ü”T—\‘\ A 3Õ'r   c                 ó<   — t        t        j                  ddg«       y )Nr   r   )r   r   Úchebxr=   s    r   Ú
test_chebxzTestConstants.test_chebx;   s   € Ü”T—Z‘Z ! 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Ü˜1“Xò @�Ø˜a˜S  Q CÐ(�Ü—h‘hœs 1 a›y¨1™}Ó-�Ø�A“˜!‘“Ø�A“˜!‘“Ü—l‘l A 3 q¡5¨A¨3¡;°°°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—]‘] A 3Ó'¨!¨Ô-Ü”T—]‘] A 3Ó'¨!¨Q¨Ô0Ü�q˜!“ò 	2ˆAØ�#�a‘%˜1˜#‘+ˆCØ�#�q˜1‘u‘+¢Ñ+ˆ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Ü˜1“Xò @�Ø˜a˜S  Q CÐ(�Ü—h‘h˜q 1™u q™yÓ)�Ø�A˜‘E“
˜bÑ “
Ø”C˜˜A™“J“ 2Ñ%“Ü—l‘l A 3 q¡5¨A¨3¡;°°°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Ü˜1“Xò @�Ø˜a˜S  Q CÐ(�Ø�S˜‘U˜a˜S‘[�Ø�S˜‘U˜a˜S‘[�Ü—l‘l 2 rÓ*�ÜŸ<™<¨¨RÓ0‘��SÜ—l‘l¤4§<¡<°°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Ü˜1“Xò @�Ø˜a˜S  Q CÐ(�Ü—I‘I˜a !™eÓ$�ÜœTŸ\™\¨A¨3¨q©5´"·(±(¸A¸3³-Ó@�Ü—l‘l 1 aÓ(�Üœ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—\‘\ " q cÓ*×/Ñ/°Ô3ô �K‰K˜˜AÓˆÜ$)Ö*˜qŒW�Q˜�]Ð*ˆÐ*Ü�r“ò 	7ˆAØ˜!˜�+ˆCØ�A‘$ˆCÜ—,‘,˜q 1 # a¡%¨1¨#¡+Ó.ˆCÜ  S°#Ö6ð		7ô �q“ò 	AˆAØ�3�q‘5ˆDÜ—‘˜“ˆAÜœŸ™ a¨!¨Ó-×3Ñ3°TÔ:ÜœŸ™ a¨!¨Q¨Ó0×6Ñ6¸Ô=ÜœŸ™ aªÓ3×9Ñ9¸4Õ@ñ	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¡   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô 	”j¤$§.¡.°"°b¸¸!°f¸d¿h¹hÔGð �‰eˆÜ�n‰n˜R  T§X¡XÓ.ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�n‰n˜Q  4§8¡8Ó,ˆÜ�—	‘	˜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«   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô 	”j¤$§.¡.°"°b¸"¸R¸a¸&À$Ç(Á(ÔKð �‰e�B‰hˆÜ�n‰n˜R  R¨¯©Ó2ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�n‰n˜Q  1 d§h¡hÓ/ˆÜ�—	‘	˜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Š   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô �i‰i˜	 2 rÓ*ˆÜ�o‰o˜b " d§h¡hÓ/ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�o‰o˜a  D§H¡HÓ-ˆÜ�—	‘	˜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�   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô �i‰i˜ b¨"¨bÓ1ˆÜ�o‰o˜b " b¨$¯(©(Ó3ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�o‰o˜a  A t§x¡xÓ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Ø
ˆ"�)‰)�I˜s CÓ
(€CØ
ˆ"�)‰)�L # s¨CÓ
0€Cð 	�	‰	×Ñ˜Ó  Ñ" 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¤§¡°¨s°BÔ7Ü”j¤$§,¡,°°°RÔ8Ü”j¤$§,¡,°°°Q¸¸A¸Ô?Ü”j¤$§,¡,°°¸1¸#Õ>Ü”j¤$§,¡,°°¸!¸Õ=Ü”i¤§¡°¨s¸Õ<ô �q˜!“ò 	-ˆAØ��Q˜‘U‘˜q˜cÑ!ˆAÜ—,‘, ˜s a¨1Ô-ˆCÜ  a¨ VÕ,ð	-ô �q“ò 	6ˆAØ�a‘%ˆCØ�#�a‘%˜1˜#‘+ˆCØ�#˜˜˜A™‘+  3¡ Ñ'ˆCÜ—n‘n SÓ)ˆGÜ—l‘l 7¨a°A°3Ô7ˆGÜ—.‘. Ó)ˆCÜ¤ S£	¬4°«9Õ5ð	6ô �q“ò 	>ˆAØ�a‘%ˆCØ�#�a‘%˜1˜#‘+ˆCÜ—n‘n SÓ)ˆGÜ—l‘l 7¨a°A°3¸RÔ@ˆGÜ¤§¡¨R°Ó 9¸1Õ=ð	>ô �q“ò 	6ˆAØ�a‘%ˆCØ�#�a‘%˜1˜#‘+ˆCØ�#˜˜˜A™‘+  3¡ Ñ'ˆCÜ—n‘n SÓ)ˆGÜ—l‘l 7¨a°A°3¸AÔ>ˆGÜ—.‘. Ó)ˆCÜ¤ S£	¬4°«9Õ5ð	6ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜!‘e˜q˜c‘k�Ø™!�f�Ü˜q›ò 1�AÜŸ,™, s¨aÔ0‘Cð1ä—l‘l 3¨!Ô,�Ü#¤D¨£I¬t°C«yÕ9ñ:ð	:ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜!‘e˜q˜c‘k�Ø™!�f�Ü˜q›ò 8�AÜŸ,™, s¨a°A°3Ô7‘Cð8ä—l‘l 3¨!¬t´E¸!³H«~Ô>�Ü#¤D¨£I¬t°C«yÕ9ñ:ð	:ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜!‘e˜q˜c‘k�Ø™!�f�Ü˜q›ò A�AÜŸ,™, s¨a°A°3¸RÔ@‘CðAä—l‘l 3¨!¬t´E¸!³H«~ÀBÔG�Ü#¤D¨£I¬t°C«yÕ9ñ:ð	:ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜!‘e˜q˜c‘k�Ø™!�f�Ü˜q›ò ?�AÜŸ,™, s¨a°A°3¸AÔ>‘Cð?ä—l‘l 3¨!¬t´E¸!³H«~À1ÔE�Ü#¤D¨£I¬t°C«yÕ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å   € ä�i‰i×Ñ˜vÓ&ˆä�i‰i°#·%±%Ö8¨QœŸ™ a�Ò8Ó9×;Ñ;ˆÜ�l‰l˜3 QÔ'ˆÜ˜C Ô%ä�i‰i°#Ö6¨QœŸ™ a�Ò6Ó7ˆÜ�l‰l˜3 QÔ'ˆÜ˜C Ô%ä�i‰i°sÖ;°!œŸ™ a¨1Ö-Ò;Ó<ˆÜ�l‰l˜3 !¨!Ô,ˆÜ˜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¤§¡°¨s°BÔ7Ü”j¤$§,¡,°°°RÔ8ô �q“ò 	/ˆAØ�#�a‘%˜1˜#‘+ˆCÜ—,‘,˜s aÔ(ˆCÜœ˜c›¤D¨£IÕ.ð	/ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜!‘e˜q˜c‘k�Ü—l‘l¤4§<¡<°°qÔ#9¸QÔ?�Ü#¤D¨£I¬t°C«yÕ9ñ:ð	:ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜!‘e˜q˜c‘k�Ü—l‘l¤4§<¡<°°q¸aÔ#@ÀAÈ2ÔN�Ü#¤D¨£I¬t°C«yÕ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    € ä�i‰i×Ñ˜vÓ&ˆä�i‰i°#·%±%Ö8¨QœŸ™ a�Ò8Ó9×;Ñ;ˆÜ�l‰l˜3 QÔ'ˆÜ˜C Ô%ä�i‰i°#Ö6¨QœŸ™ a�Ò6Ó7ˆÜ�l‰l˜3 QÔ'ˆÜ˜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ú   € ä�I‰I�a‹LˆÜ�O‰O˜A˜qÓ!ˆÜ�—‘˜6Ñ!Ô"Ü�q“ò 	BˆAØ�3�q‘5˜A˜3‘;ˆDÜ  # q &¡	¬4¯<©<¸¸4Ó+@ÕAð	Bô
 �H‰H�q˜!�f˜q !˜f q¨! fÐ-Ó.ˆÜ�O‰O˜A˜qÓ!ˆÜ�—‘˜9Ñ$Ô%Ü�q“ò 	BˆAØ�3�q‘5˜A˜3‘;ˆ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œ   € à—V‘V‰
ˆˆB�Ü�I‰I×Ñ˜VÓ$ˆÜ×Ñ  B¨¨A¨Ó/ˆÜ�n‰n˜R  QÓ'ˆÜ�f‰f�S˜!Ÿ&™&Ó!ˆÜ˜C Ô%ô ×Ñ   r d¨Q°¨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œ   € à—V‘V‰
ˆˆB�Ü�I‰I×Ñ˜YÓ'ˆÜ×Ñ  B¨ªIÓ6ˆÜ�n‰n˜R  R¨Ó+ˆÜ�f‰f�S˜!Ÿ&™&Ó!ˆÜ˜C Ô%ô ×Ñ   r d¨R¨D²)Ó<ˆÜ�—	‘	˜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˜!‘e‘9˜a !™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   € Ø�a‘4˜!˜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¤$§,¡,°°°a°S¸"Ô=Ü”i¤§¡°°¨u°q°c¸1Ô=Ü”i¤§¡¨r°A°3¸Ô:Ü”i¤§¡°¨s°q°c°U°G¸QÔ?Ü”i¤§¡°°1¨v¸°s¸AÔ>Ü”i¤§¡°¨s°Q¸°F¸AÔ>Ü”i¤§¡°¨s°Q°C¸À¸s¸eÕDÜ”i¤§¡°¨s°Q°C¸¸qÀ!¸fÕEÜ”j¤$§,¡,°°°a°S¸2¸%Ô@Ü”j¤$§,¡,°°°a°Sº*ÔEÜ”i¤§¡°¨s°Q°C¸Ô<ô �K‰K˜˜1ÓˆÙˆa‹Dˆä—‘˜Q  1Ó%ˆÜ”S˜“Z Ô#ÜœDŸL™L¨¨EÓ2°AÔ6Ü—‘˜Q ¢<Ó0ˆÜ”S˜“Z Ô#ÜœDŸL™L¨¨EÓ2°AÔ6ä—‘˜Q  1Ó%ˆÜ”S˜“Z Ô#ÜœDŸL™L¨¨EÓ2°AÔ6Ü—‘˜Q ¢?Ó3ˆÜ”S˜“Z Ô#ÜœDŸL™L¨¨EÓ2°AÔ6ä—‘˜Q ¢?Ó3ˆÜ”S˜“Z Ô#ÜœDŸL™L¨¨EÓ2°AÔ6ä—‘˜a¤§¡¨1¨a¨&Ó!1×!3Ñ!3°QÓ7ˆÜ˜F¤B§H¡H¨e°U¨^Ó$<×$>Ñ$>Ô?Ü—‘˜a¤§¡¨1¨a¨&Ó!1×!3Ñ!3²\ÓBˆÜ˜F¤B§H¡H¨e°U¨^Ó$<×$>Ñ$>Ô?ä�M‰M˜!ÓˆØ�V‰V‹XˆØˆˆ!ˆ$ˆQˆ$‰Øˆˆ!ˆ$ˆQˆ$‰Ü—‘˜a  Q¨!Ô,ˆÜ˜F EÔ*Ü—‘˜a ¢\°QÔ7ˆÜ˜F EÔ*ä—,‘,˜q¤"§(¡(¨B°¨8Ó"4×"6Ñ"6¸¸QÔ?ˆÜ˜G¤R§X¡X¨u°e¨nÓ%=×%?Ñ%?Ô@Ü—,‘,˜q¤"§(¡(¨B°¨8Ó"4×"6Ñ"6ºÈÔJˆÜ˜G¤R§X¡X¨u°e¨nÓ%=×%?Ñ%?Ô@ò ˆÜœDŸL™L¨¨A¨qÓ1°A°q°6Ô:ÜœDŸL™L¨¨A°°1¨vÓ6¸¸A¸Ô?ä�K‰K˜˜AÓˆÙˆq‹EˆÜ—‘˜Q  1Ó%ˆÜœDŸL™L¨¨EÓ2°AÔ6Ü—‘˜Q ¢9Ó-ˆÜœDŸL™L¨¨EÓ2°AÔ6Ü˜E 5Õ)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Ñ!5°t·v±v¸sÕ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   € Ø�a‘4ˆKr   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�   € ò	ô �K‰K˜˜A˜rÓ"ˆÜ˜˜B“<ò 	PˆCÜ˜1˜c A™gÓ&ò P�Ü×(Ñ(¨¨s°Q°DÓ9�Ü#¤D§L¡L°°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Ñ"4°bÔ9Ü”j¤$×"4Ñ"4°q°cÕ: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Ø�3�q‘5˜A˜3‘;ˆDÜ”D×&Ñ& tÓ,×2Ñ2°q¸!°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#   € Ü”×"Ñ" A q 6Ó*¨4Ñ0°CÑ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 )Néd   é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ô
 �O‰O˜A˜rÓ"ˆÜ�V‰V�A—C‘C˜!‘G˜QÓˆØŒr�w‰w�r—{‘{“}Ó%Ñ%ˆØ’�4�‰[˜2Ñ Ñ"ˆÜ˜B¤§¡ s£Ô,ô �e‰eˆÜ˜AŸE™E›G SÕ)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˜!“ò 	6ˆAÜ—F‘Fœ2Ÿ;™;¬¯© v¨q°!°A±#¸±'Ó:¸1¸4¸a¸4Ñ@ÓAˆEØ�#�a‘%˜1˜#‘+ˆCÜ×$Ñ$ UÓ+¨A°°!±©HÑ4ˆCÜ¤ 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‚   € ÜœDŸN™N¨A¨3Ó/°Ô4ÜœDŸN™N¨A¨q¨6Ó2°S°EÔ:Ü�q˜!“ò 	6ˆAÜ—+‘+˜b ! QÓ'ˆCÜ—.‘.¤×!3Ñ!3°CÓ!8Ó9ˆCÜ¤ 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°#°2¨YÔ7Ü”T—]‘] 4¨Ó+¨a¨SÕ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—]‘] 1 aÓ(¨1¨a¨&Õ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Ü¤§¡°¨s°1©u¸°s©{Ó ;¼UÀ1¹XÕ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Ü¤§¡¬u°Q©xÓ 8¸1¸#¸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   € Ü�K‰K˜˜A˜rÓ" 1 RÐ(ˆØ”"—'‘'˜!˜a™%“.¤2§7¡7¨1¨q©5£>Ñ1Ñ2ˆÜ�o‰o˜aÓ ˆÜ˜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Ì;fž æ¿gÌ;fž æ?r   )g«LXèz¶ë¿r   g«LXèz¶ë?rw   )g( 1Ïk�í¿gÅœ¦â}Ø¿gÅœ¦â}Ø?g( 1Ïk�í?r   )r   r†   r   Úchebpts1r   ©r,   r/   s     r   Útest_chebpts1zTestMisc.test_chebpts1O  sŒ   € ä”j¤$§-¡-°Ô5Ü”j¤$§-¡-°Ô3ð ˆcˆÜœDŸM™M¨!Ó,¨cÔ2Ø#Ð%8Ð9ˆÜœDŸM™M¨!Ó,¨cÔ2Ú<ˆÜœDŸM™M¨!Ó,¨cÔ2ÚHˆÜœDŸM™M¨!Ó,¨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      ð¿g¸Kfž æ¿r   g¸Kfž æ?rx   r   )r   r†   r   Úchebpts2r   r)  s     r   Útest_chebpts2zTestMisc.test_chebpts2^  sˆ   € ä”j¤$§-¡-°Ô5Ü”j¤$§-¡-°Ô3ð �1ˆgˆÜœDŸM™M¨!Ó,¨cÔ2ÚˆÜœDŸM™M¨!Ó,¨cÔ2ÚˆÜœDŸM™M¨!Ó,¨cÔ2Ú=ˆÜœDŸM™M¨!Ó,¨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   