
    (ph              	          S r SSKrSSKJr  SSKJrJrJrJ	r	  SSK
JrJr  SSKrSSKJr  S rS rS	 rS
 rS rS r\R,                  R/                  SS9S 5       r\R,                  R3                  S\\\R8                  \\R<                  /5      \R,                  R3                  S\\\R8                  \\R<                  /5      S 5       5       r\R,                  R3                  S\\	/5      S 5       r g)z1Test functions for linalg._solve_toeplitz module
    N)levinson)solvetoeplitzsolve_toeplitzmatmul_toeplitz)assert_equalassert_allclose)raisesc                  h   [         R                  R                  S5      n S GH  nU R                  U5      nU R	                  5       S:  a  USU R                  U5      -  -   nU R                  U5      nU R	                  5       S:  a  USU R                  U5      -  -   nU R                  U5      nU R	                  5       S:  a  USU R                  U5      -  -   n[        X#4U5      n[        [        X#S9U5      n[        XV5        [        X$S9n[        [        U5      U5      n[        XV5        GM     g )N  )         
   g      ?              ?rb)	nprandomRandomStaterandnrandr   r   r   r	   )r   ncr   yactualdesireds          Y/var/www/html/venv/lib/python3.13/site-packages/scipy/linalg/tests/test_solve_toeplitz.pytest_solve_equivalencer!      s   YY""4(FLLO;;=3Ba((ALLO;;=3Ba((ALLO;;=3Ba((A  q)(!,(  'Q'('     c            	      x   [         R                  R                  S5      n U R                  S5      nU R                  S5      nS Hs  nS Hj  nU R                  " U6 U-   n[	        X4US9n[        [        XS9U5      n[        UR                  U5        [        UR                  U5        [        Xg5        Ml     Mu     g )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    YY""4(FQAQA/Ff%.A#QEQ/FHQ,a0Gv./F, 0 r"   c                  r    / SQn / SQn/ SQn[        X4U5      n[        [        XS9U5      n[        X45        g )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   s8    AAAQE1%FHQ$a(GF$r"   c                     [         R                  R                  S5      n SnU R                  U5      nU R                  U5      nU R                  U5      nSUS'   [	        [         R
                  R                  [        X#4US9  g )Nr   r$   r   r   r   r   r   r   assert_raiseslinalgLinAlgErrorr   )r   r   r   r   r   s        r    test_zero_diag_errorr4   <   sh    YY""4(F	AQAQAQAAaD"))''!%r"   c                      [         R                  R                  S5      n / SQnU R                  S5      n[	        [         R
                  R                  [        XS9  g )Nr   )r   r   r   r   r   r0   )r   r   r   s      r    test_wikipedia_counterexampler6   H   s@     YY""4(FAQA"))''@r"   c            	      b   [         R                  R                  S5      n U R                  S5      nU R                  S5      S-   nS/nS/n[	        SS5       HM  nUR                  [        US US-
   USU S9S   5        UR                  [        US US-
   USU S9S   5        MO     [         R                  " USS	S2   US S 45      n[         R                  " USS	S2   R                  5       US S 45      n[        XaSS  S9u  p[        XrSS  S9u  p[        X9S S 5        [        XJS S 5        g )
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@    YY""4(F
,,r
C
,,r
R
C##1b\"">#f!+Qq#J2#NO"">#f!+Qq#J2#NO  R"Ws3Bx 89JR"W!2!2!4c#2h ?@J
!"g.HA
!"g.HA's4's4r"   z!Instability of Levinson iteration)reasonc                      [         R                  R                  S5      n SnS[         R                  " U5      S-  -  nU R	                  U5      n[        X#S9n[        [        U5      U5      n[        XE5        g )Nr   d   g?r   r   )	r   r   r   aranger   r   r   r   r	   )r   r   r   r   	solution1	solution2s         r    test_unstablerO   g   sb     YY""4(FA		!a AQAq&Ihqk1%II)r"   dt_cdt_bc           	         [         R                  " / U S9n[         R                  " / US9n[        X#5      nUR                  S:X  d   eUR                  [        [         R                  " SS/U S9[         R
                  " SUS95      R                  :X  d   e[         R                  " SUS9n[        X#5      nUR                  S:X  d   eUR                  UR                  :X  d   eg )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77d??77nRXXq!fD%A&(ggat&<>>CeD D D 	t$A		B88v88qwwr"   func                    [         R                  R                  S5      nUR                  S5      nUR                  S5      nUR                  S5      nSn[        R                  " [
        US9   U " X$5        S S S 5        [        R                  " [
        US9   U " X#4U5        S S S 5        g ! , (       d  f       N;= f! , (       d  f       g = f)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      s     ))


0C

9A

9AZZ^FJG	m7	3	Q 
4	m7	3	aVV	 
4	3 
4	3	3	3s   .	B,B=,
B:=
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 I I 7  *)2-%	%A5, =>* ?*& #ubjj'2<<!PQ#ubjj'2<<!PQ R R  AB
 C
r"   