Ë
    7Š·jG  ã                   ór  — 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«      dz  Z ej                   ddg«      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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 laguerre module.

é    )ÚreduceN)Úpolyval)Úassert_Úassert_almost_equalÚassert_equalÚassert_raisesé   éÿÿÿÿ)é   éüÿÿÿr	   r   )é   iîÿÿÿé	   r
   r   )é   i ÿÿÿéH   iðÿÿÿr	   r   )éx   i¨ýÿÿiX  i8ÿÿÿé   r
   r   )éÐ  i ïÿÿi  i öÿÿiÂ  iÜÿÿÿr	   r   c                 ó0   — t        j                  | d¬«      S )Ng�íµ ÷Æ°>)Útol)ÚlagÚlagtrim©Úxs    úZ/root/workspace/.venv/lib/python3.12/site-packages/numpy/polynomial/tests/test_laguerre.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   Ú	lagdomain©Úselfs    r   Útest_lagdomainzTestConstants.test_lagdomain   s   € Ü”S—]‘] Q¨ FÕ+r   c                 ó:   — t        t        j                  dg«       y )Nr   )r   r   Úlagzeror!   s    r   Útest_lagzerozTestConstants.test_lagzero   s   € Ü”S—[‘[ 1 #Õ&r   c                 ó:   — t        t        j                  dg«       y ©Nr	   )r   r   Úlagoner!   s    r   Útest_lagonezTestConstants.test_lagone"   s   € Ü”S—Z‘Z ! Õ%r   c                 ó<   — t        t        j                  ddg«       y )Nr	   r
   )r   r   Úlagxr!   s    r   Ú	test_lagxzTestConstants.test_lagx%   s   € Ü”S—X‘X  2˜wÕ'r   N)Ú__name__Ú
__module__Ú__qualname__r#   r&   r*   r-   © 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
)ÚTestArithmeticéýÿÿÿé   é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 ©Né   úAt i=ú, j=r	   r   ©Úerr_msg)ÚrangeÚnpÚzerosÚmaxr   Úlagaddr   r   ©r"   ÚiÚjÚmsgÚtgtÚress         r   Útest_lagaddzTestArithmetic.test_lagadd,   ó¬   € Ü�q“ò 	@ˆAÜ˜1“Xò @�Ø˜a˜S  Q CÐ(�Ü—h‘hœs 1 a›y¨1™}Ó-�Ø�A“˜!‘“Ø�A“˜!‘“Ü—j‘j !  q¡¨A¨3¡°°°a±¸1¸#±Ó>�Üœ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 r8   )r>   r?   r@   rA   r   Úlagsubr   r   rC   s         r   Útest_lagsubzTestArithmetic.test_lagsub6   rJ   r   c                 ó2  — t        t        j                  dg«      dg«       t        t        j                  dg«      ddg«       t        dd«      D ]E  }dg|z  dgz   }dg|dz
  z  | d|z  dz   |dz    gz   }t	        t        j                  |«      |«       ŒG y )Nr   r	   r
   r9   r   )r   r   Úlagmulxr>   r   )r"   rD   ÚserrG   s       r   Útest_lagmulxzTestArithmetic.test_lagmulx@   s–   € Ü”S—[‘[ ! Ó%¨ sÔ+Ü”S—[‘[ ! Ó%¨¨2 wÔ/Ü�q˜!“ò 	7ˆAØ�#˜‘'˜Q˜C‘-ˆCØ�#˜˜Q™‘- A 2 q¨1¡u¨q¡y°A¸±E°(Ð";Ñ;ˆCÜ¤§¡¨CÓ 0°#Õ6ñ	7r   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 )Nr9   r   r	   r:   r;   r<   )r>   r   Úlagvalr   Úlagmulr   Úlenr   )
