
    doia                     &   S SK r S SKrS SKJrJrJrJrJr  S SKJ	r	J
r
JrJr  S SK Jr  S SKJr  S SKJr  S SKJrJrJrJrJrJrJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$  S SK%J&r&  S S	K'J(r(J)r)J*r*J+r+   " S
 S5      r, " S S5      r- " S S5      r. " S S5      r/ " S S5      r0 " S S5      r1\(" \5       " S S5      5       r2 " S S5      r3 " S S5      r4 " S S5      r5 " S S5      r6S  r7S! r8\(" \!5      S" 5       r9S# r: " S$ S%5      r;\ Rx                  R{                  S&5      \ Rx                  R}                  S'\S(4\S(4\$S)4\!S(4\"S(4\\R                  " S*5      44\\R                  " S*5      44\\R                  " S*5      44/5      S+ 5       5       r?g),    N)arangearrayeyecopysqrt)assert_equalassert_array_equalassert_array_almost_equalassert_allclose)raises)fft)comb)toeplitzhankel	circulanthadamardlesliedft	companion
block_diaghelmerthilbert
invhilbertpascal	invpascalfiedlerfiedler_companioneigvalsconvolution_matrix)cond)make_xp_test_casexp_assert_equalxp_sizexp_default_dtypec                   >    \ rS rSrS rS rS rS rS rS r	S r
S	rg
)TestToeplitz   c                     [        / SQ5      n[        U/ SQ/ SQ/ SQ/5        [        / SQ/ SQ5      n[        U/ SQ/ SQ/ SQ/5        g )N         )r+   r*   r+   r,   r+   r*   )r*         )r+   r*   r.   r   r	   selfys     d/var/www/html/land-ocr/venv/lib/python3.13/site-packages/scipy/linalg/tests/test_special_matrices.py
test_basicTestToeplitz.test_basic   s:    Y1y)Y?@Y	*1y)Y?@    c                     S[        S5      -   S-  n[        U5      n[        U5      n[        X!5        US S 2S4   n[        XA5        [        USSS 24   USS  R	                  5       5        g )N      ?      @y      ?      ?r   r*   )r   r   r   r	   conj)r2   dataxtcol0s        r4   test_complex_01TestToeplitz.test_complex_01   sd    fSk!j1JQK1#Aw4&1QU8T!"X]]_5r7   c                 j    [        S5      n[        US//5        [        SS5      n[        US//5        g)z*Scalar arguments still produce a 2D array.
   r'   Nr0   )r2   r>   s     r4   test_scalar_00TestToeplitz.test_scalar_00'   s3    RL1tf%R1tf%r7   c                 Z    [        / SQ5      n[        US5      n[        US/S/S//5        g Nr)   r*   r+   r,   r   r   r	   r2   cr>   s      r4   test_scalar_01TestToeplitz.test_scalar_01.   s-    )QN1sQC!o.r7   c                 l    [        / SQ5      n[        U[        S5      5      n[        US/S/S//5        g rG   rH   rI   s      r4   test_scalar_02TestToeplitz.test_scalar_023   s2    )Qa!1sQC!o.r7   c                 n    [        / SQ5      n[        U[        S/5      5      n[        US/S/S//5        g rG   rH   rI   s      r4   test_scalar_03TestToeplitz.test_scalar_038   s4    )Qqc
#1sQC!o.r7   c                 T    [        / SQ5      n[        SU5      n[        U/ SQ/5        g )N)rC   r+   r,   r*   r)   rH   )r2   rr>   s      r4   test_scalar_04TestToeplitz.test_scalar_04=   s#    *QN1yk*r7    N)__name__
__module____qualname____firstlineno__r5   r@   rD   rK   rN   rQ   rU   __static_attributes__rW   r7   r4   r&   r&      s&    A	6&/
/
/
+r7   r&   c                       \ rS rSrS rSrg)
TestHankelC   c                     [        / SQ5      n[        U/ SQ/ SQ/ SQ/5        [        / SQ/ SQ5      n[        U/ SQ/ SQ/ SQ/5        g )Nr)   r+   r,   r   )r,   r   r   r,   r.   r/   )r+   r,   r.   )r   r	   r1   s     r4   r5   TestHankel.test_basicD   s:    91y)Y?@9i(1y)Y?@r7   rW   NrX   rY   rZ   r[   r5   r\   rW   r7   r4   r^   r^   C   s    Ar7   r^   c                       \ rS rSrS rSrg)TestCirculantK   c                 H    [        / SQ5      n[        U/ SQ/ SQ/ SQ/5        g )Nr)   )r*   r,   r+   )r+   r*   r,   r-   )r   r	   r1   s     r4   r5   TestCirculant.test_basicL   s    i 1y)Y?@r7   rW   Nrd   rW   r7   r4   rf   rf   K   s    Ar7   rf   c                       \ rS rSrS rSrg)TestHadamardQ   c                    [        S5      n[        US//5        [        S[        S9n[        USS/SS//5        [        S5      n[        U/ SQ/ SQ/ S	Q/ S
Q/5        [        [        [         S5        [        [        [         S5        g )Nr*   r+   dtyper9         r.   r*   r*   r*   r*   )r*   r*   rr   )r*   r*   rr   rr   )r*   rr   rr   r*   r   r/   )r   r	   floatassert_raises
ValueErrorr1   s     r4   r5   TestHadamard.test_basicS   sy    QK1se$Qe$1SzC;78QK1|---/ 	0
 	j(A.j(A.r7   rW   Nrd   rW   r7   r4   rk   rk   Q   s    /r7   rk   c                        \ rS rSrS rS rSrg)
TestLesliee   c                     [        [        [        SS/SS/// SQ5        [        [        [        SS/SS/5        [        [        [        S// 5        g )Nr*   r+   rb   )rt   ru   r   r2   s    r4   test_bad_shapesTestLeslie.test_bad_shapesg   sC    j&Aq6Aq6*:IFj&1a&1a&9j&1#r2r7   c                 b    [        / SQSS/5      n[        / SQ/ SQ/ SQ/5      n[        X5        g )Nr)         ?      ?r9          @r:   )r           r   )r   r   r   )r   r   r	   )r2   aexpecteds      r4   r5   TestLeslie.test_basicl   s3    9tSk*/*)+ , 	1'r7   rW   NrX   rY   rZ   r[   r|   r5   r\   rW   r7   r4   rx   rx   e   s    3
(r7   rx   c                        \ rS rSrS rS rSrg)TestCompaniont   c                     [        [        [        / SQ5        [        [        [        S/5        [        [        [        / 5        g )N)r   r.   r/   r*   )rt   ru   r   r{   s    r4   r|   TestCompanion.test_bad_shapesv   s(    j)Y7j)aS1j)R0r7   c                 
   [        / SQ5      n[        SS/SS//5      n[        X5        [        / SQ5      n[        SS/SS//5      n[        X5        [        S	S
/5      n[        SS/SS/4SS/SS/4/5      n[        X5        g )Nr)          g      r9   r   )r         @g      $      r   r   )g      @r   g      @g            )r   r   r	   )r2   rJ   r   s      r4   r5   TestCompanion.test_basic{   s    i 4L#J  	1''(3K#J  	1'&( )U^U^U^U^
  	1'r7   rW   Nr   rW   r7   r4   r   r   t   s    1
(r7   r   c                   x    \ rS rSrS rS rS rS rS rS r	\
R                  R                  SS	S
9S 5       rSrg)TestBlockDiag   c                    UR                  S5      R                  n[        UR                  SUS9UR                  SS/SS/SS//5      UR                  / SQ/5      5      n[	        X1R                  / S	Q/ S
Q/ SQ/ SQ/ SQ/ SQ/5      5        g )Nr*   r+   rn   r,   r.   r/      r)   )r*   r   r   r   r   r   r   )r   r*   r   r   r   r   r   )r   r   r*   r+   r   r   r   )r   r   r,   r.   r   r   r   )r   r   r/   r   r   r   r   )r   r   r   r   r*   r+   r,   )asarrayro   r   r   r"   )r2   xpro   r=   s       r4   r5   TestBlockDiag.test_basic   s    

1##rvvauv-rzzAq6Aq6Aq6:R/Szz9+.0::'<'<'<'<'<'<'> ? 	@r7   c                     [        UR                  S//5      5      nUR                  [        U5      :X  d   e[        UR                  S//5      5      nUR                  UR                  :X  d   eg )Ng      ?T)r   r   ro   r$   bool)r2   r   r=   s      r4   
test_dtypeTestBlockDiag.test_dtype   s^    rzzC5'*+ww*2....rzzD6(+,ww"''!!!r7   c                     [        UR                  S//5      UR                  S//5      5      nUR                  SS/SS//5      n[        X#5        g )Nr9                 ?r*   r   )r   r   r"   )r2   r   actualdesireds       r4   test_mixed_dtypesTestBlockDiag.test_mixed_dtypes   sK    BJJv.

RD60BC**q!fq"g./(r7   c                 ,   [        UR                  S5      5      nUR                  S:X  d   e[        X!R                  S//5      5        [        UR                  SS/5      UR                  S5      5      n[        X!R                  / SQ/ SQ/5      5        g )Nr*   r*   r*   r+   r,   r.   ra   )r   r   r.   )r   r   shaper"   )r2   r   r   s      r4   test_scalar_and_1d_args%TestBlockDiag.test_scalar_and_1d_args   sr    rzz!}%ww&   ::se,-rzz1a&)2::a=9::y)&<=>r7   c                 `    [        5       nUR                  S:X  d   eUR                  S:X  d   eg )Nr+   r   )r   ndimnbytes)r2   r   s     r4   test_no_argsTestBlockDiag.test_no_args   s)    Lvv{{xx1}}r7   c                 "   UR                  S5      R                  n[        UR                  SS/SS//5      UR                  / US9UR                  SS/SS/SS	//5      5      n[        X1R                  / S
Q/ SQ/ SQ/ SQ/ SQ/ SQ/5      5        g )Nr*   r   rn   r+   r,   r.   r/   r      r*   r   r   r   )r   r*   r   r   )r   r   r   r   )r   r   r+   r,   )r   r   r.   r/   )r   r   r   r   )r   ro   r   r"   r2   r   ro   r   s       r4   test_empty_matrix_arg#TestBlockDiag.test_empty_matrix_arg   s     

1##rzzAq6Aq6"23zz"Ez2zzAq6Aq6Aq6":;= 	::|'3'3'3'3'3'5 6 	7r7   z
dask.arrayzdask/dask#11800)reasonc                 F   UR                  S5      R                  n[        UR                  SS/SS//5      UR                  / /US9UR                  SS/SS/SS	//5      UR                  SS/US95      n[	        X1R                  / S
Q/ SQ/ SQ/ SQ/ SQ/ SQ/5      5        g )Nr*   r   rn   r+   r,   r.   r/   r   r   )r*   r   r   r   r   r   )r   r*   r   r   r   r   )r   r   r   r   r   r   )r   r   r+   r,   r   r   )r   r   r.   r/   r   r   )r   r   r   r   r   r   )r   ro   r   zerosr"   r   s       r4   test_zerosized_matrix_arg'TestBlockDiag.test_zerosized_matrix_arg   s    
 

1##rzzAq6Aq6"23zz2$ez4zzAq6Aq6Aq6":;xxAex46 	::'9'9'9'9'9'9'; < 	=r7   rW   N)rX   rY   rZ   r[   r5   r   r   r   r   r   pytestmarkskip_xp_backendsr   r\   rW   r7   r4   r   r      sK    	@")
?
7 [[!!,7H!I= J=r7   r   c                        \ rS rSrS rS rSrg)TestHelmert   c                     [        SS5       Hk  n[        USS9n[        R                  " U5      n[	        UR                  UR                  5      USS9  [	        UR                  R                  U5      USS9  Mm     g )Nr*   r   Tfull-q=atol)ranger   npr   r   dotT)r2   nHIds       r4   test_orthogonalityTestHelmert.test_orthogonality   s[    q!A%ABAEE!##J7ACCGGAJ7	 r7   c           	         [        SS5       H  n[        USS9n[        U5      nUSS 2S S 24   R                  UR                  4 H  n[        R                  " U5      [        R
                  " X4SU-  5      -
  n[        UR                  UR                  5      U5        [        UR                  R                  U5      [        R                  " US-
  5      SS9  M     M     g )Nr+   r   Tr   r*   r   r   )r   r   r   r   r   r   r   r   )r2   r   H_full	H_partialUCs         r4   test_subspaceTestHelmert.test_subspace   s    q!AQT*F
IABE]__ikk1FF1IA 66acc
A.
BFF1Q3KeD 2 r7   rW   N)rX   rY   rZ   r[   r   r   r\   rW   r7   r4   r   r      s    8Er7   r   c                       \ rS rSrS rSrg)TestHilbert   c                     [        / SQ/ SQ/ SQ/5      n[        [        S5      U5        [        [        S5      S//5        [        S5      n[	        UR
                  S5        g )	N)r9   r   UUUUUU?)r   r   r   )r   r   g?r,   r*   r9   r   )r   r   )r   r
   r   r	   r   r   )r2   h3h0s      r4   r5   TestHilbert.test_basic   sS    %&&( ) 	"'!*b171:w/QZRXXv&r7   rW   Nrd   rW   r7   r4   r   r      s    	'r7   r   c                        \ rS rSrS rS rSrg)TestInvHilbert   c                 V   [        S//5      n[        [        SSS9U5        [        [        S5      U5        [        SS/SS//5      n[        [        SSS9U5        [        [        S5      U5        [        / SQ/ S	Q/ S
Q/5      n[        [        SSS9U5        [        [        S5      U5        [        / SQ/ SQ/ SQ/ SQ/5      n[        [        SSS9U5        [        [        S5      U5        [        / SQ/ SQ/ SQ/ SQ/ SQ/5      n[        [        SSS9U5        [        [        S5      U5        [        / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ S Q/ S!Q/ S"Q/ S#Q/ S$Q/ S%Q/ S&Q/5      n[        [        S'SS9U5        [	        [        S'5      UR                  [        5      S(S)9  g )*Nr*   Texactr.   i   r+   )	      )r      L)r   r      r,   )      t)r   i  t  )r   r   iP  )r   r   r   i
  )     v  )r   i  , i  )r   r   i6 4|  )r   r   r   i  x)r   r   r   r   iD  r/   )i!  p]) 2@l%PAy    g
 P=    /w$:R
   xDum7   O@>/,	   t:`j!    < )r   i y ̌    r	 @u\     Db`Hh    Pz6  }%     l&W c(     hx 4z     d~I
 8wl8Z     @u8! `6a)r   r  l   @iLU  RK   8H,!`g`36    g0  *?*^B    ;t$ }|   @bsk C{'"i   `>9&%mq>   3CM@; 86`T    Pm;,
 )r   r  r  l    pM6= 0	     nC  YJVr     <_ L^V    R8 uxb    eH  EIBQx    HvYP x(6$     7	 >u1)r   r  r  r*  l   Dcf$l @QM    8ItHv0"Qs   N
