§
    µ³Ùg  ã            	       óØ  — d Z ddlZddlmZ ddlmZ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ej                             dee	g¦  «        d„ ¦   «         Z dS )z1Test functions for linalg._solve_toeplitz module
é    N)Úlevinson)ÚsolveÚtoeplitzÚsolve_toeplitzÚmatmul_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          ú\/granary/edev/quantum/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   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_errorr4   <   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   r0   )r   r   r   s      r    Útest_wikipedia_counterexampler6   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_coeffsrH   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_unstablerO   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%   rS   ÚonesÚempty)rP   rQ   r   r   ÚxÚx1s         r    Ú
test_emptyrY   {   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"   Úfunc                 óÈ  — t           j                             d¦  «        }|                     d¦  «        }|                     d¦  «        }|                     d¦  «        }d}t          j        t
          |¬¦  «        5   | ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          |¬¦  «        5   | ||f|¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nl   À!á´ )r   r   r$   é   z:Beginning in SciPy 1.17, multidimensional input will be...)Úmatch)r   r   Údefault_rngÚpytestÚwarnsÚFutureWarning)rZ   Úrngr   r   Úb_or_xÚmessages         r    Útest_nd_FutureWarningre   ‹   sW  € õ Œ)×
Ò
 Ñ
0Ô
0€CØ�
Š
�9ÑÔ€AØ�
Š
�9ÑÔ€AØ�ZŠZ˜‰^Œ^€FØJ€GÝ	Œ•m¨7Ð	3Ñ	3Ô	3ð ð Ø	ˆˆQ�‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•m¨7Ð	3Ñ	3Ô	3ð ð Ø	ˆˆa�ˆV�VÑ	Ô	Ð	ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s$   Á<BÂBÂBÂ;CÃCÃC)!Ú__doc__Únumpyr   Úscipy.linalg._solve_toeplitzr   Úscipy.linalgr   r   r   r   Únumpy.testingr   r	   r_   r
   r1   r!   r(   r.   r4   r6   rH   ÚmarkÚxfailrO   ÚparametrizeÚintÚfloatÚfloat32ÚcomplexÚ	complex64rY   re   © r"   r    ú<module>rt      sº  ððð à Ð Ð Ð Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ 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ðð „×Ò˜ °Ð AÑBÔBð
ð 
ñ CÔBð
ð 
ð 
r"   