Ë
    ¡ehðH  ã            
       óö  — 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  ej                   dg«      Z ej                   ddg«      Z ej                   g d¢«      dz  Z ej                   g d	¢«      dz  Z ej                   g d
¢«      dz  Z ej                   g d¢«      dz  Z ej                   g d¢«      dz  Z ej                   g d¢«      dz  Z ej                   g d¢«      dz  Z ej                   g d¢«      dz  Zeeeeeeeeeeg
Z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 legendre module.

é    )ÚreduceN)Úpolyval)Úassert_almost_equalÚassert_raisesÚassert_equalÚassert_é   )éÿÿÿÿr   é   é   )r   éýÿÿÿr   é   )r   r   iâÿÿÿr   é#   é   )r   é   r   iºÿÿÿr   é?   )éûÿÿÿr   éi   r   iÅþÿÿr   éç   é   )r   iÝÿÿÿr   é;  r   iKýÿÿr   i­  )	r   r   iûÿÿr   i  r   iÑÿÿr   i#  é€   )
r   r   r   iôíÿÿr   ibF  r   it›ÿÿr   i{/  c                 ó0   — t        j                  | d¬«      S )Ng�íµ ÷Æ°>)Útol)ÚlegÚlegtrim©Úxs    úb/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/numpy/polynomial/tests/test_legendre.pyÚtrimr       s   € Ü�;‰;�q˜dÔ#Ð#ó    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   Ú	legdomain©Úselfs    r   Útest_legdomainzTestConstants.test_legdomain!   s   € Ü”S—]‘] R¨ GÕ,r!   c                 ó:   — t        t        j                  dg«       y )Nr   )r   r   Úlegzeror&   s    r   Útest_legzerozTestConstants.test_legzero$   s   € Ü”S—[‘[ 1 #Õ&r!   c                 ó:   — t        t        j                  dg«       y ©Nr	   )r   r   Úlegoner&   s    r   Útest_legonezTestConstants.test_legone'   s   € Ü”S—Z‘Z ! Õ%r!   c                 ó<   — t        t        j                  ddg«       y )Nr   r	   )r   r   Úlegxr&   s    r   Ú	test_legxzTestConstants.test_legx*   s   € Ü”S—X‘X  1˜vÕ&r!   N)Ú__name__Ú
__module__Ú__qualname__r(   r+   r/   r2   © r!   r   r#   r#      s   „ ò-ò'ò&ó'r!   r#   c                   óX   — e Zd Z ej                  ddd«      Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zy
)ÚTestArithmeticr
   r	   éd   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 ©Nr   úAt i=ú, j=r	   r   ©Úerr_msg)ÚrangeÚnpÚzerosÚmaxr   Úlegaddr   r    ©r'   ÚiÚjÚmsgÚtgtÚress         r   Útest_legaddzTestArithmetic.test_legadd1   ó¬   € Ü�q“ò 	@ˆAÜ˜1“Xò @�Ø˜a˜S  Q CÐ(�Ü—h‘hœs 1 a›y¨1™}Ó-�Ø�A“˜!‘“Ø�A“˜!‘“Ü—j‘j !  Q¡¨!¨¡¨q¨c°!©e°q°c©kÓ:�Üœ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 r;   )r@   rA   rB   rC   r   Úlegsubr   r    rE   s         r   Útest_legsubzTestArithmetic.test_legsub;   rL   r!   c                 ó>  — t        t        j                  dg«      dg«       t        t        j                  dg«      ddg«       t        dd«      D ]K  }d|z  dz   }dg|z  dgz   }dg|dz
  z  ||z  d|dz   |z  gz   }t        t        j                  |«      |«       ŒM y )Nr   r	   r   r   )r   r   Úlegmulxr@   )r'   rF   ÚtmpÚserrI   s        r   Útest_legmulxzTestArithmetic.test_legmulxE   sŸ   € Ü”S—[‘[ ! Ó%¨ sÔ+Ü”S—[‘[ ! Ó%¨¨1 vÔ.Ü�q˜!“ò 	0ˆAØ�A‘#˜‘'ˆCØ�#�a‘%˜1˜#‘+ˆCØ�#�q˜1‘u‘+  3¡¨¨A°©E°3©;Ð 7Ñ7ˆCÜœŸ™ SÓ)¨3Õ/ñ		0r!   c                 óÆ  — t        d«      D ]Ó  }dg|z  dgz   }t        j                  | j                  |«      }t        d«      D ]™  }d|› d|› �}dg|z  dgz   }t        j                  | j                  |«      }t        j                  ||«      }t        j                  | j                  |«      }	t        t        |«      ||z   dz   k(  |«       t        |	||z  |¬«       Œ› ŒÕ y )Nr   r   r	   r<   r=   r>   )r@   r   Úlegvalr   Úlegmulr   Úlenr   )