r"   rD   Úpol1Úval1rE   rF   Úpol2Úval2Úpol3Úval3s
             r   Útest_lagmulzTestArithmetic.test_lagmulH   s×   € ä�q“ò 
	DˆAØ�3˜‘7˜a˜S‘=ˆDÜ—:‘:˜dŸf™f dÓ+ˆDÜ˜1“Xò D�Ø˜a˜S  Q CÐ(�Ø�s˜Q‘w ! ‘}�Ü—z‘z $§&¡&¨$Ó/�Ü—z‘z $¨Ó-�Ü—z‘z $§&¡&¨$Ó/�Üœ˜D›	 Q¨¡U¨Q¡YÑ.°Ô4Ü# D¨$°©+¸sÖCñDñ
	D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 )Nr9   r:   r;   r   r	   r<   )r>   r   rB   ÚlagdivrT   r   r   )
r"   rD   rE   rF   ÚciÚcjrG   ÚquoÚremrH   s
             r   Útest_lagdivzTestArithmetic.test_lagdivV   s³   € Ü�q“ò 	GˆAÜ˜1“Xò G�Ø˜a˜S  Q CÐ(�Ø�S˜1‘W ˜s‘]�Ø�S˜1‘W ˜s‘]�Ü—j‘j  RÓ(�ÜŸ:™: c¨2Ó.‘��SÜ—j‘j¤§¡¨C°Ó!4°cÓ:�Ü#¤D¨£I¬t°C«yÀ#ÖFñGñ	G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 )Nr9   r:   r;   r	   r<   )
r>   r?   Úaranger   r   rT   ÚarrayÚlagpowr   r   )r"   rD   rE   rF   ÚcrG   rH   s          r   Útest_lagpowzTestArithmetic.test_lagpowa   s–   € Ü�q“ò 	@ˆAÜ˜1“Xò @�Ø˜a˜S  Q CÐ(�Ü—I‘I˜a !™eÓ$�ÜœSŸZ™Z¨!¨¨q©´"·(±(¸A¸3³-Ó@�Ü—j‘j  AÓ&�ÜœT #›Y¬¨S«	¸3Ö?ñ@ñ	@r   N)r.   r/   r0   r?   Úlinspacer   rI   rM   rQ   r\   rc   ri   r1   r   r   r3   r3   )   s9   „ Øˆ�‰�B˜˜3Ó€Aò@ò@ò7òDò	Gó@r   r3   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d„ Zy)ÚTestEvaluation)g      "@g      ,Àg      @úi,j->ijú
i,j,k->ijk©r5   r9   r   r	   )ç      ð?g       @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<   r5   r   )r	   r   r   )r   r   rS   Úsizer?   rj   ÚLlistr   r>   r   r@   Úshape)	r"   r   rh   ÚyrD   rF   rG   rH   Údimss	            r   Útest_lagvalzTestEvaluation.test_lagvalu   s"  € ä”S—Z‘Z  Q CÓ(×-Ñ-¨qÔ1ô �K‰K˜˜AÓˆÜ$)Ö*˜qŒW�Q˜�]Ð*ˆÐ*Ü�q“ò 	7ˆAØ˜!˜�+ˆCØ�A‘$ˆCÜ—*‘*˜Q   a¡¨1¨#¡Ó.ˆCÜ  S°#Ö6ð		7ô �q“ò 	?ˆAØ�3˜‘7ˆ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   r5   )r   rv   r   Ú
ValueErrorr   Úlagval2dÚc2dr   r?   Úonesr   ru   ©
r"   Úx1Úx2Úx3Úy1Úy2Úy3rG   rH   Úzs
             r   Útest_lagval2dzTestEvaluation.test_lagval2dŠ   s¡   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô 	”j¤#§,¡,°°B°r¸°F¸D¿H¹HÔEð �2‰gˆÜ�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 rz   )r   rv   r   r|   r   Úlagval3dÚc3dr   r?   r   r   ru   r€   s
             r   Útest_lagval3dzTestEvaluation.test_lagval3d›   s«   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô 	”j¤#§,¡,°°B¸¸2¸A¸ÀÇÁÔIð �2‰g˜‰lˆÜ�l‰l˜2˜r 2 t§x¡xÓ0ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�l‰l˜1˜a  D§H¡HÓ-ˆÜ�—	‘	˜VÑ#Õ$r   c           	      ó  — | j                   \  }}}| j                  \  }}}|||f}t        t        t        j
                  |||d d f| j                  «       ||z  |z  }t	        j
                  || j                  «      }	t        |	|«       t        j                  d«      }
