Ë
    0Ò^jã  ã            	       ó¢  — d Z ddlZddlmZ ddlmZmZmZ ddl	m
Z
mZ ddlZddlmZ d„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zej*                  j-                  d¬«      d„ «       Zej*                  j1                  deeej6                  eej:                  g«      ej*                  j1                  deeej6                  eej:                  g«      d„ «       «       Zy)z1Test functions for linalg._solve_toeplitz module
é    N)Úlevinson)ÚsolveÚtoeplitzÚsolve_toeplitz)Úassert_equalÚassert_allclose)Úraisesc                  ót  — t         j                  j                  d«      } dD �]  }| j                  |«      }| j	                  «       dk  r|d| j                  |«      z  z   }| j                  |«      }| j	                  «       dk  r|d| j                  |«      z  z   }| j                  |«      }| j	                  «       dk  r|d| j                  |«      z  z   }t        ||f|«      }t        t        ||¬«      |«      }t        ||«       t        ||¬«      }t        t        |«      |«      }t        ||«       �Œ y )NéÒ  )é   é   é   é
   g      à?ù              ð?©Úr©Úb)	ÚnpÚrandomÚRandomStateÚrandnÚrandr   r   r   r   )r   ÚnÚcr   ÚyÚactualÚdesireds          úq/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/scipy/linalg/tests/test_solve_toeplitz.pyÚtest_solve_equivalencer       s  € ä�Y‰Y×"Ñ" 4Ó(€FØó )ˆØ�L‰L˜‹OˆØ�;‰;‹=˜3ÒØ�B˜Ÿ™ a›Ñ(Ñ(ˆAØ�L‰L˜‹OˆØ�;‰;‹=˜3ÒØ�B˜Ÿ™ a›Ñ(Ñ(ˆAØ�L‰L˜‹OˆØ�;‰;‹=˜3ÒØ�B˜Ÿ™ a›Ñ(Ñ(ˆAô    1  qÓ)ˆÜœ  aÔ(¨!Ó,ˆÜ˜ Ô(ô    QÔ'ˆÜœ › QÓ'ˆÜ˜ Ö(ñ')ó    c                  ó‚  — t         j                  j                  d«      } | j                  d«      }| j                  d«      }dD ]y  }dD ]r  } | j                  |Ž |z   }t	        ||f|¬«      }t        t        ||¬«      |«      }t        |j                  |«       t        |j                  |«       t        ||«       Œt Œ{ y )Nr   é   )r   r   ))r#   )r#   r   r   r   )
r   r   r   r   r   r   r   r   Úshaper   )r   r   r   ÚoffsetÚyshaper   r   r   s           r   Útest_multiple_rhsr'   %   s¬   € Ü�Y‰Y×"Ñ" 4Ó(€FØ�‰�Q‹€AØ�‰�Q‹€AØò -ˆØ$ò 	-ˆFØ�—‘˜fÐ%¨Ñ.ˆAÜ# Q q E¨QÔ/ˆFÜœH Q¨!Ô,¨aÓ0ˆGÜ˜Ÿ™ vÔ.Ü˜Ÿ™¨Ô/Ü˜F GÕ,ñ	-ñ-r!   c                  ó~   — g d¢} g d¢}g d¢}t        | |f|«      }t        t        | |¬«      |«      }t        ||«       y )N)r   r   r#   é   )r   r   é	   é   )é   r   r#   r   r   )r   r   r   r   )r   r   r   r   r   s        r   Útest_native_list_argumentsr-   3   s>   € Ú€AÚ€AÚ€AÜ˜Q˜q˜E 1Ó%€FÜ”H˜Q !Ô$ aÓ(€GÜ�F˜GÕ$r!   c                  ó  — t         j                  j                  d«      } d}| j                  |«      }| j                  |«      }| j                  |«      }d|d<   t	        t         j
                  j                  t        ||f|¬«       y )Nr   r#   r   r   ©r   r   r   r   Úassert_raisesÚlinalgÚLinAlgErrorr   )r   r   r   r   r   s        r   Útest_zero_diag_errorr3   <   sj   € ä�Y‰Y×"Ñ" 4Ó(€FØ	€AØ�‰�Q‹€AØ�‰�Q‹€AØ�‰�Q‹€AØ€A€a�DÜ”"—)‘)×'Ñ'Ü˜˜A˜ !ö%r!   c                  óÂ   — t         j                  j                  d«      } g d¢}| j                  d«      }t	        t         j
                  j                  t        ||¬«       y )Nr   )r   r   r   r   r   r/   )r   r   r   s      r   Útest_wikipedia_counterexampler5   H   sB   € ô �Y‰Y×"Ñ" 4Ó(€FÚ€AØ�‰�Q‹€AÜ”"—)‘)×'Ñ'¬¸¸aÖ@r!   c            	      ó~  — t         j                  j                  d«      } | j                  d«      }| j                  d«      dz   }dg}dg}t	        dd«      D ]R  }|j                  t        |d |dz
   |d| ¬«      d   «       |j                  t        |d |dz
   |d| ¬«      d   «       ŒT t        j                  |dd	d…   |d d f«      }t        j                  |dd	d…   j                  «       |d d f«      }t        ||dd  ¬«      \  }}	t        ||dd  ¬«      \  }}