r'   rF   Úpol1Úval1rG   rH   Úpol2Úval2Úpol3Úval3s
             r   Útest_legmulzTestArithmetic.test_legmulN   s×   € ä�q“ò 
	BˆAØ�3�q‘5˜A˜3‘;ˆDÜ—:‘:˜dŸf™f dÓ+ˆDÜ˜1“Xò B�Ø˜a˜S  Q CÐ(�Ø�s˜1‘u ˜s‘{�Ü—z‘z $§&¡&¨$Ó/�Ü—z‘z $¨Ó-�Ü—z‘z $§&¡&¨$Ó/�Üœ˜D›	 Q¨¡U¨Q¡YÑ.°Ô4Ü# D¨$¨t©)¸SÖAñBñ
	B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   r<   r=   r   r	   r>   )r@   r   rD   ÚlegdivrW   r   r    )
r'   rF   rG   rH   ÚciÚcjrI   ÚquoÚremrJ   s
             r   Útest_legdivzTestArithmetic.test_legdiv\   s³   € Ü�q“ò 	@ˆAÜ˜1“Xò @�Ø˜a˜S  Q CÐ(�Ø�S˜‘U˜a˜S‘[�Ø�S˜‘U˜a˜S‘[�Ü—j‘j  RÓ(�ÜŸ:™: c¨2Ó.‘��SÜ—j‘j¤§¡¨C°Ó!4°cÓ:�Üœ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   r<   r=   r	   r>   )
r@   rA   Úaranger   r   rW   ÚarrayÚlegpowr   r    )r'   rF   rG   rH   ÚcrI   rJ   s          r   Útest_legpowzTestArithmetic.test_legpowg   s–   € Ü�q“ò 	@ˆAÜ˜1“Xò @�Ø˜a˜S  Q CÐ(�Ü—I‘I˜a !™eÓ$�ÜœSŸZ™Z¨!¨¨Q©´·±¸!¸³Ó>�Ü—j‘j  AÓ&�ÜœT #›Y¬¨S«	¸3Ö?ñ@ñ	@r!   N)r3   r4   r5   rA   Úlinspacer   rK   rO   rT   r_   rf   rl   r6   r!   r   r8   r8   .   s9   „ Øˆ�‰�B˜˜3Ó€Aò@ò@ò0òBò	@ó@r!   r8   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)ç       @rp   rp   úi,j->ijú
i,j,k->ijk©r   r   r   r	   )ç      ð?rp   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
   é
   r<   r>   r   r   )r	   r   r   )r   r   rV   ÚsizerA   rm   ÚLlistr   r@   r   rB   Úshape)	r'   r   rk   ÚyrF   rH   rI   rJ   Údimss	            r   Útest_legvalzTestEvaluation.test_legval{   s"  € ä”S—Z‘Z  Q CÓ(×-Ñ-¨qÔ1ô �K‰K˜˜AÓˆÜ$)Ö*˜qŒW�Q˜�]Ð*ˆÐ*Ü�r“ò 	7ˆAØ˜!˜�+ˆCØ�A‘$ˆCÜ—*‘*˜Q   A¡¨¨¡Ó,ˆCÜ  S°#Ö6ð		7ô �q“ò 	?ˆAØ�3�q‘5ˆDÜ—‘˜“ˆAÜœŸ™ A¨ sÓ+×1Ñ1°4Ô8ÜœŸ™ A¨¨1 vÓ.×4Ñ4°dÔ;ÜœŸ™ A¢yÓ1×7Ñ7¸Õ>ñ	?ùò +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   r   )r   rz   r   Ú