t	        j
                  |
|
|
f| j                  «      }	t        |	j                  dk(  «       t        t	        j
                  |f| j                  «      |«       y rz   )r   rv   r   r|   r   Úlagvalndr‹   r   r?   r   r   ru   Úc1d)r"   r�   r‚   rƒ   r„   r…   r†   ÚptsrG   rH   r‡   s              r   Útest_lagvalndzTestEvaluation.test_lagvalnd¬   sÔ   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�Ø�2�rˆlˆô 	”j¤#§,¡,°°R¸¸B¸Q¸Ð0@À$Ç(Á(ÔKð �2‰g˜‰lˆÜ�l‰l˜3 §¡Ó)ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�l‰l˜A˜q !˜9 d§h¡hÓ/ˆÜ�—	‘	˜VÑ#Ô$ô 	œCŸL™L¨"¨°·±Ó9¸2Õ>r   c                 óh  — | j                   \  }}}| j                  \  }}}t        j                  d||«      }t	        j
                  ||| j                  «      }t        ||«       t        j                  d«      }	t	        j
                  |	|	| j                  «      }t        |j                  dk(  «       y )Nrm   r{   )r   r5   r   r5   )r   rv   r?   Úeinsumr   Ú	laggrid2dr~   r   r   r   ru   r€   s
             r   Útest_laggrid2dzTestEvaluation.test_laggrid2dÁ   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 $§(¡(Ó+ˆÜ�—	‘	˜ZÑ'Õ(r   c                 ón  — | j                   \  }}}| j                  \  }}}t        j                  d|||«      }t	        j
                  |||| j                  «      }t        ||«       t        j                  d«      }	t	        j
                  |	|	|	| j                  «      }t        |j                  dk(  «       y )Nrn   r{   )r   r5   r   r5   r   r5   )r   rv   r?   r“   r   Ú	laggrid3dr‹   r   r   r   ru   r€   s
             r   Útest_laggrid3dzTestEvaluation.test_laggrid3dÏ   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Ó.ˆÜ�—	‘	˜ZÑ'Õ(r   N)r.   r/   r0   r?   rf   r�   r“   r~   r‹   Úrandomr   r   rv   rx   rˆ   rŒ   r‘   r•   r˜   r1   r   r   rl   rl   k   s†   „ à
ˆ"�(‰(’>Ó
"€CØ
ˆ"�)‰)�I˜s CÓ
(€CØ
ˆ"�)‰)�L # s¨CÓ
0€Cð 	�	‰	×Ñ˜Ó  1Ñ$ qÑ(€AÙ�’<Ó €Aò?ò*%ò"%ò"?ò*)ó)r   rl   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	   )Úlbnd)Úscl©Úaxisr   r9   )ÚmÚk)r¢   r£   rž   )r¢   r£   rŸ   ©r¢   )r   Ú	TypeErrorr   Úlagintr|   r>   r   Úpoly2lagÚlag2polyr   rS   Úlist)
r"   rD   r£   rH   rŸ   ÚpolrG   Úlagpolr¦   rE   s
             r   Útest_lagintzTestIntegral.test_lagintà   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˜1‘u‘  Ñ#ˆAÜ—*‘*˜a˜S A¨Ô+ˆCÜ  a¨ WÕ-ð	.ô �q“ò 	6ˆAØ�a‘%ˆCØ�#˜‘'˜Q˜C‘-ˆCØ�#˜˜˜a™‘- 1 s¡7 )Ñ+ˆCÜ—\‘\ #Ó&ˆFÜ—Z‘Z ¨!°¨sÔ3ˆFÜ—,‘,˜vÓ&ˆCÜ¤ S£	¬4°«9Õ5ð	6ô �q“ò 	;ˆAØ�a‘%ˆCØ�#˜‘'˜Q˜C‘-ˆCÜ—\‘\ #Ó&ˆFÜ—Z‘Z ¨!°¨s¸Ô<ˆFÜ¤§