:v @ s/V|    #& p-N$v     5  @,@VK-
    8_DdYI  B _,    qk)r  r  r  r+  r7  l    O9x&Y)lx     pd gsxmU     D0FZD K|y#l_y     xbr &V%     lny?Cce @M=p-     @@|%6 h\bC )r  r  r  r,  r8  rC  l   @/.L  BAyks'9    | 
LjY   iYn\"% #5Ey    X(@T'3?   @,3 Hx+/S    pO3^#
 )r  r  r   r-  r9  rD  rN  l    @+aF}cJ{
;_    P8Xy8Qo& BIhN    `@
oc#dLq,O    pFYRa Ii9M     R/$L@<8zG 0 )r  r  r!  r.  r:  rE  rO  rX  l   $9@t)4   07$$Tv0 l7>?   "`-:M= (^@b)   6a;:BMb-Kx?|#   Z$M~ll )r  r  r"  r/  r;  rF  rP  rY  ra  l    l>cTA@8HV-:v    h{d*U zaC<C     dYwMf RyUC#h.    @)]oz+%)r  r  r#  r0  r<  rG  rQ  rZ  rb  ri  l   @e4jT  GU
    `i
t,@  Y,ch8    E@3I3T X=&@E   ~Si)r  r  r$  r1  r=  rH  rR  r[  rc  rj  rp  l    p}v `Xfz~A`si     86Jpsbv  $JY'ip     tk(0u1@<f)r  r  r%  r2  r>  rI  rS  r\  rd  rk  rq  rv  l   w2T.g]  %\n     PYHul ZR@
R   LwJ)r	  r  r&  r3  r?  rJ  rT  r]  re  rl  rr  rw  r{  l    L#(S.,# 2F=EgJ    @}l`L\k)r
  r  r'  r4  r@  rK  rU  r^  rf  rm  rs  rx  r|  r  l   @i7Qt0" 8B3\f	   p1&S,)r  r  r(  r5  rA  rL  rV  r_  rg  rn  rt  ry  r}  r  r  l     @Y? }xl]R )r  r  r)  r6  rB  rM  rW  r`  rh  ro  ru  rz  r~  r  r  r  l   /"}+
    r   )rtol)r   r	   r   r
   r   astypers   )r2   invh1invh2invh3invh4invh5invh17s          r4   r5   TestInvHilbert.test_basic   s   se:at4e<:a=%02wBx! ":at4e<!*Q-7|'&( ) 	:at4e<!*Q-7,0002 3 	:at4e<!*Q-73:<>:	< =
 	:at4e<!*Q-77-