ValueErrorr   Úlegval2dÚc2dr   rA   Úonesr   ry   ©
r'   Úx1Úx2Úx3Úy1Úy2Úy3rI   rJ   Úzs
             r   Útest_legval2dzTestEvaluation.test_legval2d�   s¡   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô 	”j¤#§,¡,°°B°r¸°F¸D¿H¹HÔEð �‰eˆÜ�l‰l˜2˜r 4§8¡8Ó,ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�l‰l˜1˜a §¡Ó*ˆÜ�—	‘	˜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   rz   r   r€   r   Úlegval3dÚc3dr   rA   rƒ   r   ry   r„   s
             r   Útest_legval3dzTestEvaluation.test_legval3d¡   s«   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô 	”j¤#§,¡,°°B¸¸2¸A¸ÀÇÁÔIð �‰e�B‰hˆÜ�l‰l˜2˜r 2 t§x¡xÓ0ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�l‰l˜1˜a  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 )Nrq   r   )r   r   r   r   )r   rz   rA   Úeinsumr   Ú	leggrid2dr‚   r   rƒ   r   ry   r„   s
             r   Útest_leggrid2dzTestEvaluation.test_leggrid2d²   sŠ   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô �i‰i˜	 2 rÓ*ˆÜ�m‰m˜B  D§H¡HÓ-ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�m‰m˜A˜q $§(¡(Ó+ˆÜ�—	‘	˜XÑ%Õ&r!   c                 ón  — | j                   \  }}}| j                  \  }}}t        j                  d|||«      }t	        j
                  |||| j                  «      }t        ||«       t        j                  d«      }	t	        j
                  |	|	|	| j                  «      }t        |j                  dk(  «       y )Nrr   r   )r   r   r   r   r   r   )r   rz   rA   r’   r   Ú	leggrid3dr�   r   rƒ   r   ry   r„   s
             r   Útest_leggrid3dzTestEvaluation.test_leggrid3dÀ   s�   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô �i‰i˜ b¨"¨bÓ1ˆÜ�m‰m˜B  B¨¯©Ó1ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�m‰m˜A˜q ! T§X¡XÓ.ˆÜ�—	‘	˜XÑ%Õ&r!   N)r3   r4   r5   rA   ri   Úc1dr’   r‚   r�   Úrandomr   r   rz   r|   rŒ   r�   r”   r—   r6   r!   r   ro   ro   q   s�   „ à
ˆ"�(‰(’<Ó
 €CØ