¡
¨2¨vÓ 6¸Õ:ð	;ô �q“ò 	6ˆAØ�a‘%ˆCØ�#˜‘'˜Q˜C‘-ˆCØ�#˜˜˜a™‘- 1 s¡7 )Ñ+ˆCÜ—\‘\ #Ó&ˆFÜ—Z‘Z ¨!°¨s¸Ô:ˆFÜ—,‘,˜vÓ&ˆCÜ¤ S£	¬4°«9Õ5ð	6ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜q›ò /�AÜŸ*™* S¨AÔ.‘Cð/ä—j‘j ¨Ô*�Ü#¤D¨£I¬t°C«yÕ9ñ:ð	:ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜q›ò 6�AÜŸ*™* S¨A°!°Ô5‘Cð6ä—j‘j ¨¬T´%¸³(«^Ô<�Ü#¤D¨£I¬t°C«yÕ9ñ:ð	:ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜q›ò ?�AÜŸ*™* S¨A°!°¸2Ô>‘Cð?ä—j‘j ¨¬T´%¸³(«^À"ÔE�Ü#¤D¨£I¬t°C«yÕ9ñ:ð	:ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜A‘g  ‘m�Ø™!�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©r5   é   r   r    r	   r5   )r£   )r£   r¡   )r?   r™   ÚvstackÚTr   r¦   r   ©r"   r~   rh   rG   rH   s        r   Útest_lagint_axiszTestIntegral.test_lagint_axis3  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N)r.   r/   r0   r¬   r³   r1   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
   r9   r	   r¤   r   )r¢   rŸ   )
r   r¥   r   Úlagderr|   r>   r   r   r¦   r   )r"   rD   rG   rH   rE   s        r   Útest_lagderzTestDerivative.test_lagderF  sF  € ä”i¤§¡¨a¨S°"Ô5Ü”j¤#§*¡*¨q¨c°2Ô6ô �q“ò 	/ˆAØ�#˜‘'˜Q˜C‘-ˆCÜ—*‘*˜S AÔ&ˆCÜœ˜c›¤D¨£IÕ.ð	/ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜A‘g  ‘m�Ü—j‘j¤§¡¨C°1Ô!5¸Ô;�Ü#¤D¨£I¬t°C«yÕ9ñ:ð	:ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜A‘g  ‘m�Ü—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	   )r?   r™   r°   r±   r   r·   r   r²   s        r   Útest_lagder_axiszTestDerivative.test_lagder_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 Õ%ùò 7ùò 5s   ½C'Â C,N)r.   r/   r0   r¸   rº   r1   r   r   rµ   rµ   D  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)Ú
TestVanderro   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 )Nr5   r®   r¯   r   r	   .r   r9   r   )r5   r   r¯   )
r?   re   r   Ú	lagvanderr   ru   r>   r   rS   rf   )r"   r   ÚvrD   Úcoefs        r   Útest_lagvanderzTestVander.test_lagvanderp  sú   € ä�I‰I�a‹LˆÜ�M‰M˜!˜QÓˆÜ�—‘˜6Ñ!Ô"Ü�q“ò 	@ˆAØ�3˜‘7˜a˜S‘=ˆDÜ  # q &¡	¬3¯:©:°a¸Ó+>Õ?ð	@ô
 �H‰H�q˜!�f˜q !˜f q¨! fÐ-Ó.ˆÜ�M‰M˜!˜QÓˆÜ�—‘˜9Ñ$Ô%Ü�q“ò 	@ˆAØ�3˜‘7˜a˜S‘=ˆ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	   r9   r   )r   r?   r™   r   Úlagvander2dr}   ÚdotÚflatr   r   ru   ©r"   r�   r‚   rƒ   rh   ÚvanrG   rH   s           r   Útest_lagvander2dzTestVander.test_lagvander2d�  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   r5   r¯   )r	   r   r5   )r	   r9   r   )r   r?   r™   r   Úlagvander3drŠ   rÄ   rÅ   r   r   ru   rÆ   s           r   Útest_lagvander3dzTestVander.test_lagvander3dŽ  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   N)	r.   r/   r0   r?   r™   r   rÁ   rÈ   rË   r1   r   r   r¼   r¼   l  s0   „ à
