§
    fŠtjã  ã            	       óˆ  — 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                             d¬¦  «        d„ ¦   «         Zej                             deeej        eej        g¦  «        ej                             deeej        eej        g¦  «        d„ ¦   «         ¦   «         ZdS )z1Test functions for linalg._solve_toeplitz module
é    N)Úlevinson)ÚsolveÚtoeplitzÚsolve_toeplitz)Úassert_equalÚassert_allclose)Úraisesc                  ó   — t           j                             d¦  «        } dD �]Z}|                      |¦  «        }|                      ¦   «         dk     r|d|                      |¦  «        z  z   }|                      |¦  «        }|                      ¦   «         dk     r|d|                      |¦  «        z  z   }|                      |¦  «        }|                      ¦   «         dk     r|d|                      |¦  «        z  z   }t          ||f|¦  «        }t          t          ||¬¦  «        |¦  «        }t          ||¦  «         t          ||¬¦  «        }t          t          |¦  «        |¦  «        }t          ||¦  «         �Œ\d S )NéÒ  )é   é   é   é
   g      à?ù              ð?©Úr©Úb)	ÚnpÚrandomÚRandomStateÚrandnÚrandr   r   r   r   )r   ÚnÚcr   ÚyÚactualÚdesireds          úd/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/linalg/tests/test_solve_toeplitz.pyÚtest_solve_equivalencer       s^  € åŒY×"Ò" 4Ñ(Ô(€FØð )ñ )ˆØ�LŠL˜‰OŒOˆØ�;Š;‰=Œ=˜3ÒÐØ�B˜Ÿš a™œÑ(Ñ(ˆAØ�LŠL˜‰OŒOˆØ�;Š;‰=Œ=˜3ÒÐØ�B˜Ÿš a™œÑ(Ñ(ˆAØ�LŠL˜‰OŒOˆØ�;Š;‰=Œ=˜3ÒÐØ�B˜Ÿš a™œÑ(Ñ(ˆAõ    1  qÑ)Ô)ˆÝ�  aÐ(Ñ(Ô(¨!Ñ,Ô,ˆÝ˜ Ñ(Ô(Ð(õ    QÐ'Ñ'Ô'ˆÝ� ™œ QÑ'Ô'ˆÝ˜ Ñ(Ô(Ð(Ñ(ð')ð )ó    c                  óž  — t           j                             d¦  «        } |                      d¦  «        }|                      d¦  «        }dD ]€}dD ]{} | j        |Ž |z   }t	          ||f|¬¦  «        }t          t          ||¬¦  «        |¦  «        }t          |j        |¦  «         t          |j        |¦  «         t          ||¦  «         Œ|Œ�d S )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×"Ò" 4Ñ(Ô(€FØ�Š�Q‰Œ€AØ�Š�Q‰Œ€AØð -ð -ˆØ$ð 	-ð 	-ˆFØ�”˜fÐ%¨Ñ.ˆAÝ# Q q E¨QÐ/Ñ/Ô/ˆFÝ�H Q¨!Ð,Ñ,Ô,¨aÑ0Ô0ˆGÝ˜œ vÑ.Ô.Ð.Ý˜œ¨Ñ/Ô/Ð/Ý˜F GÑ,Ô,Ð,Ð,ð	-ð-ð -r!   c                  ó    — g d¢} g d¢}g d¢}t          | |f|¦  «        }t          t          | |¬¦  «        |¦  «        }t          ||¦  «         d S )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   sb   € Øˆ	ˆ	€AØˆ
ˆ
€AØˆ	ˆ	€AÝ˜Q˜q˜E 1Ñ%Ô%€FÝ•H˜Q !Ð$Ñ$Ô$ aÑ(Ô(€GÝ�F˜GÑ$Ô$Ð$Ð$Ð$r!   c                  ó"  — t           j                             d¦  «        } d}|                      |¦  «        }|                      |¦  «        }|                      |¦  «        }d|d<   t	          t           j        j        t          ||f|¬¦  «         d S )Nr   r#   r   r   ©r   r   r   r   Úassert_raisesÚlinalgÚLinAlgErrorr   )r   r   r   r   r   s        r   Útest_zero_diag_errorr3   <   s…   € åŒY×"Ò" 4Ñ(Ô(€FØ	€AØ�Š�Q‰Œ€AØ�Š�Q‰Œ€AØ�Š�Q‰Œ€AØ€A€a�DÝ•"”)Ô'Ý˜˜A˜ !ð%ñ %ô %ð %ð %ð %r!   c                  óÄ   — t           j                             d¦  «        } g d¢}|                      d¦  «        }t	          t           j        j        t          ||¬¦  «         d S )Nr   )r   r   r   r   r   r/   )r   r   r   s      r   Útest_wikipedia_counterexampler5   H   sS   € õ ŒY×"Ò" 4Ñ(Ô(€FØˆ	ˆ	€AØ�Š�Q‰Œ€AÝ•"”)Ô'­¸¸aÐ@Ñ@Ô@Ð@Ð@Ð@r!   c            	      óT  — t           j                             d¦  «        } |                      d¦  «        }|                      d¦  «        dz   }dg}dg}t	          dd¦  «        D ]|}|                     t          |d |dz
  …         |d|…         ¬¦  «        d         ¦  «         |                     t          |d |dz
  …         |d|…         ¬¦  «        d         ¦  «         Œ}t          j        |dd	d…         |d d…         f¦  «        }t          j        |dd	d…                              ¦   «         |d d…         f¦  «        }t          ||dd …         ¬¦  «        \  }}	t          ||dd …         ¬¦  «        \  }}