ˆ"�)‰)�I˜s CÓ
(€CØ
ˆ"�)‰)�L # s¨CÓ
0€Cð 	�	‰	×Ñ˜Ó  Ñ" QÑ&€AÙ�’<Ó €Aò?ò*%ò"%ò"'ó'r!   ro   c                   ó   — e Zd 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	   )Úlbnd)Úscl©Úaxisr   r   )ÚmÚk)r¢   r£   rž   )r¢   r£   rŸ   ©r¢   )r   Ú	TypeErrorr   Úlegintr€   r@   r   Úpoly2legÚleg2polyr    rV   Úlist)
r'   rF   r£   rJ   rŸ   ÚpolrI   Úlegpolr¦   rG   s
             r   Útest_legintzTestIntegral.test_legintÑ   s­  € ä”i¤§¡¨a¨S°"Ô5Ü”j¤#§*¡*¨q¨c°2Ô6Ü”j¤#§*¡*¨q¨c°1°q¸!°fÔ=Ü”j¤#§*¡*¨q¨c¸¸Õ<Ü”j¤#§*¡*¨q¨c¸°sÕ;Ü”i¤§¡¨a¨S°rÕ:ô �q˜!“ò 	-ˆAØ��Q˜‘U‘˜q˜cÑ!ˆAÜ—*‘*˜a˜S A¨Ô+ˆCÜ  a¨ VÕ,ð	-ô �q“ò 	6ˆAØ�a‘%ˆCØ�#�a‘%˜1˜#‘+ˆCØ�#˜˜˜A™‘+  3¡ Ñ'ˆCÜ—\‘\ #Ó&ˆFÜ—Z‘Z ¨!°¨sÔ3ˆFÜ—,‘,˜vÓ&ˆCÜ¤ S£	¬4°«9Õ5ð	6ô �q“ò 	;ˆAØ�a‘%ˆCØ�#�a‘%˜1˜#‘+ˆCÜ—\‘\ #Ó&ˆFÜ—Z‘Z ¨!°¨s¸Ô<ˆFÜ¤§
¡
¨2¨vÓ 6¸Õ:ð	;ô �q“ò 	6ˆAØ�a‘%ˆCØ�#�a‘%˜1˜#‘+ˆCØ�#˜˜˜A™‘+  3¡ Ñ'ˆCÜ—\‘\ #Ó&ˆFÜ—Z‘Z ¨!°¨s¸Ô:ˆFÜ—,‘,˜vÓ&ˆCÜ¤ S£	¬4°«9Õ5ð	6ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜!‘e˜q˜c‘k�Ø™!�f�Ü˜q›ò /�AÜŸ*™* S¨AÔ.‘Cð/ä—j‘j ¨Ô*�Ü#¤D¨£I¬t°C«yÕ9ñ:ð	:ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜!‘e˜q˜c‘k�Ø™!�f�Ü˜q›ò 6�AÜŸ*™* S¨A°!°Ô5‘Cð6ä—j‘j ¨¬T´%¸³(«^Ô<�Ü#¤D¨£I¬t°C«yÕ9ñ:ð	:ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜!‘e˜q˜c‘k�Ø™!�f�Ü˜q›ò ?�AÜŸ*™* S¨A°!°¸2Ô>‘Cð?ä—j‘j ¨¬T´%¸³(«^À"ÔE�Ü#¤D¨£I¬t°C«yÕ9ñ:ð	:ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜!‘e˜q˜c‘k�Ø™!�f�Ü˜q›ò =�AÜŸ*™* S¨A°!°¸!Ô<‘Cð=ä—j‘j ¨¬T´%¸³(«^ÀÔC�Ü#¤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©r   é   r   r    r	   r   )r£   )r£   r¡   )rA   r™   ÚvstackÚTr   r¦   r   ©r'   r‚   rk   rI   rJ   s        r   Útest_legint_axiszTestIntegral.test_legint_axis$  så   € ä�i‰i×Ñ˜vÓ&ˆä�i‰i°·±Ö6¨1œŸ™ A�Ò6Ó7×9Ñ9ˆÜ�j‰j˜ 1Ô%ˆÜ˜C Ô%ä�i‰i°Ö4¨1œŸ™ A�Ò4Ó5ˆÜ�j‰j˜ 1Ô%ˆÜ˜C Ô%ä�i‰i°SÖ9°œŸ™ A¨Ö+Ò9Ó:ˆÜ�j‰j˜ ¨Ô*ˆÜ˜C Õ%ùò 7ùò 5ùò :s   ½EÂ EÃ9Ec                 óD   — t        t        j                  dd«      d«       y )N©r	   r   r   r   )r   r   r¦   r&   s    r   Útest_legint_zerointordz#TestIntegral.test_legint_zerointord4  s   € Ü”S—Z‘Z 	¨1Ó-¨yÕ9r!   N)r3   r4   r5   r¬   r³   r¶   r6   r!   r   r›   r›   Ï   s   „ òQ:òf&ó :r!   r›   c                   ó   — e Zd 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   Úlegderr€   r@   r   r    r¦   r   )r'   rF   rI   rJ   rG   s        r   Útest_legderzTestDerivative.test_legder:  sF  € ä”i¤§¡¨a¨S°"Ô5Ü”j¤#§*¡*¨q¨c°2Ô6ô �q“ò 	/ˆAØ�#�a‘%˜1˜#‘+ˆCÜ—*‘*˜S AÔ&ˆCÜœ˜c›¤D¨£IÕ.ð	/ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜!‘e˜q˜c‘k�Ü—j‘j¤§¡¨C°1Ô!5¸Ô;�Ü#¤D¨£I¬t°C«yÕ9ñ:ð	:ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜!‘e˜q˜c‘k�Ü—j‘j¤§¡¨C°1¸!Ô!<ÀÀrÔJ�Ü#¤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	   )rA   r™   r°   r±   r   rº   r   r²   s        r   Útest_legder_axiszTestDerivative.test_legder_axisS  s    € ä�i‰i×Ñ˜vÓ&ˆä�i‰i°·±Ö6¨1œŸ™ A�Ò6Ó7×9Ñ9ˆÜ�j‰j˜ 1Ô%ˆÜ˜C Ô%ä�i‰i°Ö4¨1œŸ™ A�Ò4Ó5ˆÜ�j‰j˜ 1Ô%ˆÜ˜C Õ%ùò 7ùò 5s   ½C'Â C,c                 óJ   — d}t        t        j                  |d«      dg«       y )N)r	   r   r   r¯   r¯   r   )r   r   rº   )r'   rk   s     r   Ú test_legder_orderhigherthancoeffz/TestDerivative.test_legder_orderhigherthancoeff_  s   € ØˆÜ”S—Z‘Z  1Ó%¨ sÕ+r!   N)r3   r4   r5   r»   r½   r¿   r6   r!   r   r¸   r¸   8  s   „ ò:ò2
&ó,r!   r¸   c                   óf   — e Zd Zej                  j	                  d«      dz  dz
  Zd„ Zd„ Zd„ Zd„ Z	y)	Ú