�	‰	×Ñ˜Ó  1Ñ$ qÑ(€Aò@ò"(ó)r   r¼   c                   ó   — e Zd Zd„ Zy)ÚTestFittingc           	      ó€
  — 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                  |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«       y )Nc                 ó   — | | dz
  z  | dz
  z  S )Nr	   r   r1   r   s    r   Úfz"TestFitting.test_lagfit.<locals>.fŸ  s   € Ø˜˜A™‘; ! a¡%Ñ(Ð(r   r	   r
   r   r   )Úw)r   r
   r   r5   r¯   )r   r	   r   r5   r9   )r   r	   r   r5   r¯   )r	   y              ð?r
   y       €      ð¿)r   r|   r   Úlagfitr¥   r?   rj   r   rU   r   rS   rf   r±   Ú
zeros_likeÚcopy)r"   rÐ   r   rv   Úcoef3Úcoef4Úcoef2drÑ   ÚywÚwcoef3Úwcoef2ds              r   Útest_lagfitzTestFitting.test_lagfitž  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ä—‘˜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Ó/°!°R°Ô9ÜœCŸJ™J q¨!¨a°¨VÓ4°q¸"°gÕ>r   N)r.   r/   r0   rÛ   r1   r   r   rÍ   rÍ   œ  s   „ ó9?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   Úlagcompanionr!   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	   r9   r   )r>   r   r   rß   ru   )r"   rD   rÀ   s      r   Útest_dimensionszTestCompanion.test_dimensionsà  sJ   € Ü�q˜!“ò 	<ˆAØ�3˜‘7˜a˜S‘=ˆDÜ”C×$Ñ$ TÓ*×0Ñ0°Q¸°FÑ:Õ;ñ	<r   c                 óP   — t        t        j                  ddg«      d   dk(  «       y )Nr	   r   )r   r   g      ø?)r   r   rß   r!   s    r   Útest_linear_rootzTestCompanion.test_linear_rootå  s#   € Ü”× Ñ  ! Q Ó(¨Ñ.°#Ñ5Õ6r   N)r.   r/   r0   rà   râ   rä   r1   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 )Nr6   éc   r	   rp   )r   Úlaggaussr¾   r?   rÄ   r±   ÚsqrtÚdiagonalr   ÚeyeÚsum)r"   r   rÑ   r¿   ÚvvÚvdrG   s          r   Útest_100zTestGauss.test_100ë  s—   € Ü�|‰|˜CÓ ‰ˆˆ1ô
 �M‰M˜!˜RÓ ˆÜ�V‰V�A—C‘C˜!‘G˜QÓˆØ”—‘˜Ÿ™›Ó'Ñ'ˆØ’�4�‰[˜2Ñ Ñ"ˆÜ˜B¤§¡ s£Ô,ð ˆÜ˜AŸE™E›G SÕ)r   N)r.   r/   r0   rð   r1   r   r   ræ   ræ   é  s   „ ó*r   ræ   c                   ó6   — e 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	   r9   r   r   r
   )r   Úlagfromrootsr   r   r>   r?   Úcosrj   ÚpirS   r   rU   r¨   )r"   rH   rD   Úrootsrª   rG   s         r   Útest_lagfromrootszTestMisc.test_lagfromrootsþ  sÇ   € Ü×Ñ˜rÓ"ˆÜœD ›I¨ sÔ+Ü�q˜!“ò 	*ˆAÜ—F‘Fœ2Ÿ;™;¬¯© v¨q°!°a±%¸!±)Ó<¸Q¸TÀ¸TÑBÓCˆ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   r9   r5   )r   r   Úlagrootsr>   r?   rj   rô   r   )r"   rD   rG   rH   s       r   Útest_lagrootszTestMisc.test_lagroots
  s‚   € ÜœCŸL™L¨!¨Ó-¨rÔ2ÜœCŸL™L¨!¨Q¨Ó0°1°#Ô6Ü�q˜!“ò 	6ˆAÜ—+‘+˜a  AÓ&ˆ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	   r4   r   r   )r   r|   r   r   r   )r"   rÀ   s     r   Útest_lagtrimzTestMisc.test_lagtrim  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 )Nr5   r¯   rr   r   )r   r   Úlagliner!   s    r   Útest_laglinezTestMisc.test_lagline  s   € Ü”S—[‘[  AÓ&¨¨B¨Õ0r   c                 ó€   — t        d«      D ]0  }t        t        j                  dg|z  dgz   «      t        |   «       Œ2 y ©Nrr   r   r	   )r>   r   r   r¨   rt   ©r"   rD   s     r   Útest_lag2polyzTestMisc.test_lag2poly   s:   € Ü�q“ò 	GˆAÜ¤§¡¨a¨S°1©W¸°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§   rt   r  s     r   Útest_poly2lagzTestMisc.test_poly2lag$  s:   € Ü�q“ò 	GˆAÜ¤§¡¬U°1©XÓ 6¸¸¸a¹À1À#¹ÕFñ	Gr   c                 ó    — t        j                  ddd«      }t        j                  | «      }t        j                  |«      }t        ||«       y )Nr   é
   é   )r?   rj   Úexpr   Ú	lagweightr   )r"   r   rG   rH   s       r   Útest_weightzTestMisc.test_weight(  s;   € Ü�K‰K˜˜2˜rÓ"ˆÜ�f‰f�a�R‹jˆÜ�m‰m˜AÓˆÜ˜C Õ%r   N)