t        ||	d d «       t        ||
d d «       y )
Nr   r   r   r   r   r   éÿÿÿÿéþÿÿÿr   )r   r   r   r   ÚrangeÚappendr   ÚconcatenateÚconjr   r   )r   Úy_dÚy_zÚreflection_coeffs_dÚreflection_coeffs_zÚiÚ
y_d_concatÚ
y_z_concatÚ_Úref_dÚref_zs              r   Útest_reflection_coeffsrG   Q   sS  € ô �Y‰Y×"Ñ" 4Ó(€FØ
�,‰,�rÓ
€CØ
�,‰,�rÓ
˜RÑ
€CØ˜#ÐØ˜#ÐÜ�1�b‹\ò PˆØ×"Ñ"¤>°#°f¸¸!¹°+ÀÀQÀqÀÔ#JÈ2Ñ#NÔOØ×"Ñ"¤>°#°f¸¸!¹°+ÀÀQÀqÀÔ#JÈ2Ñ#NÕOðPô —‘  R¨¨" W¡¨s°3°B¨xÐ 8Ó9€JÜ—‘  R¨¨" W¡×!2Ñ!2Ó!4°c¸#¸2°hÐ ?Ó@€JÜ˜
 c¨!¨" gÔ.�H€A€uÜ˜
 c¨!¨" gÔ.�H€A€uäÐ'¨¨s°¨Ô4ÜÐ'¨¨s°¨Õ4r!   z!Instability of Levinson iteration)Úreasonc                  óú   — t         j                  j                  d«      } d}dt        j                  |«      dz  z  }| j	                  |«      }t        ||¬«      }t        t        |«      |«      }t        ||«       y )Nr   éd   gÍÌÌÌÌÌì?r   r   )	r   r   r   Úaranger   r   r   r   r   )r   r   r   r   Ú	solution1Ú	solution2s         r   Útest_unstablerN   g   sf   € ô �Y‰Y×"Ñ" 4Ó(€FØ€AØ”—	‘	˜!“˜a‘Ñ €AØ�‰�Q‹€Aä˜q AÔ&€IÜ”h˜q“k 1Ó%€Iä�I˜yÕ)r!   Údt_cÚdt_bc                 óÚ  — t        j                  g | ¬«      }t        j                  g |¬«      }t        ||«      }|j                  dk(  sJ ‚|j                  t        t        j                  ddg| ¬«      t        j
                  d|¬«      «      j                  k(  sJ ‚t        j                  d|¬«      }t        ||«      }|j                  dk(  sJ ‚|j                  |j                  k(  sJ ‚y )N)Údtype)r   r   r   )r   r   )r   Úarrayr   r$   rR   ÚonesÚempty)rO   rP   r   r   ÚxÚx1s         r   Ú
test_emptyrX   {   sÊ   € ô 	�‰�˜4Ô €AÜ
�‰�˜4Ô €AÜ�q˜!Ó€AØ�7‰7�dŠ?Ðˆ?Ø�7‰7”n¤R§X¡X¨q°!¨f¸DÔ%AÜ&(§g¡g¨a°tÔ&<ó>ß>C¹eòDð Dð Dô 	�‰�˜tÔ$€AÜ	˜˜1Ó	€BØ�8‰8�vÒÐÐØ�8‰8�q—w‘wÒÐÑr!   )Ú__doc__Únumpyr   Úscipy.linalg._solve_toeplitzr   Úscipy.linalgr   r   r   Únumpy.testingr   r   Úpytestr	   r0   r    r'   r-   r3   r5   rG   ÚmarkÚxfailrN   ÚparametrizeÚintÚfloatÚfloat32ÚcomplexÚ	complex64rX   © r!   r   ú<module>rh      sË   ðñã Ý 1ß 8Ñ 8ß 7ã Ý *ò)ò2-ò%ò	%òAò5ð, ‡�×ÑÐ=ÐÓ>ñ*ó ?ð*ð& ‡�×Ñ˜ # u¨b¯j©j¸'À2Ç<Á<Ð!PÓQØ‡�×Ñ˜ # u¨b¯j©j¸'À2Ç<Á<Ð!PÓQñó Ró Rñr!   