TestVanderrs   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 )Nr   r®   r¯   r   r	   .r   r   é   )r   r   r¯   )
rA   rh   r   Ú	legvanderr   ry   r@   r   rV   ri   )r'   r   ÚvrF   Úcoefs        r   Útest_legvanderzTestVander.test_legvanderg  sú   € ä�I‰I�a‹LˆÜ�M‰M˜!˜QÓˆÜ�—‘˜6Ñ!Ô"Ü�q“ò 	@ˆAØ�3�q‘5˜A˜3‘;ˆDÜ  # q &¡	¬3¯:©:°a¸Ó+>Õ?ð	@ô
 �H‰H�q˜!�f˜q !˜f q¨! fÐ-Ó.ˆÜ�M‰M˜!˜QÓˆÜ�—‘˜9Ñ$Ô%Ü�q“ò 	@ˆAØ�3�q‘5˜A˜3‘;ˆDÜ  # q &¡	¬3¯:©:°a¸Ó+>Õ?ñ	@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   rA   r™   r   Úlegvander2dr�   ÚdotÚflatr   r   ry   ©r'   r…   r†   r‡   rk   ÚvanrI   rJ   s           r   Útest_legvander2dzTestVander.test_legvander2dx  s˜   € à—V‘V‰
ˆˆB�Ü�I‰I×Ñ˜VÓ$ˆÜ�o‰o˜b " q¨! fÓ-ˆÜ�l‰l˜2˜r 1Ó%ˆÜ�f‰f�S˜!Ÿ&™&Ó!ˆÜ˜C Ô%ô �o‰o˜r˜d R D¨1¨a¨&Ó1ˆÜ�—	‘	˜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   r   r¯   rµ   )r	   r   é   )r   rA   r™   r   Úlegvander3drŽ   rÊ   rË   r   r   ry   rÌ   s           r   Útest_legvander3dzTestVander.test_legvander3d…  s˜   € à—V‘V‰
ˆˆB�Ü�I‰I×Ñ˜YÓ'ˆÜ�o‰o˜b " bª)Ó4ˆÜ�l‰l˜2˜r 2 qÓ)ˆÜ�f‰f�S˜!Ÿ&™&Ó!ˆÜ˜C Ô%ô �o‰o˜r˜d R D¨2¨$²	Ó:ˆÜ�—	‘	˜ZÑ'Õ(r!   c                 óD   — t        t        t        j                  dd«       y )Nrµ   r
   )r   r€   r   rÄ   r&   s    r   Útest_legvander_negdegz TestVander.test_legvander_negdeg’  s   € Ü”j¤#§-¡-°¸BÕ?r!   N)