r.   r/   r0   rø   rû   rý   r   r  r  r  r1   r   r   rò   rò   ü  s'   „ ò
*ò6ò	0ò1òGòGó&r   rò   )$Ú__doc__Ú	functoolsr   Únumpyr?   Únumpy.polynomial.laguerreÚ
polynomialÚlaguerrer   Únumpy.polynomial.polynomialr   Únumpy.testingr   r   r   r   rf   ÚL0ÚL1ÚL2ÚL3ÚL4ÚL5ÚL6rt   r   r   r3   rl   r›   rµ   r¼   rÍ   rÝ   ræ   rò   r1   r   r   ú<module>r     sE  ðñõ ã ß 'Ð 'Ý /ß SÓ Sà€R‡X�Xˆqˆcƒ]�QÑ€Ø€R‡X�Xˆq�"ˆgÓ˜Ñ€Ø€R‡X�XŠjÓ˜AÑ€Ø€R‡X�XŠoÓ Ñ"€Ø€R‡X�XÒ#Ó$ rÑ)€Ø€R‡X�XÒ,Ó-°Ñ3€Ø€R‡X�XÒ4Ó5¸Ñ;€à	ˆR��R˜˜R Ð$€ò$÷(ñ (÷?@ñ ?@÷Dp)ñ p)÷fc&ñ c&÷L%&ñ %&÷P-)ñ -)÷`;?ñ ;?÷|7ñ 7÷*ñ *÷&0&ò 0&r   