t          ||	d d…         ¦  «         t          ||
d d…         ¦  «         d S )
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   s¬  € õ ŒY×"Ò" 4Ñ(Ô(€FØ
�,Š,�rÑ
Ô
€CØ
�,Š,�rÑ
Ô
˜RÑ
€CØ˜#ÐØ˜#ÐÝ�1�b‰\Œ\ð Pð PˆØ×"Ò"¥>°#°f¸¸!¹°f´+ÀÀQÀqÀSÄÐ#JÑ#JÔ#JÈ2Ô#NÑOÔOÐOØ×"Ò"¥>°#°f¸¸!¹°f´+ÀÀQÀqÀSÄÐ#JÑ#JÔ#JÈ2Ô#NÑOÔOÐOÐOå”  R¨¨" W¤¨s°3°B°3¬xÐ 8Ñ9Ô9€JÝ”  R¨¨" W¤×!2Ò!2Ñ!4Ô!4°c¸#¸2¸#´hÐ ?Ñ@Ô@€JÝ˜
 c¨!¨"¨"¤gÐ.Ñ.Ô.�H€A€uÝ˜
 c¨!¨"¨"¤gÐ.Ñ.Ô.�H€A€uåÐ'¨¨s°¨s¬Ñ4Ô4Ð4ÝÐ'¨¨s°¨s¬Ñ4Ô4Ð4Ð4Ð4r!   z!Instability of Levinson iteration)Úreasonc                  ó"  — t           j                             d¦  «        } d}dt          j        |¦  «        dz  z  }|                      |¦  «        }t          ||¬¦  «        }t          t          |¦  «        |¦  «        }t          ||¦  «         d S )Nr   éd   gÍÌÌÌÌÌì?r   r   )	r   r   r   Úaranger   r   r   r   r   )r   r   r   r   Ú	solution1Ú	solution2s         r   Útest_unstablerN   g   s€   € õ ŒY×"Ò" 4Ñ(Ô(€FØ€AØ•”	˜!‘”˜a‘Ñ €AØ�Š�Q‰Œ€Aå˜q AÐ&Ñ&Ô&€IÝ•h˜q‘k”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 ‚d S )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�dŠ?ˆ?ˆ?ˆ?ØŒ7•n¥R¤X¨q°!¨f¸DÐ%AÑ%AÔ%AÝ&(¤g¨a°tÐ&<Ñ&<Ô&<ñ>ô >Ü>CòDð Dð Dð Dõ 	Œ�˜tÐ$Ñ$Ô$€AÝ	˜˜1Ñ	Ô	€BØŒ8�vÒÐÐÐØŒ8�q”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Ð 1Ð 1Ð 1Ð 1Ð 1Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7à €€€Ø *Ð *Ð *Ð *Ð *Ð *ð)ð )ð )ð2-ð -ð -ð%ð %ð %ð	%ð 	%ð 	%ðAð Að Að5ð 5ð 5ð, „×ÒÐ=ÐÑ>Ô>ð*ð *ñ ?Ô>ð*ð& „×Ò˜ # u¨b¬j¸'À2Ä<Ð!PÑQÔQØ„×Ò˜ # u¨b¬j¸'À2Ä<Ð!PÑQÔQðð ñ RÔQñ RÔQðð ð r!   