r3   r4   r5   rA   r™   r   rÇ   rÎ   rÒ   rÔ   r6   r!   r   rÁ   rÁ   c  s6   „ à
�	‰	×Ñ˜Ó  Ñ" QÑ&€Aò@ò"(ò)ó@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   r6   r   s    r   Úfz"TestFitting.test_legfit.<locals>.f™  s   € Ø�a˜!‘e‘9˜a !™eÑ$Ð$r!   c                 ó   — | dz  | dz  z   dz   S )Nr¯   r   r	   r6   r   s    r   Úf2z#TestFitting.test_legfit.<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   Úlegfitr¥   rA   rm   r   rX   r   rV   ri   r±   Ú
zeros_likeÚcopy)r'   rÙ   rÛ   r   rz   Úcoef3Úcoef4Úcoef2drÜ   ÚywÚwcoef3Úwcoef2dÚcoef1Úcoef2s                 r   Útest_legfitzTestFitting.test_legfit˜  s�  € ò	%ò	#ô 	”j¤#§*¡*¨q¨c°A°3¸Ô;Ü”i¤§¡¨q¨c¨U°Q°C¸Ô;Ü”i¤§¡¨R°!°°aÔ8Ü”i¤§¡¨a¨S°Q°C°5°'¸1Ô=Ü”i¤§¡¨a°¨V°a°S¸!Ô<Ü”i¤§¡¨a¨S°1°a°&¸!Ô<Ü”i¤§¡¨a¨S°1°#°q¸a¸S¸EÕBÜ”i¤§¡¨a¨S°1°#°q¸QÀ¸FÕCÜ”j¤#§*¡*¨q¨c°A°3¸¸Ô>Ü”j¤#§*¡*¨q¨c°A°3º
ÔCÜ”i¤§¡¨a¨S°1°#°rÔ:ô �K‰K˜˜1ÓˆÙˆa‹Dˆä—
‘
˜1˜a Ó#ˆÜ”S˜“Z Ô#ÜœCŸJ™J q¨%Ó0°!Ô4Ü—
‘
˜1˜a¢Ó.ˆÜ”S˜“Z Ô#ÜœCŸJ™J q¨%Ó0°!Ô4ä—
‘
˜1˜a Ó#ˆÜ”S˜“Z Ô#ÜœCŸJ™J q¨%Ó0°!Ô4Ü—
‘
˜1˜a¢Ó1ˆÜ”S˜“Z Ô#ÜœCŸJ™J q¨%Ó0°!Ô4ä—
‘
˜1˜a¢Ó1ˆÜ”S˜“Z Ô#ÜœCŸJ™J q¨%Ó0°!Ô4ä—‘˜AœrŸx™x¨¨A¨Ó/×1Ñ1°1Ó5ˆÜ˜F¤B§H¡H¨e°U¨^Ó$<×$>Ñ$>Ô?Ü—‘˜AœrŸx™x¨¨A¨Ó/×1Ñ1²<Ó@ˆÜ˜F¤B§H¡H¨e°U¨^Ó$<×$>Ñ$>Ô?ä�M‰M˜!ÓˆØ�V‰V‹XˆØˆˆ!ˆ$ˆQˆ$‰Øˆˆ!ˆ$ˆQˆ$‰Ü—‘˜A˜r 1¨Ô*ˆÜ˜F EÔ*Ü—‘˜A˜r¢<°1Ô5ˆÜ˜F EÔ*ä—*‘*˜Q¤§¡¨"¨b¨Ó 2× 4Ñ 4°a¸1Ô=ˆÜ˜G¤R§X¡X¨u°e¨nÓ%=×%?Ñ%?Ô@Ü—*‘*˜Q¤§¡¨"¨b¨Ó 2× 4Ñ 4²lÀaÔHˆÜ˜G¤R§X¡X¨u°e¨nÓ%=×%?Ñ%?Ô@ò ˆÜœCŸJ™J q¨!¨QÓ/°!°Q°Ô8ÜœCŸJ™J q¨!¨a°¨VÓ4°q¸!°fÔ=ä�K‰K˜˜AÓˆÙˆq‹EˆÜ—
‘
˜1˜a Ó#ˆÜœCŸJ™J q¨%Ó0°!Ô4Ü—
‘
˜1˜a¢Ó+ˆÜœCŸJ™J q¨%Ó0°!Ô4Ü˜E 5Õ)r!   N)r3   r4   r5   rè   r6   r!   r   rÖ   rÖ   –  s   „ óH*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 r-   )r   r€   r   Úlegcompanionr&   s    r   Útest_raiseszTestCompanion.test_raiseså  s(   € Ü”j¤#×"2Ñ"2°BÔ7Ü”j¤#×"2Ñ"2°Q°CÕ8r!   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ì   ry   )r'   rF   rÆ   s      r   Útest_dimensionszTestCompanion.test_dimensionsé  sJ   € Ü�q˜!“ò 	<ˆAØ�3�q‘5˜A˜3‘;ˆDÜ”C×$Ñ$ TÓ*×0Ñ0°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#   € Ü”× Ñ  ! Q Ó(¨Ñ.°#Ñ5Õ6r!   N)r3   r4   r5   rí   rï   rò   r6   r!   r   rê   rê   ã  s   „ ò9ò<ó
7r!   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«      «       d}t        |j                  «       |«       y )Nr9   éc   r	   rp   )r   ÚleggaussrÄ   rA   rÊ   r±   ÚsqrtÚdiagonalr   ÚeyeÚsum)r'   r   rÜ   rÅ   ÚvvÚvdrI   s          r   Útest_100zTestGauss.test_100ô  s—   € Ü�|‰|˜CÓ ‰ˆˆ1ô
 �M‰M˜!˜RÓ ˆÜ�V‰V�A—C‘C˜!‘G˜QÓˆØŒr�w‰w�r—{‘{“}Ó%Ñ%ˆØ’�4�‰[˜2Ñ Ñ"ˆÜ˜B¤§¡ s£Ô,ð ˆÜ˜AŸE™E›G SÕ)r!   N)r3   r4   r5   rþ   r6   r!   r   rô   rô   ò  s   „ ó*r!   rô   c                   ó<   — e 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…   «      }t        j                  |«      }t        j                  ||«      }d}t        t        |«      |dz   k(  «       t        t        j                  |«      d   d«       t        ||«       Œ¾ y )Nr	   r   r   r   r
   )r   Úlegfromrootsr   r    r@   rA   Úcosrm   ÚpirV   r   rX   r¨   )r'   rJ   rF   Úrootsrª   rI   s         r   Útest_legfromrootszTestMisc.test_legfromroots  sÇ   € Ü×Ñ˜rÓ"ˆÜœD ›I¨ sÔ+Ü�q˜!“ò 	*ˆAÜ—F‘Fœ2Ÿ;™;¬¯© v¨q°!°A±#¸±'Ó:¸1¸4¸a¸4Ñ@ÓAˆEÜ×"Ñ" 5Ó)ˆCÜ—*‘*˜U CÓ(ˆCØˆCÜ”C˜“H  A¡Ñ%Ô&Ü¤§¡¨SÓ 1°"Ñ 5°qÔ9Ü  SÕ)ñ	*r!   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   Úlegrootsr@   rA   rm   r  r    )r'   rF   rI   rJ   s       r   Útest_legrootszTestMisc.test_legroots  s‚   € ÜœCŸL™L¨!¨Ó-¨rÔ2ÜœCŸL™L¨!¨Q¨Ó0°3°%Ô8Ü�q˜!“ò 	6ˆAÜ—+‘+˜b ! QÓ'ˆCÜ—,‘,œs×/Ñ/°Ó4Ó5ˆ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_legtrimzTestMisc.test_legtrim  sh   € Úˆô 	”j¤#§+¡+¨t°RÔ8ô 	”S—[‘[ Ó&¨¨S¨b¨	Ô2Ü”S—[‘[  qÓ)¨4°°¨9Ô5Ü”S—[‘[  qÓ)¨A¨3Õ/r!   c                 óH   — t        t        j                  dd«      ddg«       y )Nr   r¯   ©r   r   Úlegliner&   s    r   Útest_leglinezTestMisc.test_legline&  s   € Ü”S—[‘[  AÓ&¨¨A¨Õ/r!   c                 óF   — t        t        j                  dd«      dg«       y )Nr   r   r  r&   s    r   Útest_legline_zerosclzTestMisc.test_legline_zeroscl)  s   € Ü”S—[‘[  AÓ&¨¨Õ,r!   c                 ó€   — t        d«      D ]0  }t        t        j                  dg|z  dgz   «      t        |   «       Œ2 y ©Nrv   r   r	   )r@   r   r   r¨   rx   ©r'   rF   s     r   Útest_leg2polyzTestMisc.test_leg2poly,  s:   € Ü�r“ò 	EˆAÜ¤§¡¨a¨S°©U°a°S©[Ó 9¼5À¹8ÕDñ	Er!   c                 ó€   — t        d«      D ]0  }t        t        j                  t        |   «      dg|z  dgz   «       Œ2 y r  )r@   r   r   r§   rx   r  s     r   Útest_poly2legzTestMisc.test_poly2leg0  s:   € Ü�r“ò 	EˆAÜ¤§¡¬U°1©XÓ 6¸¸¸A¹ÀÀ¹ÕDñ	Er!   c                 óx   — t        j                  ddd«      }d}t        j                  |«      }t	        ||«       y )Nr
   r	   é   rt   )rA   rm   r   Ú	legweightr   )r'   r   rI   rJ   s       r   Útest_weightzTestMisc.test_weight4  s1   € Ü�K‰K˜˜A˜rÓ"ˆØˆÜ�m‰m˜AÓˆÜ˜C Õ%r!   N)r3   r4   r5   r  r	  r  r  r  r  r  r  r6   r!   r   r   r     s,   „ ò
