
    doi              	          S SK r S SKrS SKrS SKJr  S SKJr  S SKJ	r	  S SK
JrJr  \R                  S\R                  S\R                  S\R                   S0rS r/ r\R)                  5        HT  r/ r\" \5      (       a  \R.                  R0                  /r\R3                  \R4                  " \\\R6                  S	95        MV     \" \5      rSS
 jr\R.                  R=                  S\R>                  \\45      \R.                  R=                  S\R                  \R                  \R                  \R                   /5      \R.                  R=                  SS5      \R.                  R=                  SS5      S 5       5       5       5       r \R.                  RB                  \R.                  R=                  S\5      \R.                  R=                  SS5      S 5       5       5       r"\R.                  R=                  SS5      \R.                  R=                  S\SS 5      S 5       5       r#\R.                  R0                  \R.                  RI                  5       S 5       5       r%\R.                  R=                  SSS/5      \R.                  R=                  S\R                  \R                  45      S 5       5       r&\R.                  R=                  S\R                  \R                  \R                  \R                   45      S 5       r'g)    N)assert_allclose)raises)_svdp)	csr_array	csc_arrayg-C6?g:0yE>c                 H    [         R                  " U 5      R                  S:H  $ )Nc)npdtypekindr   s    b/var/www/html/land-ocr/venv/lib/python3.13/site-packages/scipy/sparse/linalg/tests/test_propack.pyis_complex_typer      s    88E?3&&    )marksidc	           	          [         U   n	Uc  [        R                  R                  S5      n[        R                  R                  S5      n
[	        U5      (       a=  SSU
R                  X/S9-  -   S-
  SU
R                  X/S9-  -   R                  U5      nO%SSU
R                  X/S9-  -   R                  U5      nSXR                  SU-  S-
  :  '   U" U5      n[        R                  R                  USS	9u  pn[        XXeXS
9u  nnnnUR                  5       S:X  aD  [        R                  " XS5      n[        R                  " XS5      n[        R                  " X5      n[        US U UXS9  [        [        R                  " UR                  5       R                   U-  5      [        R"                  " X5      XS9  [        [        R                  " UR                  5       UR                   -  5      [        R"                  " X5      XS9  g )Nr   
   sizey              @y              $@   Ffull_matrices)kwhichirl_modetolrngSM   )rtolatol)TOLSr
   randomdefault_rngr   uniformastypereallinalgsvdr   upperrollr   absconjTeye)nmconstructorr   r   r   r   fr   r   rng2MMspu1sigma1vt1u2sigma2vt2_s                       r   
check_svdpr@   %   s   
u+C
{ii##A& 99  #Du21&111$,,QF,3345;VE] 	
 "t||!|00088?AffrAvz
a.CiimmAUm;OBse#&1BQ {{}WWRAggca # F2AJS; BFF2779;;+,bffQlOBFF388:-.q3Qr   ctorr   irl)TFr   )LMr    c                     [         R                  R                  S5      nSu  pVnUS:X  a-  U(       d&  Sn[        [        US9   [        XVXXrX4S9  S S S 5        g [        XVXXrX4S9  g ! , (       d  f       g = f)Nl   WV{1 )r         r    z#`which`='SM' requires irl_mode=True)match)r   )r
   r%   r&   assert_raises
ValueErrorr@   )	rA   r   rB   r   r   r2   r3   r   messages	            r   	test_svdprK   G   si     ))

 0
1CGA!}S7:W5qT!%A 65 	1ae= 65s   A%%
A3)FTc                 N   [         R                  S[         R                  S[         R                  S[         R                  S0U    n[
        R                  R                  [        5      nSn[
        R                  R                  X45      n[         R                  " USS9 n[        U 5      (       a#  US   R                  5       R                  U 5      nO"US   R                  5       R                  U 5      nS S S 5        S	n[        WX[         R                  R!                  S
5      S9u  pp[        U 5      (       a  SOUnU	S S 2S U24   n	US U2S S 24   nU
S U n
[#        [         R$                  " U	R&                  S   5      U	R)                  5       R*                  U	-  US9  [#        [         R$                  " UR&                  S
   5      XR)                  5       R*                  -  US9  [         R,                  R/                  UR1                  5       5      u  pnUS S 2S U24   nUS U nUS U2S S 24   nU[         R2                  " U5      -  U-  nU	[         R2                  " U
5      -  U-  n[#        [         R,                  R5                  UU-
  5      S
US9  g ! , (       d  f       GN= f)NgC8
!?g&.>gMbP?zpropack_test_data.npzT)allow_pickle	A_complexA_real   r   )r   r      r!   r#   )r
   float32float64	complex64
complex128ospathdirname__file__joinloadr   itemr(   r   r%   r&   r   r1   shaper/   r0   r*   r+   todensediagnorm)r   rB   r#   path_prefixrelative_pathfilenamedataAr   usvhr?   sv_checku3s3vh3A3recons                      r   test_examplesrp   W   s!    	

F


D
d
t	
 D ''//(+K ,Mww||K7H		-5!![!&&(//6AX##%,,U3A	 
. 	A1		0E0Ea0HIKA" %U++rH	!YhY,A	IXIqL	B	)8A BFF1771:&

QTBBFF288A;'ggikk)9E ))--		,KBC	AyyL	B	IXB
ixil
C	bggbk	C	B
NREBIINN2:.=9 
.	-s   AJ
J$shifts)Nir   r!   r   F      c           
      V   [         R                  R                  S5      nSu  p4UR                  X345      nU bP  U S:  d  U[        US-
  U -
  U5      :  a4  [        R
                  " [        5         [        XTU SU-  SUS9  S S S 5        g [        XTU SU-  SUS9  g ! , (       d  f       g = f)Nr   rr   r   r!   r   T)rq   kmaxr   r   )r
   r%   r&   minpytestr   rI   r   )rq   r   r   r2   r   rf   s         r   test_shiftsry      s     ))


"CDA

A6A
C!F
A4F0F]]:&!vAaC$CH '& 	a6!dD '&s   /B
B(c            	          [         R                  R                  S5      n Su  pU R                  X45      R                  [         R                  5      n[        X2S SSU S9u  pEpg[        X2SSSU S9u  pp[        XY5        g )Nr   ru   r    T)rq   r   r   r       )r
   r%   r&   r(   rT   r   r   )r   r2   r   rf   r9   s1r;   r?   r<   s2r>   s              r   test_shifts_accuracyr~      st     ))


"CDA

A6!!"**-A1D4SQNBC1$3ONBC Br   r   FTc                    [         R                  R                  S5      nSu  p4[         R                  " [	        U5       VVs/ s H'  n[	        U5       Vs/ s H  nSXV-   S-   -  PM     snPM)     snnUS9n[         R
                  R                  USS9u  pn
[        USSXS	9u  pp[        X[        U   S
9  [        [         R                  " UR                  S   5      UR                  U-  [        U   S
9  [        [         R                  " UR                  S   5      XR                  -  [        U   S
9  [        [         R                  " UR                  U-  5      [         R                  " U5      [        U   S
9  [        [         R                  " XR                  -  5      [         R                  " U5      [        U   S
9  g s  snf s  snnf )Nl   mac{1 )rP      r!   r   Fr   r   rC   r   r   r   r   rR   r   )r
   r%   r&   arrayranger*   r+   r   r   r$   r1   r^   r0   r.   )r   r   r   r3   r2   ijrf   uussvvrg   rh   vtr?   s                  r   test_thin_hilbertr      sK    ))

 0
1CDA 	uQxHx!E!H5Hq1	?H5xHPUVAq6JBBQdXGKA"AU, BFF1771:&ad5kBBFF288A;'ddeE BFF244!8$bffQid5kBBFF29%rvvaytE{C 6Hs   G

G)G

G

c                 0   [         R                  R                  S5      nSu  p#UR                  X#4S9R	                  U 5      nU [         R
                  [         R                  4;   a*  X@" S5      UR                  X#4S9R	                  U 5      -  -  n[         R                  R                  USS9u  pVn[        USSS	US
9u  pp[        X[        U    S9  [        [         R                  " UR                  S   5      UR                  5       R                  U-  [        U    S9  [        [         R                  " U
R                  S   5      XR                  5       R                  -  [        U    S9  [        [         R                   " UR                  5       R                  U-  5      [         R                  " U5      [        U    S9  [        [         R                   " XzR                  5       R                  -  5      [         R                  " U5      [        U    S9  g )Nl   d={1 )rF   d   r   y              ?Fr   rF   rC   Tr   rR   r!   r   )r
   r%   r&   r'   r(   rU   rV   r*   r+   r   r   r$   r1   r^   r/   r0   r.   )r   r   r3   r2   rf   r   r   r   rg   rh   r   r?   s               r   test_fat_randomr      sw   
))

 0
1CDA! ''.Ar}}--	U2Y1&188???q6JBBQdTsCKA"AU, BFF1771:&

QT%[IBFF288A;'ggikk)9UL BFF2779;;?+RVVAYT%[IBFF2	+,bffQid5kJr   )g?N)(rW   rx   numpyr
   numpy.testingr   r   rH   scipy.sparse.linalg._svdpr   scipy.sparser   r   rS   rT   rU   rV   r$   r   _dtypeskeysdtype_flavourr   markslowappendparam__name__tupler@   parametrizer   rK   xslowrp   ry   xfailr~   r   r    r   r   <module>r      s   	   ) * + -
 JJJJLL$MM4	' YY[ME}%%!!"NN6<<U#0#9#9; <	 ! .RD "((Iy!AB2::rzz#%<<#@ A.,/> 0 /A C
> '*.,> / + ,>^ #<='"1+.E / >E    eT]32::rzz":;D < 4D& 2::rzz2<<"WXK YKr   