D
!79#$$%=&>==;:ey
 yt 	:b5v>
2e(<5Ir7   c                     [        SS5       HN  n[        U5      n[        U5      n[        U5      n[	        UR                  U5      [        U5      SU-  SU-  S9  MP     g )Nr*   rC   gV瞯<)r   r  )r   r   r   r    r   r   r   )r2   r   r   brJ   s        r4   test_inverseTestInvHilbert.test_inverse  sQ    q"A
A1A QAAEE!Hc!f57qI r7   rW   N)rX   rY   rZ   r[   r5   r  r\   rW   r7   r4   r   r      s    ZJxJr7   r   c                   $   \ rS rSrS\" S//5      \" S//5      4S\" SS/SS//5      \" SS/SS//5      4S\" / SQ/ SQ/ SQ/5      \" / S	Q/ S
Q/ SQ/5      4S\" / SQ/ SQ/ SQ/ SQ/5      \" / SQ/ SQ/ SQ/ SQ/5      4/rS rS rS rS r	Sr
g)
TestPascali  r*   r+   r   r,   )r*   r*   r*   r)   )r*   r,   r   )r*   r   r   )r*   r*   r   )r*   r+   r*   r.   rq   )r*   r+   r,   r.   )r*   r,   r   rC   )r*   r.   rC   r'   r   )r*   r*   r   r   )r*   r+   r*   r   )r*   r,   r,   r*   c                 "   [        [        U5      U5        [        [        USS9U5        [        [        USS9UR                  5        [        [        USS9U5        [        [        USSS9U5        [        [        USSS9UR                  5        g )Nlower)kindupperFr   )r   r  )r	   r   r   r
   r2   r   symlows       r4   