*ò6ò	0ò0ò-òEòEó&r!   r   )'Ú__doc__Ú	functoolsr   ÚnumpyrA   Únumpy.polynomial.legendreÚ
polynomialÚlegendrer   Únumpy.polynomial.polynomialr   Únumpy.testingr   r   r   r   ri   ÚL0ÚL1ÚL2ÚL3ÚL4ÚL5ÚL6ÚL7ÚL8ÚL9rx   r    r#   r8   ro   r›   r¸   rÁ   rÖ   rê   rô   r   r6   r!   r   ú<module>r.     s�  ðñõ ã ß 'Ð 'Ý /÷ó ð €R‡X�Xˆqˆcƒ]€Ø€R‡X�Xˆq�!ˆfÓ€Ø€R‡X�XŠjÓ˜!Ñ€Ø€R‡X�XŠmÓ˜QÑ€Ø€R‡X�XÒ Ó! !Ñ#€Ø€R‡X�XÒ$Ó% aÑ'€Ø€R‡X�XÒ+Ó,¨RÑ/€Ø€R‡X�XÒ/Ó0°Ñ3€Ø€R‡X�XÒ9Ó:¸3Ñ>€Ø€R‡X�XÒ?Ó@ÀÑD€à	ˆR��R˜˜R  R¨¨RÐ0€ò$÷'ñ '÷@@ñ @@÷F['ñ ['÷|f:ñ f:÷R),ñ ),÷V0@ñ 0@÷fJ*ñ J*÷Z7ñ 7÷*ñ *÷&3&ò 3&r!   