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

é    )ÚreduceN)Úpolyval)Úassert_Úassert_almost_equalÚassert_equalÚassert_raisesc                 ó,   • [         R                  " U SS9$ )Ng�íµ ÷Æ°>)Útol)ÚchebÚchebtrim©Úxs    ÚiC:\Users\psant\Downloads\Noiseback\school\venv\Lib\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                   ó    • \ rS rSrS rS rSrg)ÚTestPrivateé#   c                 ó,  • [        S5       H…  n[        R                  " S/S/U-  -   [        R                  5      n[        R                  " S/U-  S/-   S/U-  -   [        R                  5      n[        R
                  " U5      n[        XC5        M‡     g )Nr   r   r   ç      à?)ÚrangeÚnpÚarrayÚdoubler   Ú_cseries_to_zseriesr   ©ÚselfÚiÚinpÚtgtÚress        r   Útest__cseries_to_zseriesÚ$TestPrivate.test__cseries_to_zseries%   ss   € Ü�q–ˆAÜ—(’(˜A˜3 !  q¡™=¬"¯)©)Ó4ˆCÜ—(’(˜B˜4 !™8 q c™>¨R¨D°1©HÑ4´b·i±iÓ@ˆCÜ×*Ò*¨3Ó/ˆCÜ˜Ö"ò	 r   c                 ó,  • [        S5       H…  n[        R                  " S/U-  S/-   S/U-  -   [        R                  5      n[        R                  " S/S/U-  -   [        R                  5      n[        R
                  " U5      n[        XC5        M‡     g )Nr   r&   r   r   )r'   r(   r)   r*   r   Ú_zseries_to_cseriesr   r,   s        r   Útest__zseries_to_cseriesÚ$TestPrivate.test__zseries_to_cseries,   ss   € Ü�q–ˆAÜ—(’(˜B˜4 !™8 q c™>¨R¨D°1©HÑ4´b·i±iÓ@ˆCÜ—(’(˜A˜3 !  q¡™=¬"¯)©)Ó4ˆCÜ×*Ò*¨3Ó/ˆCÜ˜Ö"ò	 r   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r2   r6   Ú__static_attributes__r8   r   r   r#   r#   #   s   † ò#õ#r   r#   c                   ó,   • \ rS rSrS rS rS rS rSrg)ÚTestConstantsé4   c                 ó<   • [        [        R                  SS/5        g )Nr   r   )r   r   Ú
chebdomain©r-   s    r   Útest_chebdomainÚTestConstants.test_chebdomain6   s   € Ü”T—_‘_ r¨1 gÕ.r   c                 ó:   • [        [        R                  S/5        g )Nr   )r   r   ÚchebzerorC   s    r   Útest_chebzeroÚTestConstants.test_chebzero9   s   € Ü”T—]‘] Q CÕ(r   c                 ó:   • [        [        R                  S/5        g ©Nr   )r   r   ÚchebonerC   s    r   Útest_cheboneÚTestConstants.test_chebone<   s   € Ü”T—\‘\ A 3Õ'r   c                 ó<   • [        [        R                  SS/5        g )Nr   r   )r   r   ÚchebxrC   s    r   Ú
test_chebxÚTestConstants.test_chebx?   s   € Ü”T—Z‘Z ! Q Õ(r   r8   N)	r9   r:   r;   r<   rD   rH   rM   rQ   r=   r8   r   r   r?   r?   4   s   † ò/ò)ò(õ)r   r?   c                   ó8   • \ rS rSrS rS rS rS rS rS r	Sr
g	)
ÚTestArithmeticéC   c                 óX  • [        S5       H›  n[        S5       H‰  nSU SU 3n[        R                  " [        X5      S-   5      nXA==   S-  ss'   XB==   S-  ss'   [        R
                  " S/U-  S/-   S/U-  S/-   5      n[        [        U5      [        U5      US9  M‹     M�     g ©Nr   úAt i=ú, j=r   r   ©Úerr_msg)r'   r(   ÚzerosÚmaxr   Úchebaddr   r   ©r-   r.   ÚjÚmsgr0   r1   s         r   Útest_chebaddÚTestArithmetic.test_chebaddE   ó˜   € Ü�q–ˆAÜ˜1–X�Ø˜a˜S  Q CÐ(�Ü—h’hœs 1›y¨1™}Ó-�Ø“˜!‘“Ø“˜!‘“Ü—l’l A 3¨¡7¨a¨S¡=°1°#¸±'¸Q¸C±-Ó@�ÜœT #›Y¬¨S«	¸3Ô?ó ò r   c                 óX  • [        S5       H›  n[        S5       H‰  nSU SU 3n[        R                  " [        X5      S-   5      nXA==   S-  ss'   XB==   S-  ss'   [        R
                  " S/U-  S/-   S/U-  S/-   5      n[        [        U5      [        U5      US9  M‹     M�     g rW   )r'   r(   r\   r]   r   Úchebsubr   r   r_   s         r   Útest_chebsubÚTestArithmetic.test_chebsubO   rd   r   c                 ó$  • [        [        R                  " S/5      S/5        [        [        R                  " S/5      SS/5        [        SS5       H;  nS/U-  S/-   nS/US-
  -  / SQ-   n[        [        R                  " U5      U5        M=     g )Nr   r   r   )r&   r   r&   )r   r   Úchebmulxr'   )r-   r.   Úserr0   s       r   Útest_chebmulxÚTestArithmetic.test_chebmulxY   sz   € Ü”T—]’] A 3Ó'¨!¨Ô-Ü”T—]’] A 3Ó'¨!¨Q¨Ô0Ü�q˜!–ˆAØ�#˜‘'˜Q˜C‘-ˆCØ�#˜˜Q™‘-¢+Ñ-ˆCÜœŸš sÓ+¨SÖ1ò r   c                 óh  • [        S5       H£  n[        S5       H‘  nSU SU 3n[        R                  " X-   S-   5      nXAU-   ==   S-  ss'   U[        X-
  5      ==   S-  ss'   [        R
                  " S/U-  S/-   S/U-  S/-   5      n[        [        U5      [        U5      US9  M“     M¥     g )Nr   rX   rY   r   r&   r   rZ   )r'   r(   r\   Úabsr   Úchebmulr   r   r_   s         r   Útest_chebmulÚTestArithmetic.test_chebmula   s¤   € Ü�q–ˆAÜ˜1–X�Ø˜a˜S  Q CÐ(�Ü—h’h˜q™u q™yÓ)�Ø˜‘E“
˜bÑ “
Ø”C˜™“J“ 2Ñ%“Ü—l’l A 3¨¡7¨a¨S¡=°1°#¸±'¸Q¸C±-Ó@�ÜœT #›Y¬¨S«	¸3Ô?ó ò r   c                 óp  • [        S5       H§  n[        S5       H•  nSU SU 3nS/U-  S/-   nS/U-  S/-   n[        R                  " XE5      n[        R                  " Xd5      u  px[        R                  " [        R                  " Xt5      U5      n	[        [        U	5      [        U5      US9  M—     M©     g )Nr   rX   rY   r   r   rZ   )r'   r   r^   Úchebdivrp   r   r   )
r-   r.   r`   ra   ÚciÚcjr0   ÚquoÚremr1   s
             r   Útest_chebdivÚTestArithmetic.test_chebdivk   s�   € Ü�q–ˆAÜ˜1–X�Ø˜a˜S  Q CÐ(�Ø�S˜1‘W ˜s‘]�Ø�S˜1‘W ˜s‘]�Ü—l’l 2Ó*�ÜŸ<š<¨Ó0‘�Ü—l’l¤4§<¢<°Ó#8¸#Ó>�ÜœT #›Y¬¨S«	¸3Ô?ó ò r   c           	      ó\  • [        S5       H�  n[        S5       H‹  nSU SU 3n[        R                  " US-   5      n[        [        R
                  U/U-  [        R                  " S/5      5      n[        R                  " XB5      n[        [        U5      [        U5      US9  M�     MŸ     g )Nr   rX   rY   r   rZ   )
r'   r(   Úaranger   r   rp   r)   Úchebpowr   r   )r-   r.   r`   ra   Úcr0   r1   s          r   Útest_chebpowÚTestArithmetic.test_chebpowv   s†   € Ü�q–ˆAÜ˜1–X�Ø˜a˜S  Q CÐ(�Ü—I’I˜a !™eÓ$�ÜœTŸ\™\¨A¨3°©7´B·H²H¸a¸S³MÓB�Ü—l’l 1Ó(�ÜœT #›Y¬¨S«	¸3Ô?ó ò r   r8   N)r9   r:   r;   r<   rb   rg   rl   rq   ry   r   r=   r8   r   r   rT   rT   C   s%   † ò@ò@ò2ò@ò	@õ@r   rT   c                   ó  • \ rS rSr\R
                  " / SQ5      r\R                  " S\\5      r\R                  " S\\\5      r	\R                  R                  S5      S-  S-
  r\" \/ SQ5      rS	 rS
 rS rS rS rSrg)ÚTestEvaluationr   )g      @ç       @ç      ø?úi,j->ijú
i,j,k->ijk©é   r   r   r   )ç      ð?rƒ   g      @c                 óÂ  • [        [        R                  " / S/5      R                  S5        [        R
                  " SS5      n[         Vs/ s H  n[        X5      PM     nn[        S5       H5  nSU 3nX4   n[        R                  " US/U-  S/-   5      n[        XvUS9  M7     [        S5       H¥  nS/U-  n[        R                  " U5      n[        [        R                  " US/5      R                  U5        [        [        R                  " USS/5      R                  U5        [        [        R                  " U/ S	Q5      R                  U5        M§     g s  snf )
Nr   r   r   é
   rX   rZ   rˆ   r   )r   r   r   )r   r   ÚchebvalÚsizer(   ÚlinspaceÚTlistr   r'   r   r\   Úshape)	r-   r   r~   Úyr.   ra   r0   r1   Údimss	            r   Útest_chebvalÚTestEvaluation.test_chebvalŠ   s  € ä”T—\’\ " q cÓ*×/Ñ/°Ô3ô �KŠK˜˜AÓˆÝ$)Ó*¢E˜qŒW�QŽ]¡EˆÐ*Ü�r–ˆAØ˜!˜�+ˆCØ‘$ˆCÜ—,’,˜q 1 #¨¡'¨Q¨C¡-Ó0ˆCÜ °#Ô6ñ	 ô �q–ˆAØ�3˜‘7ˆDÜ—’˜“ˆAÜœŸš a¨!¨Ó-×3Ñ3°TÔ:ÜœŸš a¨!¨Q¨Ó0×6Ñ6¸Ô=ÜœŸš aªÓ3×9Ñ9¸4Ö@ò ùò +s   ÁEc                 ó˜  • U R                   u  pnU R                  u  pEn[        [        [        R
                  XS S U R                  5        XE-  n[        R
                  " XU R                  5      n[        X‡5        [        R                  " S5      n	[        R
                  " X™U R                  5      n[        UR                  S:H  5        g ©Nr   ©r   rˆ   )r   r‘   r   Ú
ValueErrorr   Ú	chebval2dÚc2dr   r(   Úonesr   r�   ©
r-   Úx1Úx2Úx3Úy1Úy2Úy3r0   r1   Úzs
             r   Útest_chebval2dÚTestEvaluation.test_chebval2dŸ   s“   € Ø—V‘V‰
ˆ�Ø—V‘V‰
ˆ�ô 	”j¤$§.¡.°"¸¸!°f¸d¿h¹hÔGð ‰gˆÜ�nŠn˜R T§X¡XÓ.ˆÜ˜CÔ%ô �GŠG�F‹OˆÜ�nŠn˜Q 4§8¡8Ó,ˆÜ�—	‘	˜VÑ#Õ$r   c           	      ó   • U R                   u  pnU R                  u  pEn[        [        [        R
                  XUS S U R                  5        XE-  U-  n[        R
                  " XX0R                  5      n[        X‡5        [        R                  " S5      n	[        R
                  " X™X�R                  5      n[        UR                  S:H  5        g r–   )r   r‘   r   r˜   r   Ú	chebval3dÚc3dr   r(   r›   r   r�   rœ   s
             r   Útest_chebval3dÚTestEvaluation.test_chebval3d°   s™   € Ø—V‘V‰
ˆ�Ø—V‘V‰
ˆ�ô 	”j¤$§.¡.°"¸"¸R¸a¸&À$Ç(Á(ÔKð ‰g˜‰lˆÜ�nŠn˜R R¯©Ó2ˆÜ˜CÔ%ô �GŠG�F‹OˆÜ�nŠn˜Q 1§h¡hÓ/ˆÜ�—	‘	˜VÑ#Õ$r   c                 ód  • U R                   u  pnU R                  u  pEn[        R                  " SXE5      n[        R
                  " XU R                  5      n[        X‡5        [        R                  " S5      n	[        R
                  " X™U R                  5      n[        UR                  S:H  5        g )Nr…   r—   )r   rˆ   r   rˆ   )r   r‘   r(   Úeinsumr   Ú
chebgrid2drš   r   r›   r   r�   rœ   s
             r   Útest_chebgrid2dÚTestEvaluation.test_chebgrid2dÁ   s~   € Ø—V‘V‰
ˆ�Ø—V‘V‰
ˆ�ô �iŠi˜	 2Ó*ˆÜ�oŠo˜b d§h¡hÓ/ˆÜ˜CÔ%ô �GŠG�F‹OˆÜ�oŠo˜a D§H¡HÓ-ˆÜ�—	‘	˜ZÑ'Õ(r   c                 óf  • U R                   u  pnU R                  u  pEn[        R                  " SXEU5      n[        R
                  " XX0R                  5      n[        X‡5        [        R                  " S5      n	[        R
                  " X™X�R                  5      n[        UR                  S:H  5        g )Nr†   r—   )r   rˆ   r   rˆ   r   rˆ   )r   r‘   r(   r¬   r   Ú
chebgrid3dr¨   r   r›   r   r�   rœ   s
             r   Útest_chebgrid3dÚTestEvaluation.test_chebgrid3dÏ   s€   € Ø—V‘V‰
ˆ�Ø—V‘V‰
ˆ�ô �iŠi˜ b¨bÓ1ˆÜ�oŠo˜b b¯(©(Ó3ˆÜ˜CÔ%ô �GŠG�F‹OˆÜ�oŠo˜a A§x¡xÓ0ˆÜ�—	‘	˜ZÑ'Õ(r   r8   N)r9   r:   r;   r<   r(   r)   Úc1dr¬   rš   r¨   Úrandomr   r   r‘   r“   r¤   r©   r®   r²   r=   r8   r   r   r‚   r‚   €   s|   † à
�(Š(’>Ó
"€CØ
�)Š)�I˜s CÓ
(€CØ
�)Š)�L # s¨CÓ
0€Cð 	�	‰	×Ñ˜Ó  1Ñ$ qÑ(€AÙ�’<Ó €AòAò*%ò"%ò")õ)r   r‚   c                   ó    • \ rS rSrS rS rSrg)ÚTestIntegraléÞ   c                 ó2
  • [        [        [        R                  S/S5        [        [        [        R                  S/S5        [        [        [        R                  S/SSS/5        [        [        [        R                  S/S/S9  [        [        [        R                  S/S/S9  [        [        [        R                  S/SS9  [        SS	5       H4  nS/US-
  -  S/-   n[        R                  " S/XS
9n[        USS/5        M6     [        S	5       H„  nUS-   nS/U-  S/-   nU/S/U-  -   SU-  /-   n[        R                  " U5      n[        R                  " USU/S
9n[        R                  " U5      n[        [        U5      [        U5      5        M†     [        S	5       Ha  nUS-   nS/U-  S/-   n[        R                  " U5      n[        R                  " USU/SS9n[        [        R                  " SU5      U5        Mc     [        S	5       H…  nUS-   nS/U-  S/-   nU/S/U-  -   SU-  /-   n[        R                  " U5      n[        R                  " USU/SS9n[        R                  " U5      n[        [        U5      [        U5      5        M‡     [        S	5       H~  n[        SS	5       Hk  n	S/U-  S/-   nUS S  n[        U	5       H  n[        R                  " USS9nM     [        R                  " XYS9n[        [        U5      [        U5      5        Mm     M€     [        S	5       H“  n[        SS	5       H€  n	S/U-  S/-   nUS S  n[        U	5       H  n[        R                  " USU/S
9nM     [        R                  " XY[        [        U	5      5      S
9n[        [        U5      [        U5      5        M‚     M•     [        S	5       H•  n[        SS	5       H‚  n	S/U-  S/-   nUS S  n[        U	5       H  n[        R                  " USU/SS9nM     [        R                  " XY[        [        U	5      5      SS9n[        [        U5      [        U5      5        M„     M—     [        S	5       H•  n[        SS	5       H‚  n	S/U-  S/-   nUS S  n[        U	5       H  n[        R                  " USU/SS9nM     [        R                  " XY[        [        U	5      5      SS9n[        [        U5      [        U5      5        M„     M—     g )Nr   r&   r   r   )Úlbnd)Úscl©Úaxisr   r   )ÚmÚk)r¾   r¿   rº   )r¾   r¿   r»   ©r¾   )r   Ú	TypeErrorr   Úchebintr˜   r'   r   Ú	poly2chebÚ	cheb2polyr   rŒ   Úlist)
r-   r.   r¿   r1   r»   Úpolr0   ÚchebpolrÂ   r`   s
             r   Útest_chebintÚTestIntegral.test_chebintà   sS  € ä”i¤§¡°¨s°BÔ7Ü”j¤$§,¡,°°°RÔ8Ü”j¤$§,¡,°°°Q¸¸A¸Ô?Ü”j¤$§,¡,°°¸1¸#Ò>Ü”j¤$§,¡,°°¸!¸Ò=Ü”i¤§¡°¨s¸Ò<ô �q˜!–ˆAØ��q˜1‘u‘  Ñ#ˆAÜ—,’, ˜s aÑ-ˆCÜ  a¨ VÖ,ñ ô �q–ˆAØ�a‘%ˆCØ�#˜‘'˜Q˜C‘-ˆCØ�#˜˜˜a™‘- 1 s¡7 )Ñ+ˆCÜ—n’n SÓ)ˆGÜ—l’l 7¨a°A°3Ñ7ˆGÜ—.’. Ó)ˆCÜ¤ S£	¬4°«9Ö5ñ ô �q–ˆAØ�a‘%ˆCØ�#˜‘'˜Q˜C‘-ˆCÜ—n’n SÓ)ˆGÜ—l’l 7¨a°A°3¸RÑ@ˆGÜ¤§¢¨R°Ó 9¸1Ö=ñ ô �q–ˆAØ�a‘%ˆCØ�#˜‘'˜Q˜C‘-ˆCØ�#˜˜˜a™‘- 1 s¡7 )Ñ+ˆCÜ—n’n SÓ)ˆGÜ—l’l 7¨a°A°3¸AÑ>ˆGÜ—.’. Ó)ˆCÜ¤ S£	¬4°«9Ö5ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜qž�AÜŸ,š, s¨aÑ0’Cñ "ä—l’l 3Ñ,�Ü#¤D¨£I¬t°C«yÖ9ó !ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜qž�AÜŸ,š, s¨a°A°3Ñ7’Cñ "ä—l’l 3¬t´E¸!³H«~Ñ>�Ü#¤D¨£I¬t°C«yÖ9ó !ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜qž�AÜŸ,š, s¨a°A°3¸RÑ@’Cñ "ä—l’l 3¬t´E¸!³H«~ÀBÑG�Ü#¤D¨£I¬t°C«yÖ9ó !ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ø™!�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           
      óª  • [         R                  R                  S5      n[         R                  " UR                   Vs/ s H  n[        R
                  " U5      PM     sn5      R                  n[        R
                  " USS9n[        XC5        [         R                  " U Vs/ s H  n[        R
                  " U5      PM     sn5      n[        R
                  " USS9n[        XC5        [         R                  " U Vs/ s H  n[        R
                  " USS9PM     sn5      n[        R
                  " USSS9n[        XC5        g s  snf s  snf s  snf )N©rˆ   r   r   r¼   r   rˆ   )r¿   )r¿   r½   )r(   rµ   ÚvstackÚTr   rÂ   r   ©r-   rš   r~   r0   r1   s        r   Útest_chebint_axisÚTestIntegral.test_chebint_axis3  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Ó;²s°!œŸš a¨1Ô-±sÑ;Ó<ˆÜ�lŠl˜3 !¨!Ñ,ˆÜ˜CÕ%ùò 9ùò 7ùò <s   ¾ EÂ# EÃ>Er8   N)r9   r:   r;   r<   rÈ   rÏ   r=   r8   r   r   r·   r·   Þ   s   † òQ:õf&r   r·   c                   ó    • \ rS rSrS rS rSrg)ÚTestDerivativeiD  c           
      óú  • [        [        [        R                  S/S5        [        [        [        R                  S/S5        [        S5       H@  nS/U-  S/-   n[        R                  " USS9n[        [        U5      [        U5      5        MB     [        S5       He  n[        SS5       HR  nS/U-  S/-   n[        R                  " [        R                  " X$S9US9n[        [        U5      [        U5      5        MT     Mg     [        S5       Hg  n[        SS5       HT  nS/U-  S/-   n[        R                  " [        R                  " X$SS9USS9n[        [        U5      [        U5      5        MV     Mi     g )	Nr   r&   r   r   r   rÀ   r   )r¾   r»   )
r   rÁ   r   Úchebderr˜   r'   r   r   rÂ   r   )r-   r.   r0   r1   r`   s        r   Útest_chebderÚTestDerivative.test_chebderF  s)  € ä”i¤§¡°¨s°BÔ7Ü”j¤$§,¡,°°°RÔ8ô �q–ˆAØ�#˜‘'˜Q˜C‘-ˆCÜ—,’,˜s aÑ(ˆCÜœ˜c›¤D¨£IÖ.ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ü—l’l¤4§<¢<°Ñ#9¸QÑ?�Ü#¤D¨£I¬t°C«yÖ9ó !ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ü—l’l¤4§<¢<°¸aÑ#@ÀAÈ2ÑN�Ü#¤D¨£I¬t°C«yÖ9ó !ò r   c                 óê  • [         R                  R                  S5      n[         R                  " UR                   Vs/ s H  n[        R
                  " U5      PM     sn5      R                  n[        R
                  " USS9n[        XC5        [         R                  " U Vs/ s H  n[        R
                  " U5      PM     sn5      n[        R
                  " USS9n[        XC5        g s  snf s  snf )NrË   r   r¼   r   )r(   rµ   rÌ   rÍ   r   rÔ   r   rÎ   s        r   Útest_chebder_axisÚ TestDerivative.test_chebder_axis_  s¤   € ä�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+Â# C0r8   N)r9   r:   r;   r<   rÕ   rØ   r=   r8   r   r   rÒ   rÒ   D  s   † ò:õ2
&r   rÒ   c                   óh   • \ rS rSr\R
                  R                  S5      S-  S-
  rS rS rS r	Sr
g	)
Ú
TestVanderil  r‡   r   r   c                 ó.  • [         R                  " S5      n[        R                  " US5      n[	        UR
                  S:H  5        [        S5       H2  nS/U-  S/-   n[        USU4   [        R                  " X5      5        M4     [         R                  " SS/SS/SS	//5      n[        R                  " US5      n[	        UR
                  S
:H  5        [        S5       H2  nS/U-  S/-   n[        USU4   [        R                  " X5      5        M4     g )Nrˆ   rË   r   r   r   .r   r   é   )rˆ   r   r   )
r(   r|   r   Ú
chebvanderr   r�   r'   r   rŒ   r)   )r-   r   Úvr.   Úcoefs        r   Útest_chebvanderÚTestVander.test_chebvanderp  sè   € ä�IŠI�a‹LˆÜ�OŠO˜A˜qÓ!ˆÜ�—‘˜6Ñ!Ô"Ü�q–ˆAØ�3˜‘7˜a˜S‘=ˆDÜ  # q &¡	¬4¯<ª<¸Ó+@ÖAñ ô
 �HŠH�q˜!�f˜q !˜f q¨! fÐ-Ó.ˆÜ�OŠO˜A˜qÓ!ˆÜ�—‘˜9Ñ$Ô%Ü�q–ˆAØ�3˜‘7˜a˜S‘=ˆDÜ  # q &¡	¬4¯<ª<¸Ó+@ÖAò r   c                 ó~  • U R                   u  pn[        R                  R                  S5      n[        R                  " XSS/5      n[        R
                  " XU5      n[        R                  " XTR                  5      n[        Xv5        [        R                  " U/U/SS/5      n[        UR                  S:H  5        g )Nr—   r   r   )r   r   rÝ   )r   r(   rµ   r   Úchebvander2dr™   ÚdotÚflatr   r   r�   ©r-   r�   rž   rŸ   r~   Úvanr0   r1   s           r   Útest_chebvander2dÚTestVander.test_chebvander2d�  s’   € à—V‘V‰
ˆ�Ü�I‰I×Ñ˜VÓ$ˆÜ×Ò ¨¨A¨Ó/ˆÜ�nŠn˜R QÓ'ˆÜ�fŠf�SŸ&™&Ó!ˆÜ˜CÔ%ô ×Ò   r d¨Q°¨FÓ3ˆÜ�—	‘	˜YÑ&Õ'r   c                 ó„  • U R                   u  pn[        R                  R                  S5      n[        R                  " XU/ SQ5      n[        R
                  " XX45      n[        R                  " XTR                  5      n[        Xv5        [        R                  " U/U/U// SQ5      n[        UR                  S:H  5        g )N)r   rˆ   r   )r   r   rˆ   )r   r   é   )r   r(   rµ   r   Úchebvander3dr§   rå   ræ   r   r   r�   rç   s           r   Útest_chebvander3dÚTestVander.test_chebvander3dŽ  s�   € à—V‘V‰
ˆ�Ü�I‰I×Ñ˜YÓ'ˆÜ×Ò ¨ªIÓ6ˆÜ�nŠn˜R RÓ+ˆÜ�fŠf�SŸ&™&Ó!ˆÜ˜CÔ%ô ×Ò   r d¨R¨D²)Ó<ˆÜ�—	‘	˜ZÑ'Õ(r   r8   N)r9   r:   r;   r<   r(   rµ   r   rá   ré   rî   r=   r8   r   r   rÛ   rÛ   l  s0   † à
�	‰	×Ñ˜Ó  1Ñ$ qÑ(€AòBò"(õ)r   rÛ   c                   ó   • \ rS rSrS rSrg)ÚTestFittingiœ  c           	      ó:  • S nS n[        [        [        R                  S/S/S5        [        [        [        R                  S//S/S5        [        [        [        R                  / S/S5        [        [        [        R                  S/S///S5        [        [        [        R                  SS/S/S5        [        [        [        R                  S/SS/S5        [        [        [        R                  S/S/SS//S9  [        [        [        R                  S/S/SSS/S9  [        [        [        R                  S/S/S/5        [        [        [        R                  S/S// SQ5        [        [        [        R                  S/S// 5        [
        R                  " SS5      nU" U5      n[        R                  " X4S	5      n[        [        U5      S
5        [        [        R                  " X55      U5        [        R                  " X4/ SQ5      n[        [        U5      S
5        [        [        R                  " X55      U5        [        R                  " X4S
5      n[        [        U5      S5        [        [        R                  " X65      U5        [        R                  " X4/ SQ5      n[        [        U5      S5        [        [        R                  " X65      U5        [        R                  " X4/ SQ5      n[        [        U5      S5        [        [        R                  " X65      U5        [        R                  " U[
        R                  " XD/5      R                  S	5      n[        U[
        R                  " XU/5      R                  5        [        R                  " U[
        R                  " XD/5      R                  / SQ5      n[        U[
        R                  " XU/5      R                  5        [
        R                  " U5      nUR                  5       n	SUSS S2'   SUSS S2'   [        R                  " X9S	US9n
[        X¥5        [        R                  " X9/ SQUS9n
[        X¥5        [        R                  " U[
        R                  " X™/5      R                  S	US9n[        U[
        R                  " XU/5      R                  5        [        R                  " U[
        R                  " X™/5      R                  / SQUS9n[        U[
        R                  " XU/5      R                  5        / SQn[        [        R                  " X3S5      SS/5        [        [        R                  " X3SS/5      SS/5        [
        R                  " SS5      nU" U5      n[        R                  " X4S
5      n[        [        R                  " X<5      U5        [        R                  " X4/ SQ5      n[        [        R                  " X=5      U5        [        XÍ5        g )Nc                 ó   • X S-
  -  U S-
  -  $ ©Nr   r   r8   r   s    r   ÚfÚ#TestFitting.test_chebfit.<locals>.fŸ  s   € Ø˜A™‘; ! a¡%Ñ(Ð(r   c                 ó   • U S-  U S-  -   S-   $ )Nr   r   r   r8   r   s    r   Úf2Ú$TestFitting.test_chebfit.<locals>.f2¢  s   € Ø�a‘4˜!˜Q™$‘; ‘?Ð"r   r   r   r   r   )Úw)r   r   rÝ   rˆ   r   )r   r   r   rˆ   r   )r   r   r   rˆ   r   )r   rˆ   r   r   r   )r   y              ð?r   y       €      ð¿)r   r   r   )r   r˜   r   ÚchebfitrÁ   r(   rŽ   r   Úlenr   rŒ   r)   rÍ   Ú
zeros_likeÚcopy)r-   rõ   rø   r   r‘   Úcoef3Úcoef4Úcoef2drú   ÚywÚwcoef3Úwcoef2dÚcoef1Úcoef2s                 r   Útest_chebfitÚTestFitting.test_chebfitž  sG  € ò	)ò	#ô 	”j¤$§,¡,°°°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¨Ó2°AÔ6Ü—’˜Q¢<Ó0ˆÜ”S˜“Z Ô#ÜœDŸLšL¨Ó2°AÔ6ä—’˜Q 1Ó%ˆÜ”S˜“Z Ô#ÜœDŸLšL¨Ó2°AÔ6Ü—’˜Q¢?Ó3ˆÜ”S˜“Z Ô#ÜœDŸLšL¨Ó2°AÔ6ä—’˜Q¢?Ó3ˆÜ”S˜“Z Ô#ÜœDŸLšL¨Ó2°AÔ6ä—’˜a¤§¢¨1¨&Ó!1×!3Ñ!3°QÓ7ˆÜ˜F¤B§H¢H¨e¨^Ó$<×$>Ñ$>Ô?Ü—’˜a¤§¢¨1¨&Ó!1×!3Ñ!3²\ÓBˆÜ˜F¤B§H¢H¨e¨^Ó$<×$>Ñ$>Ô?ä�MŠM˜!ÓˆØ�V‰V‹XˆØˆˆ!ˆ$ˆQˆ$‰Øˆˆ!ˆ$ˆQˆ$‰Ü—’˜a Q¨!Ñ,ˆÜ˜FÔ*Ü—’˜a¢\°QÑ7ˆÜ˜FÔ*ä—,’,˜q¤"§(¢(¨B¨8Ó"4×"6Ñ"6¸¸QÑ?ˆÜ˜G¤R§X¢X¨u¨nÓ%=×%?Ñ%?Ô@Ü—,’,˜q¤"§(¢(¨B¨8Ó"4×"6Ñ"6ºÈÑJˆÜ˜G¤R§X¢X¨u¨nÓ%=×%?Ñ%?Ô@ò ˆÜœDŸLšL¨¨qÓ1°A°q°6Ô:ÜœDŸLšL¨°°1¨vÓ6¸¸A¸Ô?ä�KŠK˜˜AÓˆÙˆq‹EˆÜ—’˜Q 1Ó%ˆÜœDŸLšL¨Ó2°AÔ6Ü—’˜Q¢9Ó-ˆÜœDŸLšL¨Ó2°AÔ6Ü˜EÕ)r   r8   N)r9   r:   r;   r<   r  r=   r8   r   r   rñ   rñ   œ  s   † õH*r   rñ   c                   ó,   • \ rS rSrS rS rS rS rSrg)ÚTestInterpolateié  c                 ó   • XS-
  -  US-
  -  $ rô   r8   )r-   r   s     r   rõ   ÚTestInterpolate.fë  s   € Ø˜‘E‰{˜a !™eÑ$Ð$r   c                 ó¬   • [        [        [        R                  U R                  S5        [        [
        [        R                  U R                  S5        g )Nr   g      $@)r   r˜   r   Úchebinterpolaterõ   rÁ   rC   s    r   Útest_raisesÚTestInterpolate.test_raisesî  s2   € Ü”j¤$×"6Ñ"6¸¿¹ÀÔCÜ”i¤×!5Ñ!5°t·v±v¸sÕCr   c                 ó    • [        SS5       H>  n[        [        R                  " U R                  U5      R
                  US-   4:H  5        M@     g )Nr   r   )r'   r   r   r  rõ   r�   )r-   Údegs     r   Útest_dimensionsÚTestInterpolate.test_dimensionsò  s<   € Ü˜˜A–;ˆCÜ”D×(Ò(¨¯©°Ó5×;Ñ;ÀÀaÁ¸zÑIÖJò r   c           	      ó  • S n[         R                  " SSS5      n[        S5       HU  n[        US-   5       H@  n[        R                  " XU45      n[        [        R                  " X%5      U" X$5      SS9  MB     MW     g )Nc                 ó
   • X-  $ )Nr8   )r   Úps     r   ÚpowxÚ0TestInterpolate.test_approximation.<locals>.powxø  s	   € Ø‘4ˆKr   r   r   r‹   é   )Údecimal)r(   rŽ   r'   r   r  r   rŒ   )r-   r  r   r  r  r~   s         r   Útest_approximationÚ"TestInterpolate.test_approximationö  sh   € ò	ô �KŠK˜˜A˜rÓ"ˆÜ˜–9ˆCÜ˜3 ™7–^�Ü×(Ò(¨°Q°DÓ9�Ü#¤D§L¢L°Ó$6¹¸Q»
ÈBÔOó $ò r   r8   N)	r9   r:   r;   r<   rõ   r  r  r  r=   r8   r   r   r
  r
  é  s   † ò%òDòKõ	Pr   r
  c                   ó&   • \ rS rSrS rS rS rSrg)ÚTestCompanioni  c                 ó‚   • [        [        [        R                  / 5        [        [        [        R                  S/5        g rK   )r   r˜   r   ÚchebcompanionrC   s    r   r  ÚTestCompanion.test_raises  s(   € Ü”j¤$×"4Ñ"4°bÔ9Ü”j¤$×"4Ñ"4°q°cÕ:r   c                 ó˜   • [        SS5       H:  nS/U-  S/-   n[        [        R                  " U5      R                  X4:H  5        M<     g )Nr   r   r   )r'   r   r   r!  r�   )r-   r.   rà   s      r   r  ÚTestCompanion.test_dimensions  sC   € Ü�q˜!–ˆAØ�3˜‘7˜a˜S‘=ˆDÜ”D×&Ò& tÓ,×2Ñ2°q°fÑ<Ö=ò r   c                 óR   • [        [        R                  " SS/5      S   S:H  5        g )Nr   r   )r   r   ç      à¿)r   r   r!  rC   s    r   Útest_linear_rootÚTestCompanion.test_linear_root  s#   € Ü”×"Ò" A q 6Ó*¨4Ñ0°CÑ7Õ8r   r8   N)r9   r:   r;   r<   r  r  r'  r=   r8   r   r   r  r    s   † ò;ò>õ
9r   r  c                   ó   • \ rS rSrS rSrg)Ú	TestGaussi  c                 óª  • [         R                  " S5      u  p[         R                  " US5      n[        R                  " UR
                  U-  U5      nS[        R                  " UR                  5       5      -  nUS S 2S 4   U-  U-  n[        U[        R                  " S5      5        [        R                  n[        UR                  5       U5        g )Néd   éc   r   )r   Ú	chebgaussrÞ   r(   rå   rÍ   ÚsqrtÚdiagonalr   ÚeyeÚpiÚsum)r-   r   rú   rß   ÚvvÚvdr0   s          r   Útest_100ÚTestGauss.test_100  s™   € Ü�~Š~˜cÓ"‰ˆô
 �OŠO˜A˜rÓ"ˆÜ�VŠV�A—C‘C˜!‘G˜QÓˆØ”—’˜Ÿ™›Ó'Ñ'ˆØ’�4�‰[˜2Ñ Ñ"ˆÜ˜B¤§¢ s£Ô,ô �e‰eˆÜ˜AŸE™E›G SÕ)r   r8   N)r9   r:   r;   r<   r6  r=   r8   r   r   r*  r*    s   † õ*r   r*  c                   óJ   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rSrg)ÚTestMisci$  c           	      óž  • [         R                  " / 5      n[        [        U5      S/5        [	        SS5       H‘  n[
        R                  " [
        R                  " [
        R                  * SSU-  S-   5      SS S2   5      nS/U-  S/-   n[         R                  " U5      SUS-
  -  -  n[        [        U5      [        U5      5        M“     g )Nr   r   r   r   )	r   Úchebfromrootsr   r   r'   r(   ÚcosrŽ   r2  )r-   r1   r.   Úrootsr0   s        r   Útest_chebfromrootsÚTestMisc.test_chebfromroots&  s¦   € Ü× Ò  Ó$ˆÜœD ›I¨ sÔ+Ü�q˜!–ˆAÜ—F’Fœ2Ÿ;š;¬¯© v¨q°!°a±%¸!±)Ó<¸Q¸TÀ¸TÑBÓCˆEØ�#˜‘'˜Q˜C‘-ˆCÜ×$Ò$ UÓ+¨a°!°a±%©jÑ8ˆCÜ¤ S£	¬4°«9Ö5ò	 r   c                 ór  • [        [        R                  " S/5      / 5        [        [        R                  " SS/5      S/5        [        SS5       Hc  n[        R
                  " SSU5      n[        R                  " [        R                  " U5      5      n[        [        U5      [        U5      5        Me     g )Nr   r   r&  r   r   )r   r   Ú	chebrootsr'   r(   rŽ   r;  r   )r-   r.   r0   r1   s       r   Útest_chebrootsÚTestMisc.test_chebroots/  s}   € ÜœDŸNšN¨A¨3Ó/°Ô4ÜœDŸNšN¨A¨q¨6Ó2°S°EÔ:Ü�q˜!–ˆAÜ—+’+˜b ! QÓ'ˆCÜ—.’.¤×!3Ò!3°CÓ!8Ó9ˆCÜ¤ S£	¬4°«9Ö5ò r   c                 ó  • / SQn[        [        [        R                  US5        [	        [        R                  " U5      US S 5        [	        [        R                  " US5      US S 5        [	        [        R                  " US5      S/5        g )N)r   r   r   r   r   r   r   r   r   )r   r˜   r   r   r   )r-   rà   s     r   Útest_chebtrimÚTestMisc.test_chebtrim7  sh   € Úˆô 	”j¤$§-¡-°°rÔ:ô 	”T—]’] 4Ó(¨$¨s°¨)Ô4Ü”T—]’] 4¨Ó+¨T°#°2¨YÔ7Ü”T—]’] 4¨Ó+¨a¨SÕ1r   c                 óJ   • [        [        R                  " SS5      SS/5        g )Nrˆ   r   )r   r   ÚcheblinerC   s    r   Útest_cheblineÚTestMisc.test_cheblineB  s   € Ü”T—]’] 1 aÓ(¨1¨a¨&Õ1r   c                 ó†   • [        S5       H2  n[        [        R                  " S/U-  S/-   5      [        U   5        M4     g ©Nr‹   r   r   )r'   r   r   rÄ   r�   ©r-   r.   s     r   Útest_cheb2polyÚTestMisc.test_cheb2polyE  s3   € Ü�r–ˆAÜ¤§¢°¨s°Q©w¸!¸©}Ó =¼uÀQ¹xÖHò r   c                 ó†   • [        S5       H2  n[        [        R                  " [        U   5      S/U-  S/-   5        M4     g rL  )r'   r   r   rÃ   r�   rM  s     r   Útest_poly2chebÚTestMisc.test_poly2chebI  s3   € Ü�r–ˆAÜ¤§¢¬u°Q©xÓ 8¸1¸#À¹'ÀQÀC¹-ÖHò r   c                 óè   • [         R                  " SSS5      SS nS[         R                  " SU-   5      [         R                  " SU-
  5      -  -  n[        R                  " U5      n[        X25        g )Nr   r   é   r‰   )r(   rŽ   r/  r   Ú
chebweightr   )r-   r   r0   r1   s       r   Útest_weightÚTestMisc.test_weightM  sX   € Ü�KŠK˜˜A˜rÓ" 1 RÐ(ˆØ”B—G’G˜A ™E“N¤R§W¢W¨Q°©U£^Ñ3Ñ4ˆÜ�oŠo˜aÓ ˆÜ˜CÕ%r   c                 óž  • [        [        [        R                  S5        [        [        [        R                  S5        S/n[	        [        R                  " S5      U5        SS/n[	        [        R                  " S5      U5        / SQn[	        [        R                  " S5      U5        / S	Qn[	        [        R                  " S
5      U5        g )Nr„   r   r   gÌ;fž æ¿gÌ;fž æ?r   )g«LXèz¶ë¿r   g«LXèz¶ë?rˆ   )g( 1Ïk�í¿gÅœ¦â}Ø¿gÅœ¦â}Ø?g( 1Ïk�í?r   )r   r˜   r   Úchebpts1r   ©r-   r0   s     r   Útest_chebpts1ÚTestMisc.test_chebpts1S  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                 ó   • [        [        [        R                  S5        [        [        [        R                  S5        SS/n[	        [        R                  " S5      U5        / SQn[	        [        R                  " S5      U5        / SQn[	        [        R                  " S5      U5        / S	Qn[	        [        R                  " S
5      U5        g )Nr„   r   r   r   )r   r   r   rˆ   )r   r&  r&   r   r   )g      ð¿g¸Kfž æ¿r   g¸Kfž æ?r‰   r   )r   r˜   r   Úchebpts2r   rZ  s     r   Útest_chebpts2ÚTestMisc.test_chebpts2b  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   r8   N)r9   r:   r;   r<   r>  rB  rE  rI  rN  rQ  rV  r[  r_  r=   r8   r   r   r9  r9  $  s1   † ò6ò6ò	2ò2òIòIò&ò3õ3r   r9  )(Ú__doc__Ú	functoolsr   Únumpyr(   Únumpy.polynomial.chebyshevÚ
polynomialÚ	chebyshevr   Únumpy.polynomial.polynomialr   Únumpy.testingr   r   r   r   r   ÚT0ÚT1ÚT2ÚT3ÚT4ÚT5ÚT6ÚT7ÚT8ÚT9r�   r#   r?   rT   r‚   r·   rÒ   rÛ   rñ   r
  r  r*  r9  r8   r   r   Ú<module>rs     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   