check_caseTestPascal.check_case  sq    6!9c*6!'2C86!'2CEE:!&%"8#>!&%g"FL!&%g"FNr7   c                 T    U R                    H  u  pnU R                  XU5        M     g N)casesr  r  s       r4   
test_casesTestPascal.test_cases  s"    ::KACOOAC( &r7   c                 B    [        S5      nUS   [        SSSS9:X  d   eg )N2   )rr   rr   b   1   Tr   )r   r   r2   ps     r4   test_bigTestPascal.test_big  s&    2JyDRt4444r7   c                     [        S5      n[        SUR                  SS5      -  UR                  SS5      SS9  [        S5      n[        SUR                  SS5      -  S	UR                  SS5      -  S
S9  g )N"   r+   rr   zn = 34err_msg#   r   r9   zn = 35)r   r   itemr  s     r4   test_thresholdTestPascal.test_threshold  se    
 2JQqvvb"~%qvvb"~xH2JRr2&166"b>(98Lr7   rW   N)rX   rY   rZ   r[   r   r  r  r  r  r  r\   rW   r7   r4   r  r    s     
EA3%L%!,'	
EAq6q6 Aq6q6 	 
E9  9 	  
E< !# $ <! "		#E,O)5Mr7   r  c                      S n / SQn/ SQnU H  nU H  nS H  nU " X4U5        M     M     M      / SQnU H  nU H  nU " X4S5        M     M     g )Nc           
          [        XUS9n[        XUS9nUR                  [        5      R	                  UR                  [        5      5      n[        U[        U 5      SU  SU< SU< 3S9  g )N)r  r   zn=z  kind=z exact=r  )r   r   r  objectr   r	   r   )r   r  r   ipr  es         r4   check_invpascal'test_invpascal.<locals>.check_invpascal  sa    q511u- IIf!!!((6"231c!f1#WTHGE9.UVr7   )	symmetricr  r  )r*   r+   r/      )TF)   r  r  r  TrW   )r  kindsnsr   r  r   s         r4   test_invpascalr    sa    
W ,E	BD&/ '  
 
BDAT*  r7   c                  B   [        S5      n [        SS/SS//5      n[        X5        [        SSS9n [        XS-  5        [        SSS9n [        X[        S5      -  5        [        / SQ5      n[        S	5      n U R	                  U5      n[        U5      n[        X45        g )
Nr+   r9   rp   r   )scaler   sqrtn)r   r*   r+   r,   r.   r/   r   r*      )r   r   r
   r   r   r   )mr   r=   mxfxs        r4   test_dftr    s    AAsCj3+./Ha*ASAa#.AWAa$s)!34&'AAA	
qB	QBb%r7   c           	      Z   [        U R                  / 5      5      n[        U5      S:X  d   e[        U R                  S/5      5      n[        XR                  S//5      5        [        U R	                  SS5      5      nU R                  / SQ/ SQ/ SQ/ S	Q/ S
Q/ SQ/5      n[        X5        g )Nr   g     ^@r   r*   r   )r   r*   r+   r,   r.   r/   )r*   r   r*   r+   r,   r.   )r+   r*   r   r*   r+   r,   )r,   r+   r*   r   r*   r+   )r.   r,   r+   r*   r   r*   )r/   r.   r,   r+   r*   r   )r   r   r#   r"   r   )r   fdess      r4   test_fiedlerr    s    

2A1:??

D6"#AAzzB4&)*		!Q A
**((((((* +C Ar7   c                     [        / 5      n [        U R                  S5        [        S/5      n [        U R                  S5        [        SS/5      n [        U [        R
                  " S//5      5        [        / SQ5      n [        U [        / SQ5      5        [        [        5         [        / SQ5        S S S 5        [        / SQ5      n [        [        U 5      [        R
                  " / SQ5      5        g ! , (       d  f       NG= f)	Nr   r9   r   r   )r   r   r:   )r   r*   r+   )r9   g      0g     U@g      fg     @Z@)g      @r   r:   r9   )r   r   sizer	   r   r   r
   r   rt   ru   r   )fcs    r4   test_fiedler_companionr    s    	2	B!	B4	 B!	B8	$Br288cUG,-	?	+Bb)O"<=	z	")$ 
#	7	8Bgbk hh'78: 
#	"s   &C55
Dc                   >   \ rS rSrSrS rS rS rS r\	R                  R                  SSS	/5      \	R                  R                  S
/ SQ5      \	R                  R                  S/ SQ5      \	R                  R                  S/ SQ5      S 5       5       5       5       rSrg)TestConvolutionMatrixi$  zD
Test convolution_matrix vs. numpy.convolve for various parameters.
c                     [         R                  " SSU5      nU(       a  US[         R                  " SSU5      -  -   nU$ )z/Make a complex or real test vector of length n.r   g@r   r   g@)r   linspace)r2   r   cpxr=   s       r4   create_vector#TestConvolutionMatrix.create_vector)  s8    KKc1%Br{{4a000Ar7   c                     [         R                  " [        SS9   [        / SQS5        S S S 5        g ! , (       d  f       g = f)Nzn must be a positive integermatchr)   r   r   r   ru   r   r{   s    r4   
test_bad_n TestConvolutionMatrix.test_bad_n0  s(    ]]:-KLy!, MLLs	   2
A c                     [         R                  " [        SS9   [        / S5        S S S 5        g ! , (       d  f       g = f)Nzlen\(a\)r  r.   r  r{   s    r4   test_empty_first_arg*TestConvolutionMatrix.test_empty_first_arg5  s&    ]]:[9r1% :99s   0
>c                     [         R                  " [        SS9   [        SSSS9  S S S 5        g ! , (       d  f       g = f)Nzmode.*must be one ofr  r   r.   zinvalid argument)moder  r{   s    r4   test_bad_mode#TestConvolutionMatrix.test_bad_mode:  s+    ]]:-CDvq/AB EDDs   /
=r  FTna)r*   r+   r   nvr  )Nr   validsamec                     U R                  X!5      nU R                  X15      nUc"  [        R                  " Xe5      n[        XS5      nO#[        R                  " XeU5      n[        XSU5      nX-  n	[	        Xy5        g r  )r  r   convolver   r
   )
r2   r  r  r  r  r   vy1Ay2s
             r4   test_against_numpy_convolve1TestConvolutionMatrix.test_against_numpy_convolve?  sl    
 r'r'<Q"B"1)AQ4(B"1$/AU!")r7   rW   N)rX   rY   rZ   r[   __doc__r  r  r  r  r   r   parametrizer  r\   rW   r7   r4   r  r  $  s    -
&
C
 [[UUDM2[[T9-[[T9-[[V%DE
* F . . 3
*r7   r  r/   zf, argsrW   )r/   r  r   c           	         [         R                  R                  S5      nSnSnUR                  X44-   5      nU [        1;   a.  Sn[        R
                  " [        US9   U " U/UQ76   S S S 5        g U " U/UQ76 n[         R                  " UR                  SU5       Vs/ s H  o" U/UQ76 PM     sn5      n	U	R                  UR                  S S U	R                  SS  -   5      n	[        Xy5        g ! , (       d  f       g = fs  snf )Nl   ! )r+   r,   rC   z:Beginning in SciPy 1.19, multidimensional input will be...r  rr   r  )r   randomdefault_rngr   r   warnsFutureWarningr   reshaper   r   )
r  argsrngbatch_shaper  r  messageresr   refs
             r4   
test_batchr  P  s     ))


0CK
A

;%&AVH}N\\-w7aK$K 8
A++C
**199R+;<+;aakDk+;<
=C
++aggcrlSYYrs^3
4CC 87 =s   
C1D1
C?)@r   numpyr   r   r   r   r   r   numpy.testingr   r	   r
   r   r   rt   	scipy.fftr   scipy.specialr   scipy.linalgr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   numpy.linalgr    scipy._lib._array_apir!   r"   r#   r$   r&   r^   rf   rk   rx   r   r   r   r   r   r  r  r  r  r  r  r   	fail_slowr  r  rW   r7   r4   <module>r     s     0 0G G *  . . . . .
 5 5,+ ,+^A AA A/ /(( (( (> :C= C= C=LE E&' 'eJ eJP0M 0Mf+8&  7 ": )* )*X qi_&/_&8+%F&-r]&7%<&,ryy|o%>&,ryy|o%>&.1%@%' (( r7   