+
    /in                       ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHtHtH	t	H
t
HtHt ^ RIt^ RIHt ^ RIHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtH t H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t(H)t)H*t*H+t+H,t,H-t-H.t. ^ RI/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8 ^ RI9H:t: ^ RI;H<t< ^ RI=H>t> ^ R	IH?t?H@t@HAtAHBtBHCtCHDtDHEtEHFtFHGtGHHtHHItIHJtJHKtKHLtLHMtMHNtNHOtOHPtPHQtQ ^ R
IRHStS ^ RITHUtU ^ RIVHWtW ^ RIXHYtY ^ RIZH[t[ ^ RI\H]t] ]P                  R8H  ;'       g    ]P                  ! 4       RU9   t_R]`3R lta]P                  ]P                  .tc]P                  ]P                  .te]c]e,           tfR tg ! R R4      th ! R R4      ti ! R R4      tj ! R R4      tk ! R R4      tl ! R R4      tm ! R  R!]m4      tn]P                  P                  ]_R"R#7      ]P                  P                  R$4      ]P                  P                  ^4      ]P                  P                  ^
4      R% 4       4       4       4       ttR& tu ! R' R(4      tv ! R) R*4      tw ! R+ R,4      tx ! R- R.4      ty ! R/ R04      tz ! R1 R24      t{R;t|t}]]R3,          R4,          R5,          t|]]R3,          R4,          R6,          t} ! R7 R84      t~ ! R9 R:4      t ! R; R<4      t ! R= R>4      tR? t]P                  P                  ]P                  ! 4       R@8H  RAR#7      RB 4       tRC tRD t]P                  EP                  RRERF7      RG 4       t ! RH RI4      tRVRJ lt]P                  EP                  ]P                  P                  ]EP                  ! ]EP                  4      EP                  ^8  RKR#7      RL 4       4       tRM t]P                  EP!                  RN]]`]P                  ]]P                  .4      RO 4       t ! RP RQ4      tRR t ! RS RT4      tR# )W    N)assert_equalassert_almost_equalassert_array_almost_equalassert_array_equalassert_assert_allclose)raises)eigeigvalslusvdsvdvalscholeskyqrschurrsf2csflu_solve	lu_factorsolvediagsvd
hessenbergrq
eig_bandedeigvals_bandedeigheigvalshqr_multiplyqzorthordqzsubspace_angleshadamardeigvalsh_tridiagonaleigh_tridiagonal
null_spacecdf2rdfLinAlgError)	dgbtrfdgbtrszgbtrfzgbtrsdsbevdsbevddsbevxzhbevdzhbevx)norm)_select_function)ortho_group)arraydiagfulllinalgargsortzerosarangefloat32	complex64ravelsqrt	iscomplexshapesortsignasarrayisfinitendarrayeye)assert_no_overwrite)matrix)check_free_memory)	HAS_ILP64)skip_xp_invalid_arg)CONFIG
emscriptenFc                   V\         9   ds   \        P                  P                  W 4      \        P                  P                  W 4      R,          ,           pW3P	                  4       P
                  ,           ^,          pM8\        P                  P                  W 4      pW3P
                  ,           ^,          pV'       d5   V\        ^V ,          4      \        P                  ! V 4      ,          ,          pVP                  V4      # )z7Generate random sym/hermitian array of the given size n              ?)	COMPLEX_DTYPESnprandomrandconjTr>   rF   astype)nposdefdtypeAs   &&& \/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/linalg/tests/test_decomp.py_random_hermitian_matrixr\   +   s     IINN1 299>>!#7#<<^QIINN1 WaK	T!A#Yrvvay  88E?    c                   \        V \        4      '       d#   T pVP                  V4      ^,          ^,
          pMQ\        V \        4      '       d1   \	        V P
                  4      ^8X  d   V P
                  ^ ,          pT pM\        R4      h\        P                  ! V4      pVP                  P                  4       \        V4      ,          V,          pRVP                  V,           ,          pV# )a  Return a random symmetric (Hermitian) matrix.

If 'dim_or_eigv' is an integer N, return a NxN matrix, with eigenvalues
    uniformly distributed on (-1,1).

If 'dim_or_eigv' is  1-D real array 'a', return a matrix whose
                  eigenvalues are 'a'.
zinput type not supported.      ?)
isinstanceintrR   rE   lenr@   	TypeErrorr3   rvsrU   rT   r5   )dim_or_eigvrngdimdvhs   &&    r[   symrandrk   B   s     +s##JJsOA!
['
*
*
k
 A
%"344A	
T!Wq AQSSUAHr]   c                      a  ] tR t^\t o R tR tR tR t]P                  P                  R]]]]].4      R 4       tRtV tR# )	TestEigValsc                    . RO. RO. RO.p\        V4      p^	\        ^]4      ,           ^,          ^ ^	\        ^]4      ,
          ^,          .p\        W#4       R#    Nrp         rr         r   r>   r   selfawexact_ws   &   r[   test_simpleTestEigVals.test_simple^   sC    	9-AJd2hJ>1qbz1n5!!-r]   c                   \        . RO. RO. RO.R4      P                  pVP                  4       pVP                  p\        V4      p^	\	        ^]4      ,           ^,          ^ ^	\	        ^]4      ,
          ^,          .p\        W#4       R# )rp   rh   Nrq   rt   )r4   rU   copyr   r>   r   rx   s   &   r[   test_simple_trTestEigVals.test_simple_trd   sd    9i3S9;;FFHCCAJd2hJ>1qbz1n5!!-r]   c                    . RO. RO. RO.p\        V4      pR\        R4      ,           ^,          ^ R\        R4      ,
          ^,          .p\        W#4       R# )rp   Nrq   rr   ru   y      @      ?y      "@      ?y      W@      @rw   rx   s   &   r[   test_simple_complexTestEigVals.test_simple_complexl   sM    	<0AJe$a'e$a') 	"!-r]   c                    . RO. RO. RO.p\        VRR7      p^	\        ^]4      ,           ^,          ^ ^	\        ^]4      ,
          ^,          .p\        W#4       R# rp   Fcheck_finiteNrq   rt   rw   rx   s   &   r[   test_finiteTestEigVals.test_finitet   sF    	9-AE*d2hJ>1qbz1n5!!-r]   dtc                   \         P                  ! RVR7      p\        V4      pVP                  R8X  g   Q hVP                  \        \         P
                  ! ^VR7      4      P                  8X  g   Q h\        VRR7      pVP                  R8X  g   Q hVP                  \        \         P
                  ! ^VR7      4      P                  8X  g   Q hR# r   rY   Thomogeneous_eigvalsNr   r   r   rr   r   )rQ   emptyr   r@   rY   rF   )ry   r   rz   r{   s   &&  r[   
test_emptyTestEigVals.test_emptyz   s    HHV2&AJww$ww'"&&""56<<<<<A40ww&   ww'"&&""56<<<<<r]    N)__name__
__module____qualname____firstlineno__r}   r   r   r   pytestmarkparametrizera   floatr;   complexr<   r   __static_attributes____classdictcell____classdict__s   @r[   rm   rm   \   sJ     .... [[TC)#LM= N=r]   rm   c            	       `  a  ] tR t^t o R tR tR tR tRR ltR t	R t
R tR	 tR
 tR tR tR t]P$                  P'                  R]]]P.                  ]]P2                  .4      R 4       t]P$                  P'                  RRR.4      ]P$                  P'                  RRR.4      ]P$                  P'                  RRR.4      ]P$                  P'                  RRR.4      ]P$                  P'                  R]P.                  ]P6                  .4      R 4       4       4       4       4       tRtV tR# )TestEigc                2   \        . RO. RO. RO.4      p\        V4      w  r#^	\        ^]4      ,           ^,          ^ ^	\        ^]4      ,
          ^,          .p\        ^^^\        ^]4      ^,          ,           ^,          .4      p\        . RO4      p\        ^^^\        ^]4      ^,          ,
          ^,          .4      pV\        V4      ,          pV\        V4      ,          pV\        V4      ,          p\	        W$4       \	        WSR,          \        VR,          4      ,          4       \	        WcR	,          \        VR
,          4      ,          4       \	        WsR,          \        VR,          4      ,          4       \        ^4       F4  p\	        WRV3,          ,          W(,          VRV3,          ,          4       K6  	  \        V^^ R7      w  r#\        ^4       F?  p\	        VP                  VRV3,          ,          W(,          VRV3,          ,          4       KA  	  R# )rp   NNNleftrightNrq   rt         @r   r   r   r   r   rp   r   rp   r   rr   r   rr   )r4   r
   r>   r1   r   rB   rangerU   	ry   rz   r{   ri   r|   v0v1v2is	   &        r[   r}   TestEig.test_simple   s   9i341vd2hJ>1qbz1n5Aq1T"XaZ<*+,;Aq1T"XaZ<*+,$r(]$r(]$r(]!!-!"gd1T7m&;<!"gd1T7m&;<!"gd1T7m&;<qA%aAqD'k14!Q$<@ 11A&qA%accAadGmQT!AqD'\B r]   c                   \        ^^.R^..4      p\        V^^R7      w  r#p\        V\        RR.4      4       \        ^4       F4  p\        WRV3,          ,          W%,          VRV3,          ,          4       K6  	  \        ^4       F[  p\        VP	                  4       P
                  VRV3,          ,          W%,          P	                  4       VRV3,          ,          4       K]  	  R# )rp   r   r   N      ?       @y      ?       )r4   r
   r   r   rT   rU   ry   rz   r{   vlvrr   s   &     r[   test_simple_complex_eigTestEig.test_simple_complex_eig   s    Aq6B7#$+	r!!UD$<%89qA%aQT(lADAqDMB qA%affhjj2ad8&;&'diik"QT(&:< r]   c                   \        . RO. RO. RO.4      p\        V^^R7      w  r#p\        ^4       F4  p\        WRV3,          ,          W%,          VRV3,          ,          4       K6  	  \        ^4       F[  p\        VP	                  4       P
                  VRV3,          ,          W%,          P	                  4       VRV3,          ,          4       K]  	  R# )rp   r   r   Nrq   r   )r4   r
   r   r   rT   rU   r   s   &     r[   r   TestEig.test_simple_complex   s    9i67+	rqA%aQT(lADAqDMB qA%affhjj2ad8&;&'diik"QT(&:< r]   c                   ^..p^ ..p\        WRR7      w  r4\        VR,          ^ 4       \        VR,          ^ 8g  4       \        V^4       \        W4      w  r4\        V\        P
                  4       \        V^4       R# )rp   Tr   Nrp   r   r   )r
   r   r   r   rQ   inf)ry   rz   br{   r   s   &    r[   test_gh_3054TestEig.test_gh_3054   sm    SESEAd3$#$1AA	QAr]   c           	     \   Ve   \        V4      \        V4      r!TpM+\        V4      pTp\        P                  ! VP                  !  pRV: RV: 2p\	        WRR7      w  r\        WRR7      pW,          V	R,          ,          pW*,          V	R,          ,          p\        VP                  ^,          4       F$  p\        VRV3,          VRV3,          WCVR7       K&  	  Vf'   \        V	R,          ^4       \        VR,          ^4       \        P                  ! V	4      p\        P                  ! V4      p\        V	RV3,          VRV3,          RRVR7       \        P                  ! \        V
4      4      p\        \        V
4      4       F  p\        V
RV3,          4      VV&   K  	  \        V\        P                  ! VP                  4      VRRR7       V	R,          ^ 8g  pV	^ V3,          V	^V3,          ,          p\	        W4      w  r\        W4      pW,          pW*,          V	,          pW,
          p\        VP                  ^,          4       FK  p\        P                  ! \        VRV3,          4      4      '       g   K3  \        VRV3,          ^ WeVR7       KM  	  V	\        V	4      ,          pV\        V4      ,          pR\        P                   ! R	V,          R
R7      ,          pR\        P                   ! R	V,          R
R7      ,          p\#        \%        V4      VP&                  ,           4      p\#        \%        V4      VP&                  ,           4      p\        VV,          VV,          RRVR7       \        P                  ! \        V
4      4      p\        \        V
4      4       F  p\        V
RV3,          4      VV&   K  	  \        V\        P                  ! VP                  4      VR7       \        \)        V4      \)        V	\        P                  ! V	4      ,          4      4       R # )N
Tr   r   rtolatolerr_msggHz>)r   r   r   )r   r   r   rO   g|=)tolr   )rp   r   )r   r   y             )rC   rQ   rF   r@   r
   r   r   r   lexsortr   rb   r1   onessizeallrD   real_if_closer8   absimagrA   )ry   rZ   B
atol_homog
rtol_homogr   r   B0msgr{   r   wtval1val2r   permpermtlengthbeta_nonzerowhresw_finwt_fins   &&&&&&&                r[   _check_gen_eigTestEig._check_gen_eig   s:   =1:wqzqB
AB A1%r! At4Q5v$v$tzz!}%ADAJQT
!+cK & :AdGQ'BtHa(zz!}

2!T'
Bq%xLt$ #	% #b'"s2wAR1XF1I   	 4c!	. $1q,!A|O"44 A
Q^vvzksyy|$Avvhs1a4y)**AqD	1%)cC % (1+HRL! b&&r%xU;;r''6	u==s5zEJJ./Ffkk12dVE]!c	; #b'"s2wAR1XF1I   4cB 	R$qQ'8"9:r]   c           	        \        . RO. RO. RO. R	O. R
O.4      p\        . RO. RO. RO. RO. RO.4      p\        P                  ! RR7      ;_uu_ 4        V P                  WRRR7       RRR4       R#   + '       g   i     R# ; i)   ignorer   g-a=)r   r   N)r   "      r      )-   r   *         )'   /   1      r   )   r   r         )&   ,   r        )   r      r   r  )r   .   (   r   %   )r   r  r   r  r  )   r  r         )r  #      r   r   )r4   rQ   errstater   ry   rZ   r   s   &  r[   test_singularTestEig.test_singular  sw     '''''	) *
 '''''	) * [[X&&UC '&&&s   A33B	c                   \        \        . RO4      4      p\        . RO. RO. RO34      p\        . RO. R	O. R
O34      p\        R4      p\        ^4      p\        P
                  ! WT.WB) ..4      p\        P
                  ! WE.W..4      p\        P                  ! RR7      ;_uu_ 4        V P                  Wg4       RRR4       R#   + '       g   i     R# ; i)rp   r   r   N)rp   r   rs   )rr   r   r   )r   rr   r   )r   r   rr   )rp   r   r   )r   rp   r   r   r   r   rs   rs   )r5   r4   r9   rF   rQ   blockr  r   )ry   MKDZI3rZ   r   s   &       r[   test_falkerTestEig.test_falker  s    y!";[9::z956&MVHHrg2w'(HHqgv&'[[X&&% '&&&s   )CC	c                    R  p\         P                  ! RR7      ;_uu_ 4        \        ^d4       F-  pV! VR,          ^d,          R7      w  r4V P                  W44       K/  	  RRR4       R#   + '       g   i     R# ; i)c                     RV ^,          ,           p^V ,          p. RO. RO^ ^ V^ .^ ^ ^ V..p. RO. RO^^ ^ V) .^ ^V^ ..pW43# )	   )rp   r   r   r   )r   rp   r   r   )r   r   rp   r   )r   r   r   rp   r   )omegac1c2rZ   r   s   &    r[   matrices)TestEig.test_bad_geneig.<locals>.matrices&  sk    eQhB5BQAQ2 A QB3QA A 4Kr]   r   r         @)r!  N)rQ   r  r   r   )ry   r$  krZ   r   s   &    r[   test_bad_geneigTestEig.test_bad_geneig#  sW    	 [[X&&3Zad3h/##A)   '&&&s   =A**A;	c                   \         P                  P                  R 4      p\        ^V4      pV P	                  VR4       \        ^V4      pV P	                  W#4       VP                  R4      RVP                  R4      ,          ,           pV P	                  VR4       VP                  R4      RVP                  R4      ,          ,           pV P	                  W#4       R# )  NrO   r  )rQ   rR   RandomStaterk   r   )ry   rf   rZ   r   s   &   r[   test_make_eigvalsTestEig.test_make_eigvals:  s     ii##D)AsOAt$AsOA!JJvCJJv$6!66At$JJvCJJv$6!66A!r]   c                h   . RO. RO. RO.p\        VRR7      w  r#^	\        ^]4      ,           ^,          ^ ^	\        ^]4      ,
          ^,          .p\        ^^^\        ^]4      ^,          ,           ^,          .4      p\        . RO4      p\        ^^^\        ^]4      ^,          ,
          ^,          .4      pV\        V4      ,          pV\        V4      ,          pV\        V4      ,          p\	        W$4       \	        WSR,          \        VR	,          4      ,          4       \	        WcR
,          \        VR,          4      ,          4       \	        WsR,          \        VR,          4      ,          4       \        ^4       F4  p\	        WRV3,          ,          W(,          VRV3,          ,          4       K6  	  R# )rp   Fr   r   Nrq   rt   r   r   r   r   r   r   r   )r
   r>   r4   r1   r   rB   r   r   s	   &        r[   test_check_finiteTestEig.test_check_finiteH  s8   	9-15)d2hJ>1qbz1n5Aq1T"XaZ<*+,;Aq1T"XaZ<*+,$r(]$r(]$r(]!!-!"gd1T7m&;<!"gd1T7m&;<!"gd1T7m&;<qA%aAqD'k14!Q$<@ r]   c                |    \         P                  ! ^4      P                  ^^4      p\        \        \
        V4       R# )z:Check that passing a non-square array raises a ValueError.N)rQ   r:   reshapeassert_raises
ValueErrorr
   )ry   rZ   s   & r[   test_not_square_errorTestEig.test_not_square_errorY  s(    IIaL  A&j#q)r]   c                    \        ^4      p\        P                  ! R4      P                  ^^4      p\	        \
        \        W4       \	        \
        \        W!4       R# )zGCheck that passing arrays of with different shapes
raises a ValueError.      "@N)rF   rQ   r:   r3  r4  r5  r
   r  s   &  r[   test_shape_mismatchTestEig.test_shape_mismatch^  s?     FIIcN""1a(j#q,j#q,r]   c                   \         P                  ! . R
O. RO. RO. RO.RR7      p\         P                  ! . RO. RO. RO. RO.RR7      p\        W4      w  r4\        P                  ! 4       ;_uu_ 4        \        P
                  ! RR\        4       \         P                  ! VRRR7      P                  4       '       g   Q h\         P                  ! VRRR7      P                  4       '       g   Q h R	R	R	4       R	#   + '       g   i     R	# ; i)      (@float64r         @r   z%invalid value encountered in multiply+=r          @N)r=        <@g      S@g     k@)g      0@g      @@g      T@g      l@)g      8@      D@g      V@g      m@)rD  g      L@g      Z@g      o@)       @r?        $@rC  )r   r&        &@g      =@)r&        @g      *@g      ?@)r9  rG  g      1@g     A@)	rQ   r4   r
   warningscatch_warningsfilterwarningsRuntimeWarningiscloseany)ry   rZ   r   r  Vs   &    r[   test_gh_11577TestEig.test_gh_11577f  s     HH///02 :CD HH,,,-/ 7@A
 1y $$&&##A>S::a51557777::a51557777 '&&&s   3A8C9,C99D
	r   c                t   \         P                  ! RVR7      p\        V4      w  r4\        \         P                  ! ^VR7      4      w  rVVP                  R8X  g   Q hVP
                  VP
                  8X  g   Q h\        V\         P                  ! R4      4       VP                  R8X  g   Q hVP
                  VP
                  8X  g   Q h\        VRR7      w  r4VP                  R8X  g   Q hVP
                  VP
                  8X  g   Q hVP                  R8X  g   Q hVP
                  VP
                  8X  g   Q hR# r   )rQ   r   r
   rF   r@   rY   r   )ry   r   rz   r{   r   w_nvr_ns   &&     r[   r   TestEig.test_empty  s    HHV2&Aq+,	ww$ww#))###BHHV,-xx6!!!xx4::%%%A40ww&   ww#))###xx6!!!xx4::%%%r]   	include_BFTr   r   r   rY   c           	        RpRp\         P                  P                  R4      pVP                  Wg,           4      P                  V4      p	VP                  Wg,           4      P                  V4      p
\	        W4R7      pV'       d   \        V	3RV
RV/VB pM\        V	3RV/VB p\        V^ ,          4       F  p\        V^,          4       F  pV'       d"   \        WV3,          3RWV3,          RV/VB pM\        WV3,          3RV/VB pV'       g	   V'       d@   \        \        V4      4       F%  p\        VV,          W3,          VV,          4       K'  	  K  \        WV3,          V4       K  	  K  	  R# )rs   l   F)Q)r   r   r   r   Nrs   rr   )   rY  )	rQ   rR   default_rngrV   dictr
   r   rb   r   )ry   rV  r   r   r   rY   batch_shape
core_shaperf   rZ   r   kwargsr   r   jrefr'  s   &&&&&&           r[   test_nd_inputTestEig.test_nd_input  s=    
ii##M2JJ{/077>JJ{/077>EKa2124262Ca-d-f-C{1~&A;q>*a1gFa4FtFvFCa1g;D;F;C5"3s8_'Aqtc!f= - $C1Is3 + 'r]   r   N)vIh%<=rc  rc  rc  )r   r   r   r   r}   r   r   r   r   r  r  r(  r-  r0  r6  r:  rP  r   r   r   ra   r   rQ   r;   r   r<   r   
complex128ra  r   r   r   s   @r[   r   r      s-    C(<<
H;TD"&*."A"*
-8: [[TC

GR\\#RS& T&( [[[5$-8[[VeT]3[[Wudm4[[2UDMB[[Wrzz2==&AB4 C C 5 4 9
4r]   r   c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR t]P$                  P'                  R]]]P.                  ]]P2                  .4      R 4       tRtV tR# )TestEigBandedi  c                &    V P                  4        R # N)create_bandmatry   s   &r[   setup_methodTestEigBanded.setup_method  s    r]   c                L   ^
p^V n         ^V n        \        \        VR4      4      \        \        V^,
          R4      R4      ,           \        \        V^,
          R4      ^4      ,           \        \        V^,
          R	4      R
4      ,           \        \        V^,
          R	4      ^4      ,           V n        \        \        VR4      4      R\        \        V^,
          R4      R4      ,          ,           R\        \        V^,
          R4      ^4      ,          ,
          \        \        V^,
          R	4      R
4      ,           \        \        V^,
          R	4      ^4      ,           V n        \        \        VR4      4      \        \        V^,
          R4      R4      ,           \        \        V^,
          R4      ^4      ,           \        \        V^,
          R4      R
4      ,           \        \        V^,
          R	4      ^4      ,           V n        R\        \        VR4      4      ,          \        \        V^,
          R4      R4      ,           R\        \        V^,
          R4      ^4      ,          ,           \        \        V^,
          R4      R
4      ,           \        \        V^,
          R	4      ^4      ,           V n        \        P                  ! V P                  4      w  r#VP                  p\        V4      pW$,          V n        VRV3,          V n        \        P                  ! V P
                  4      w  r#VP                  p\        V4      pW$,          V n        VRV3,          V n        V P                  ^,           p\!        WQ3\"        R7      V n        \!        WQ3\&        R7      V n        \+        V4       Fi  p\        V P                  V4      V P$                  WV,
          ^,
          Wa13&   \        V P
                  V4      V P(                  WV,
          ^,
          Wa13&   Kk  	  ^V P                   ,          V P                  ,           ^,           p\!        WQ3\"        R7      V n        \        V P                  4      V P,                  ^V P                   ,          R3&   \+        V P                   4       F  p\        V P                  V^,           4      V P,                  ^V P                   ,          ^,
          V,
          V^,           V13&   \        V P                  V) ^,
          4      V P,                  ^V P                   ,          ^,           V,           ^ V^,
          V,
          13&   K  	  \!        WQ3\&        R7      V n        \        V P                  4      V P.                  ^V P                   ,          R3&   \+        V P                   4       F  p\        V P                  V^,           4      V P.                  ^V P                   ,          ^,
          V,
          V^,           V13&   \        V P                  V) ^,
          4      V P.                  ^V P                   ,          ^,           V,           ^ V^,
          V,
          13&   K  	  R\1        V4      ,          V n        V P2                  R,          V n        R# )zWCreate the full matrix `self.fullmat` and
the corresponding band matrix `self.bandmat`.      ?rE  rO   r   r   N      r          r               ?      ?)KLKUr5   r6   sym_matherm_matreal_matcomp_matr7   r
   realr8   	w_sym_linevec_sym_lin
w_herm_linevec_herm_linr9   r   bandmat_symr   bandmat_hermr   bandmat_realbandmat_compr:   r   bc)ry   NewevargsLDABr   s   &      r[   ri  TestEigBanded.create_bandmat  s     T!S\*tAaC346:4!T?A6NOtAaC346:4!T?A6NO
 d1dm,d4!S>2667d4!S>1556  QqS$45  QqS$3	4 d1cl+QqS$457;D1dOQ7OPQqS#346:4!T?A6NO
 Da..QqS$45d4!T?A667  QqS#34  QqS$3	4 DLL)WWr{q$wKDMM*WWr{(4[
 ww{ $%8!4)7;tA.24<<.CDTVAXqs]+/3DMM1/EDdfQhm,  y477"Q&!4)59*.t}}*=!DGG)Q,'twwA6:4==!A#6NDaik!mQqSU238<T]]>?RT9CDaik!mQqs1uW45	   "4)7;*.t}}*=!DGG)Q,'twwA6:4==!A#6NDaik!mQqSU238<T]]>?RT9CDaik!mQqs1uW45	   VAY&&F#r]   c                    \        V P                  ^R7      w  rpVR\        V4      3,          p\        \	        V4      V P
                  4       \        \        V4      \        V P                  4      4       R# )zICompare dsbev eigenvalues and eigenvectors with
the result of linalg.eig.	compute_vr   N)r,   r~  r8   r   rA   rz  r   r{  ry   r{   evecinfoevec_s   &    r[   
test_dsbevTestEigBanded.test_dsbev  sW     d..!<Q
]#!$q'4>>:!#e*c$2C2C.DEr]   c                    \        V P                  ^R7      w  rpVR\        V4      3,          p\        \	        V4      V P
                  4       \        \        V4      \        V P                  4      4       R# )zJCompare dsbevd eigenvalues and eigenvectors with
the result of linalg.eig.r  r   N)r-   r~  r8   r   rA   rz  r   r{  r  s   &    r[   test_dsbevdTestEigBanded.test_dsbevd  sW     t//1=Q
]#!$q'4>>:!#e*c$2C2C.DEr]   c           
     ,   \        V P                  4      w   p\        V P                  RR^V^^R7      w  r#rEpVR\	        V4      3,          p\        \        V4      V P                  4       \        \        V4      \        V P                  4      4       R# )zJCompare dsbevx eigenvalues and eigenvectors
with the result of linalg.eig.        r  r   r   N)
r@   ru  r.   r~  r8   r   rA   rz  r   r{  ry   r  r{   r  numifailr  r  s   &       r[   test_dsbevxTestEigBanded.test_dsbevx  sz     T\\"1$*4+;+;S#q!56a%A!TQ
]#!$q'4>>:!#e*c$2C2C.DEr]   c                    \        V P                  ^R7      w  rpVR\        V4      3,          p\        \	        V4      V P
                  4       \        \        V4      \        V P                  4      4       R# )zJCompare zhbevd eigenvalues and eigenvectors
with the result of linalg.eig.r  r   N)r/   r  r8   r   rA   r|  r   r}  r  s   &    r[   test_zhbevdTestEigBanded.test_zhbevd(  sW     t00A>Q
]#!$q'4??;!#e*c$2D2D.EFr]   c           
     ,   \        V P                  4      w   p\        V P                  RR^V^^R7      w  r#rEpVR\	        V4      3,          p\        \        V4      V P                  4       \        \        V4      \        V P                  4      4       R# )zJCompare zhbevx eigenvalues and eigenvectors
with the result of linalg.eig.r  r  r   N)
r@   rv  r0   r  r8   r   rA   r|  r   r}  r  s   &       r[   test_zhbevxTestEigBanded.test_zhbevx0  sz     T]]#1$*4+<+<c3156a%A!TQ
]#!$q'4??;!#e*c$2D2D.EFr]   c                   \        V P                  4      pVP                  p\        \	        V4      V P
                  4       \        V P                  4      pVP                  p\        \	        V4      V P                  4       ^p\        P                  ! ^4      p\        V P                  RW43R7      p\        \	        V4      V P
                  W4^,            4       \        V P                  RW43R7      p\        \	        V4      V P                  W4^,            4       V P
                  V,          R,
          pV P
                  V,          R,           p\        V P                  RWx3R7      p	\        \	        V	4      V P
                  W4^,            4       V P                  V,          R,
          pV P                  V,          R,           p\        V P                  RWx3R7      p
\        \	        V
4      V P                  W4^,            4       \        V P                  RR7      pVP                  p\        \	        V4      V P
                  4       R# )z?Compare eigenvalues of eigvals_banded with those of linalg.eig.r   selectselect_rangeh㈵>ri   Fr   N)
r   r~  ry  r   rA   rz  r  r|  rQ   longlong)ry   w_symw_hermind1ind2	w_sym_ind
w_herm_indv_lowerv_upper	w_sym_val
w_herm_vals   &          r[   test_eigvals_banded!TestEigBanded.test_eigvals_banded;  s   t//0

!$u+t~~> 1 12!$v,@ {{1~"4#3#3*-TLJ	!$y/"&..1f"=	?#D$5$5+.d\K
!$z"2"&//$Av">	@ ..&/..&/"4#3#3*-W<NP	!$y/"&..1f"=	? //$'&0//$'&0#D$5$5+.291CE
 	"$z"2"&//$Av">	@ t//eD

!$u+t~~>r]   c           
        \        V P                  4      w  rVR\        VP                  4      3,          p\	        \        V4      V P                  4       \	        \        V4      \        V P                  4      4       \        V P                  4      w  rEVR\        VP                  4      3,          p\	        \        V4      V P                  4       \	        \        V4      \        V P                  4      4       ^p^p\        V P                  RWx3R7      w  r\	        \        V	4      V P                  Wx^,            4       \	        \        V
4      \        V P                  RWx^,           13,          4      4       \        V P                  RWx3R7      w  r\	        \        V4      V P                  Wx^,            4       \	        \        V4      \        V P                  RWx^,           13,          4      4       V P                  V,          R,
          pV P                  V,          R,           p\        V P                  RW3R7      w  pp\	        \        V4      V P                  Wx^,            4       \	        \        V4      \        V P                  RWx^,           13,          4      4       V P                  V,          R,
          pV P                  V,          R,           p\        V P                  RW3R7      w  pp\	        \        V4      V P                  Wx^,            4       \	        \        V4      \        V P                  RWx^,           13,          4      4       \        V P                  RR7      w  rVR\        VP                  4      3,          p\	        \        V4      V P                  4       \	        \        V4      \        V P                  4      4       R# )	zMCompare eigenvalues and eigenvectors of eig_banded
with those of linalg.eig. r   r   r  r  ri   Fr   N)r   r~  r8   ry  r   rA   rz  r   r{  r  r|  r}  )ry   r  evec_sym	evec_sym_r  	evec_herm
evec_herm_r  r  r  evec_sym_indr  evec_herm_indr  r  r  evec_sym_valr  evec_herm_vals   &                  r[   test_eig_bandedTestEigBanded.test_eig_bandede  s    %T%5%56Q

 334	!$u+t~~>!#i.#d6G6G2HI&t'8'89q'&++"667
!$v,@!#j/3t7I7I3JK ",T-=-=47;?,#H	 	"$y/"&..1f"=	?!#l"3"%d&7&74Q;&G"H	J %/t/@/@69=AL%J!
 	"$z"2"&//$Av">	@!#m"4"%d&8&8DaK&H"I	K ..&/..&/",T-=-=47;B:L#N	< 	"$y/"&..1f"=	?!#l"3"%d&7&74Q;&G"H	J //$'&0//$'&0$.t/@/@69=D<N%P!
M 	"$z"2"&//$Av">	@!#m"4"%d&8&8DaK&H"I	K %T%5%5EJQ

 334	!$u+t~~>!#i.#d6G6G2HIr]   c                   \        V P                  4      w  r\        V P                  V P                  V P
                  4      w  r4p\        V^V P                  ,          R3,          4      p\        V P                  V P
                  ,           4       FN  pV\        V^V P                  ,          ^,
          V,
          V^,           V13,          V^,           4      ,          pKP  	  \        V P                  ^ R7      w  rp
\        Wj4       R# )zOCompare dgbtrf  LU factorisation with the LU factorisation result
of linalg.lu.r   	permute_lN)
r@   rw  r(   r  rs  rt  r5   r   r   r   ry   r  r  lu_symm_bandipivr  ur   p_linl_linu_lins   &          r[   test_dgbtrfTestEigBanded.test_dgbtrf       T]]##)$*;*;TWWdgg#N D ail+,tww()Al1TWW9Q;q=!A#a%#78!A#>>A * !!<e!!+r]   c                   \        V P                  4      w  r\        V P                  V P                  V P
                  4      w  r4p\        V^V P                  ,          R3,          4      p\        V P                  V P
                  ,           4       FN  pV\        V^V P                  ,          ^,
          V,
          V^,           V13,          V^,           4      ,          pKP  	  \        V P                  ^ R7      w  rp
\        Wj4       R# )zOCompare zgbtrf  LU factorisation with the LU factorisation result
of linalg.lu.r   r  N)
r@   rx  r*   r  rs  rt  r5   r   r   r   r  s   &          r[   test_zgbtrfTestEigBanded.test_zgbtrf  r  r]   c                *   \        V P                  V P                  V P                  4      w  rp\	        WP                  V P                  V P
                  V4      w  rC\        P                  ! V P                  V P
                  4      p\        WE4       R# )z]Compare dgbtrs  solutions for linear equation system  A*x = b
with solutions of linalg.solve.N)
r(   r  rs  rt  r)   r   r7   r   rw  r   ry   r  r  r  yy_lins   &     r[   test_dgbtrsTestEigBanded.test_dgbtrs  sc     $*$*;*;TWWdgg#N DwwFT]]DFF3!!+r]   c                *   \        V P                  V P                  V P                  4      w  rp\	        WP                  V P                  V P
                  V4      w  rC\        P                  ! V P                  V P
                  4      p\        WE4       R# )z]Compare zgbtrs  solutions for linear equation system  A*x = b
with solutions of linalg.solve.N)
r*   r  rs  rt  r+   r  r7   r   rx  r   r  s   &     r[   test_zgbtrsTestEigBanded.test_zgbtrs  sc     $*$*;*;TWWdgg#N Dww$GT]]DGG4!!+r]   r   c                   \         P                  ! RVR7      p\        V4      w  r4\        \         P                  ! ^ ^ .^^..VR7      4      w  rVVP                  R8X  g   Q hVP
                  VP
                  8X  g   Q hVP                  R8X  g   Q hVP
                  VP
                  8X  g   Q h\        VRR7      pVP                  R8X  g   Q hVP
                  VP
                  8X  g   Q hR# r   r   Teigvals_onlyNr   r   )rQ   r   r   r4   r@   rY   )ry   r   a_bandr{   ri   rS  v_ns   &&     r[   r   TestEigBanded.test_empty  s    &+&!bhhAA'7rBCww$ww#))###ww&   ww#))###vD1ww$ww#))###r]   )rs  rt  r   r  r  r  r~  r  rx  r}  r{  rv  rw  ru  r|  rz  N)r   r   r   r   rk  ri  r  r  r  r  r  r  r  r  r  r  r  r   r   r   ra   r   rQ   r;   r   r<   r   r   r   r   s   @r[   rf  rf    s     M$bFF	FG	G(?T8Jt,,,, [[TC

GR\\#RS$ T$r]   rf  c                   D   a  ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
TestEigTridiagonali  c                &    V P                  4        R # rh  )create_trimatrj  s   &r[   rk  TestEigTridiagonal.setup_method  s    r]   c                   ^
p\        VR4      V n        \        V^,
          R4      V n        \        V P                  4      \        V P                  R4      ,           \        V P                  ^4      ,           V n        \
        P                  ! V P                  4      w  r#VP                  p\        V4      pW$,          V n	        VRV3,          V n
        R# )z>Create the full matrix `self.fullmat`, `self.d`, and `self.e`.rn  r   Nro  r   )r6   rh   er5   full_matr7   r
   ry  r8   r{   r  )ry   r  r  r  r  s   &    r[   r   TestEigTridiagonal.create_trimat  s     aac4dffTVVR(884?JDMM*WWr{q$wK	r]   c           	        \        \        \        V P                  V P                  RR 4       \        \
        \        V P                  V P                  R,          4       \        \
        \        V P                  V P                  RR7       \        \        \        V P                  V P                  RR7       \        \        \        V P                  V P                  RR	R7       R# )
zTest error conditions.NrO   rn  lapack_driverfoor   r  r   r   r   )r4  r5  r#   rh   r  rc   rj  s   &r[   test_degenerate"TestEigTridiagonal.test_degenerate  s     	j"6sLi!5tvvtvv{Ki!5tvvtvv$&	(j"6$)	+ 	j"6 w	8r]   c                   R FD  p\        V P                  V P                  VR7      p\        \	        V4      V P
                  4       KF  	  R	 F1  p\        \        \         V P                  V P                  VRR
R7       K3  	  R EF5  p\        V P                  V P                  R^ \        V P                  4      ^,
          3VR7      p\        \	        V4      V P
                  4       ^p^p\        V P                  V P                  RWE3VR7      p\        \	        V4      V P
                  WE^,            4       V P
                  V,          R,
          pV P
                  V,          R,           p\        V P                  V P                  RWg3VR7      p\        \	        V4      V P
                  WE^,            4       EK8  	  R# )z>Compare eigenvalues of eigvalsh_tridiagonal with those of eig.r  r   r  r  r  r  r  r  r  ri   N)sterfstevstevdstebzstemrauto)r  r  r  r   r  r  r  )	r#   rh   r  r   rA   r{   r4  r5  rb   )	ry   driverr{   w_indr  r  r  r  w_vals	   &        r[   test_eigvalsh_tridiagonal,TestEigTridiagonal.test_eigvalsh_tridiagonal  sa    KF$TVVTVV6JA%d1gtvv6 K 1F*&:DFFDFF(.s'-/ 1 1F(s!S[]9K$&E &d5k466: DD(s$$&E &d5k466$Av3FG ffTlV+GffTlV+G(s'9K$&E &d5k466$Av3FG+ 1r]   c                   \        \        \        V P                  V P                  RR7       R F  p\        V P                  V P                  VR7      w  r#VR\        V4      3,          p\        \        V4      V P                  4       \        \        V4      \        V P                  4      4       K  	  \        \        \        V P                  V P                  RRRR7       R EF  p^ p\        V P                  4      ^,
          p\        V P                  V P                  RWV3VR7      w  r#\        \        V4      V P                  4       \        \        V4      \        V P                  4      4       ^p^p\        V P                  V P                  RWV3VR7      w  r#\        \        V4      V P                  WV^,            4       \        \        V4      \        V P                  RWV^,           13,          4      4       V P                  V,          R,
          pV P                  V,          R,           p\        V P                  V P                  R	Wx3VR7      w  r#\        \        V4      V P                  WV^,            4       \        \        V4      \        V P                  RWV^,           13,          4      4       EK  	  R
# )zLCompare eigenvalues and eigenvectors of eigh_tridiagonal
with those of eig. r  r  r  r   r   r  r  r  ri   N)r  r  r  r  r  r   r  )r4  r5  r$   rh   r  r8   r   rA   r{   r   r  rb   )	ry   r  r{   r  r  r  r  r  r  s	   &        r[   test_eigh_tridiagonal(TestEigTridiagonal.test_eigh_tridiagonal$  s    	j"2DFFDFF$+	-AF&tvvtvvVLGAGAJ'E%d1gtvv6%c%j#dii.A	 B 	j"2DFFDFF$*3V	M0FDtvv;q=D&s$$&GA &d1gtvv6%c$iTYY@DD&s$$&GA &d1gtvvd6/BC%c$i&)$))AtF{N*C&DF ffTlV+GffTlV+G&s'9K$&GA &d1gtvvd6/BC%c$i&)$))AtF{N*C&DF3 1r]   c                   \         P                  ! R.4      p\         P                  ! . 4      p\        WRR7      pVP                  ^8X  g   Q h\	        W14       \        WRR	R7      w  r4VP                  ^8X  g   Q hVP                  ^8X  g   Q h\	        W14       \	        V\        R..4      4       \        WRR
R7      w  r4VP
                  ^ 8X  g   Q hVP                  R8X  g   Q hVP                  R8X  g   Q hR# )zSee gh-20075Tr  r   r  rn  ri   Nrp  r   )r   r   r   r   )rQ   r4   r$   ndimr   r   r@   )ry   rz   r   xrO  s   &    r[   test_eigh_tridiagonal_1x1,TestEigTridiagonal.test_eigh_tridiagonal_1x1N  s    HHdVHHRLQ5vv{{SvFvv{{vv{{52$=)SwGvv{{ww$ww&   r]   )rh   r  r  r  r{   N)r   r   r   r   rk  r  r  r  r   r  r   r   r   s   @r[   r  r    s,      8 HD(FT! !r]   r  c                     a  ] tR tRt o R tR tR tR t]R 4       t	]
P                  P                  R]4      ]
P                  P                  RR4      R	 4       4       t]
P                  P                  RR4      R
 4       t]
P                  P                  RR4      ]
P                  P                  RR4      R 4       4       tR t]
P                  P                  R]]]P*                  ]]P.                  .4      R 4       tRtV tR# )TestEighia  c           	        \        \        \        \        P                  ! ^^.4      4       \        \        \        \        P                  ! ^^.4      \        P                  ! ^^.4      4       \        \        \        \        P                  ! ^^.4      \        P                  ! ^^.4      4       \        \        \        \        P                  ! ^^.4      \        P                  ! ^^.4      ^R7       \        \        \        \        P                  ! ^^.4      \        P                  ! ^^.4      ^^.^^.R7       \        \        \        \        P                  ! ^^.4      \        P                  ! ^^.4      ^ ^.R7       \        \        \        \        P                  ! ^^.4      \        P                  ! ^^.4      R^.R7       \        \        \        \        P                  ! ^^.4      \        P                  ! ^^.4      ^^ .R7       \        \        \        \        P                  ! ^^.4      \        P                  ! ^^.4      ^^ .R7       \        \        \        \        P                  ! ^^.4      RR7       \        \        \        \        P                  ! ^^.4      RRR7       \        \        \        \        P                  ! ^^.4      \        P                  ! ^^.4      R	R7       \        \        \        \        P                  ! ^^.4      \        P                  ! ^^.4      R
^^.R7       \        \        \        \        P                  ! ^^.4      \        P                  ! ^^.4      R
^^.R7       R# )rp   )type)subset_by_valuesubset_by_indexr  r  wrongr  Ngvxevrgvd)r  r  r   )r4  r5  r   rQ   r   rj  s   &r[   test_wrong_inputsTestEigh.test_wrong_inputsb  sT   j$A8j$A!QIj$A!QIj$A!Q	 	j$A!Q'(!fq!f	F 	j$A!Q'(!f	. 	j$A!Q')1g	/ 	j$A!Q'(!f	. 	j$A!Q'(!f	. 	j$AHj$AeLj$A!Q"	$ 	j$A!Q"QF	<j$A!Q"QF	<r]   c           	         \        \        \        \        P                  ! ^^.4      \        P                  ! ^^.4      4       R# rs   N)r4  r'   r   rQ   r   rj  s   &r[   test_nonpositive_bTestEigh.test_nonpositive_b  s(    k4!Q"''1a&/Jr]   c                   \        \        4       F  w  r\        ^VR7      p\        VR^.R7      w  rE\	        VP
                  ^,          \        V4      4       \        VR8  V^8  ,          4      '       g   Q h\        ^RVR7      p\        W6R^.R7      w  rE\	        VP
                  ^,          \        V4      4       \        VR8  V^8  ,          4      '       d   K  Q h	  R# )   r   r  T)rX   rY   Nr   )	enumerateDTYPESr\   r   r   r@   rb   r   )ry   indr   rz   r{   ri   r   s   &      r[   test_value_subsetsTestEigh.test_value_subsets  s     (GC(26AB73DASV,B1q5)****(DCAr1g6DASV,B1q5)**** )r]   c                ~    \        ^^.^^..4      p\        ^^.^^..4      p\        V4      w  r4\        W4      w  r4R# rp   N)r4   r   )ry   rz   r   r{   zs   &    r[   test_eigh_integerTestEigh.test_eigh_integer  sH    Aq6Aq6"#Aq6Aq6"#AwAz1r]   c                    ^ RI pVP                  P                  ^4      P                  4       p\        P
                  ! V4      p\        \        \        V4       \        \        \        V4       R# )r   N)	scipy.sparsesparseidentitytocscrQ   
atleast_2dr4  r5  r   )ry   scipyrz   r   s   &   r[   test_eigh_of_sparseTestEigh.test_eigh_of_sparse  sJ     	LL!!!$**,MM!j$*j$*r]   dtype_r  c                    \        ^VR7      p\        W1R7      w  rE\        W5,          WT,          ,
          RR\        P                  ! V4      P
                  ,          RR7       R# )r  )rW   rY   r  r    r   r   N)r\   r   r   rQ   finfoeps)ry   r  r/  rz   r{   ri   s   &&&   r[   test_various_drivers_standard&TestEigh.test_various_drivers_standard  sJ     %r8A%!"((6"2"6"66	!r]   c                   \        ^..VR7      w  r#\        V\        R.4      RR7       \        V\        R..4      RR7       \        R..VR7      w  r#\        V\        ^ .4      RR7       \        V\        R..4      RR7       R# )rp   r  rn  V瞯<rA  rO   N)r   r   r4   )ry   r  r{   ri   s   &&  r[   test_1x1_lworkTestEigh.test_1x1_lwork  st    aSE&)5";U352$=u5 bTF6*5!:E252$=u5r]   r
  c                   \         P                  ! R 4      p\        ^4      p\        ^RR7      p\        WEWR7      w  rgV^8X  d,   \	        WG,          WeV,          ,          ,
          RVRR7       R# V^8X  d,   \	        WE,          V,          Wv,          ,
          RVRR7       R# \	        WT,          V,          Wv,          ,
          RVRR7       R# )g     @T)rX   )rz   r   r  r
  r  r2  N)rQ   spacingr\   r   r   )ry   r  r
  r   rz   r   r{   ri   s   &&&     r[    test_various_drivers_generalized)TestEigh.test_various_drivers_generalized  s     zz% $R($R5aV719AEA1uI-r2FQYAEAI-r2FAEAI-r2Fr]   c                ~   \        ^4      p\        V^^.R7      p\        \        V4      ^4       \        V^^.R7      p\        \        V4      ^4       \	        W#4       \
        P                  ! . RO4      p\        V^R.R7      p\        \        V4      ^4       \	        V\
        P                  ! RR.4      4       R# )ru   r  333333??gffffff?r  N)rp   r@  rA        ?rr   )r\   r   r   rb   r   rQ   r5   r4   )ry   rz   r{   w2r   w3s   &     r[   test_eigvalsh_new_argsTestEigh.test_eigvalsh_new_args  s    $Q'QA/SVQa!Q0SWa GG)*a!S2SWa BHHc3Z01r]   r   c                   \         P                  ! RVR7      p\        V4      w  r4\        \         P                  ! ^VR7      4      w  rVVP                  R8X  g   Q hVP
                  VP
                  8X  g   Q hVP                  R8X  g   Q hVP
                  VP
                  8X  g   Q h\        VRR7      p\        V\         P                  ! R4      4       VP                  R8X  g   Q hVP
                  VP
                  8X  g   Q hR# r  )rQ   r   r   rF   r@   rY   r   )ry   r   rz   r{   ri   rS  r  s   &&     r[   r   TestEigh.test_empty  s    HHV2&Awq+,ww$ww#))###ww&   ww#))###&288D>*ww$ww#))###r]   r   N)r  evdr  evxrq   )gvr  r  )r   r   r   r   r  r  r  r$  rK   r-  r   r   r   r  r5  r9  r=  rE  ra   r   rQ   r;   r   r<   r   r   r   r   s   @r[   r  r  a  s    $<LK+ + + [[Xv.[[X'BC! D /! [[X'BC6 D6 [[VY/[[X';<
G = 0
G2 [[TC

GR\\#RS$ T$r]   r  c                   h  a  ] tR tRt o RtR tR tR tR tR t	R t
R	 tR
 tR tR tR t]P"                  P%                  ]'       * RR7      ]P"                  P(                  R 4       4       t]P"                  P-                  R. RO4      ]P"                  P-                  R. RO4      ]P"                  P-                  R]4      R 4       4       4       t]P"                  P-                  R]]]P8                  ]]P<                  .4      ]P"                  P-                  R. RO4      R 4       4       tRt V t!R# )TestSVD_GESDDi  gesddc                j    \        \        \        R ..R R7       \        \        \        R ..RR7       R# )rn  r  r  N)r4  rc   r   r5  rj  s   &r[   r  TestSVD_GESDD.test_degenerate  s&    itfB?j#vUCr]   c                   . RO. RO. RO.pR F  p\        WV P                  R7      w  r4p\        VP                  V,          \	        ^4      4       \        VP                  V,          \	        ^4      4       \        VP                  ^ ,          VP                  ^ ,          3VP                  P                  4      p\        \        V4      4       F  pWG,          WgV3&   K  	  \        W6,          V,          V4       K  	  R# )rp   full_matricesr  Nrq   rp   r  rs   rt   TFr   r  r   rU   rF   r9   r@   rY   charr   rb   ry   rz   rS  r  svhsigmar   s   &       r[   r}   TestSVD_GESDD.test_simple  s    
I.*M1)-););=HA"%accAgs1v6%bddRiQ81771:rxx{3QWW\\BE3q6]dd #%ai"na8 +r]   c                   . RO. RO. RO.pR F  p\        WV P                  R7      w  r4p\        VP                  V,          \	        ^4      4       \        VP                  V,          \	        ^4      4       \        VP                  ^ ,          VP                  ^ ,          3VP                  P                  4      p\        \        V4      4       F  pWG,          WgV3&   K  	  \        W6,          V,          V4       K  	  R# )rp   rR  Nrq   rt   rU  rV  rX  s   &       r[   test_simple_singular"TestSVD_GESDD.test_simple_singular  s    	9-*M1)-););=HA"%accAgs1v6%bddRiQ81771:rxx{3QWW\\BE3q6]dd #%ai"na8 +r]   c                   . RO. RO.pR F  p\        WV P                  R7      w  r4p\        VP                  V,          \	        VP
                  ^ ,          4      4       \        VP
                  ^ ,          VP
                  ^ ,          3VP                  P                  4      p\        \        V4      4       F  pWG,          WgV3&   K  	  \        W6,          V,          V4       K  	  R# )rp   rR  Nrq   rY  ru   rv   rU  r   r  r   rU   rF   r@   r9   rY   rW  r   rb   rX  s   &       r[   test_simple_underdet"TestSVD_GESDD.test_simple_underdet
  s    	"*M1)-););=HA"%accAgs1771:?1771:rxx{3QWW\\BE3q6]dd #%ai"na8 +r]   c                &   ^^.^^.^^..pR F  p\        WV P                  R7      w  r4p\        VP                  V,          \	        VP
                  ^,          4      4       \        VP                  V,          \	        ^4      4       \        VP
                  ^,          VP
                  ^ ,          3VP                  P                  4      p\        \        V4      4       F  pWG,          WgV3&   K  	  \        W6,          V,          V4       EK  	  R# )rp   rR  NrU  rb  rX  s   &       r[   test_simple_overdet!TestSVD_GESDD.test_simple_overdet  s    VaVaV$*M1)-););=HA"%accAgs1771:?%bddRiQ81771:rxx{3QWW\\BE3q6]dd #%ai"na8 +r]   c           
        \         P                  P                  R 4      p^p^p\        ^4       EFG  pVP                  W#.4      VP                  W2.4      3 EF  pR EF  p\	        WVV P
                  R7      w  rxp	\        VP                  V,          \        VP                  ^,          4      4       \        WP                  ,          \        V	P                  ^ ,          4      4       \        VP                  ^,          V	P                  ^ ,          3VP                  P                  4      p
\        \        V4      4       F  pW,          WV3&   K  	  \        Wz,          V	,          V4       EK  	  EK  	  EKJ  	  R# )r+  rR  NrU  )rQ   rR   r,  r   r   r  r   rU   rF   r@   r9   rY   rW  rb   )ry   rf   rW   mr   rz   rS  r  rY  rZ  r[  s   &          r[   test_randomTestSVD_GESDD.test_random!  s
   ii##D)qAjj!(#**aV*<=%2M"1151C1C EHA"-accAgs1771:G-b44iRXXa[9IJ!1771:rxx{";QWW\\JE"3q6]&'dd +-ai"na@ &3 > r]   c                   . RO. RO. RO.pR EF,  p\        WV P                  R7      w  r4p\        VP                  4       P                  V,          \        VP                  ^,          4      4       \        VP                  4       P                  V,          \        VP                  ^ ,          4      4       \        VP                  ^ ,          VP                  ^ ,          3VP                  P                  4      p\        \        V4      4       F  pWG,          WgV3&   K  	  \        W6,          V,          V4       EK/  	  R# )rp   rR  Nrq   )rp   y               @rs   rt   rU  )r   r  r   rT   rU   rF   r@   r9   rY   rW  r   rb   rX  s   &       r[   r   !TestSVD_GESDD.test_simple_complex1  s    
I.*M1)-););=HA"%affhjj1nc!''!*oF%bggikkB&6BHHQK8HI1771:rxx{3QWW\\BE3q6]dd #%ai"na8 +r]   c           
        \         P                  P                  R 4      p^p^p\        ^4       EFQ  pR EFF  pVP                  W#.4      VP                  W2.4      3 EF  pVRVP                  \	        VP
                  4      4      ,          ,           p\        WeV P                  R7      w  rxp	\        VP                  4       P                  V,          \        VP
                  ^,          4      4       \        VP
                  ^,          V	P
                  ^ ,          3VP                  P                  4      p
\        \        V4      4       F  pW,          WV3&   K  	  \        Wz,          V	,          V4       EK  	  EKI  	  EKT  	  R# )r+  rO   rR  NrU  )rQ   rR   r,  r   listr@   r   r  r   rT   rU   rF   r9   rY   rW  rb   )ry   rf   rW   ri  r   rS  rz   r  rY  rZ  r[  s   &          r[   test_random_complex!TestSVD_GESDD.test_random_complex=  s   ii##D)qA!.**aV,cjj!.@AABszz$qww-888A"1151C1C EHA"-affhjj1n.1!''!*o?
 "1771:rxx{";QWW\\JE"3q6]&'dd +-ai"na@ B "/ r]   c                R   \         P                  P                  R 4      p. ROpV F}  p\         P                  \         P                  \         P
                  \         P                  3 F8  pVP                  ! V!  P                  V4      p\        WPP                  R7       K:  	  K  	  R# )r+  r  N))r  r  )r  2   )<   d   )rQ   rR   r,  r;   r>  r<   rd  rS   rV   r   r  )ry   rf   sizesszr   rz   s   &     r[   test_crash_1580TestSVD_GESDD.test_crash_1580Q  so    ii##D)/Bzz2::r||R]]KHHbM((,A%7%78 L r]   c                   . RO. RO. RO.p\        VRV P                  R7      w  r#p\        VP                  V,          \	        ^4      4       \        VP                  V,          \	        ^4      4       \        VP                  ^ ,          VP                  ^ ,          3VP                  P                  4      p\        \        V4      4       F  pW6,          WVV3&   K  	  \        W%,          V,          V4       R# )rp   F)r   r  Nrq   rT  rt   rV  )ry   rz   r  rY  rZ  r[  r   s   &      r[   r0  TestSVD_GESDD.test_check_finiteZ  s    
I.quD<N<NOb!!##'3q62!"$$)SV4qwwqz288A;/>s1vA$EQ$K !!)b.!4r]   c                v    \         P                  ! . RO. RO. RO. RO.4      p\        WP                  R7       R# )K}\UU?r  N)r}  vWUU?r}  r  r  r  )r  r}  r~  r}  r  r  )r  r  r}  r~  r}  r  )r  r  r  r}  r~  r}  )rQ   r4   r   r  )ry   r   s   & r[   test_gh_5039TestSVD_GESDD.test_gh_5039d  s4     HH====?@
 	A//0r]   z64-bit LAPACK requiredreasonc                    \        R R7       \        P                  ! ^R.\        P                  R7      p^VR&   \	        VRR7      w  r#p\        V^ ,          R4       \        VR	,          VR,          ,          R4       R# )
ihB  )free_mbr   FrS  rn  Nl        r  r   )rI   rQ   r9   r;   r   r   )ry   rZ   r  rY  rZ  s   &    r[   test_large_matrixTestSVD_GESDD.test_large_matrixu  sb     	%(HHaZrzz2%q.b!c"$"U)+S1r]   ri  rW   rY   c                   \         P                  ! W3VR 7      p\        W4      pVP                  P                  pVR9   d   VP                  4       MTp\        V4      w  rp
\        VP                  W34       \        VP                  V4       \        V	P                  V34       \        V	P                  \         P                  ! V4      4       \        V
P                  W"34       \        V
P                  V4       \        VRR7      w  rp
\        VP                  W34       \        VP                  V4       \        V	P                  V34       \        V	P                  \         P                  ! V4      4       \        V
P                  WR34       \        V
P                  V4       \        VRR7      p	\        V	P                  V34       \        V	P                  \         P                  ! V4      4       R# )r   FDFr  
compute_uvN)	rQ   r9   minrY   rW  lowerr   r   r@   )ry   ri  rW   rY   rz   r'  dchar
real_dcharr  rY  ri   s   &&&&       r[   test_shape_dtypeTestSVD_GESDD.test_shape_dtype  sU    HHaV5)I&+tmU[[]
a&aQWWqf%QWWe$QWWqd#QWWbhhz23QWWqf%QWWe$au-aQWWqf%QWWe$QWWqd#QWWbhhz23QWWqf%QWWe$e$QWWqd#QWWbhhz23r]   r   c                8   \         P                  ! ^VR7      p\        V4      w  rVp\         P                  ! W#3VR7      p\        V4      w  rp\	        V	\         P
                  ! V4      4       \	        V
\         P                  ! R4      4       \	        V\         P
                  ! V4      4       V	P                  VP                  8X  g   Q hVP                  VP                  8X  g   Q hV
P                  VP                  8X  g   Q h\        VRR7      w  rp\	        V	\         P                  ! V^ 34      4       \	        V
\         P                  ! R4      4       \	        V\         P                  ! ^ V34      4       V	P                  VP                  8X  g   Q hVP                  VP                  8X  g   Q hV
P                  VP                  8X  g   Q h\        VRR7      p
\	        V
\         P                  ! R4      4       V
P                  VP                  8X  g   Q hR# )rs   r   Fr  r  Nr   )rQ   rF   r   r   r   r)  rY   )ry   r   ri  rW   a0u0s0r   rz   r  rY  ri   s   &&&&        r[   r   TestSVD_GESDD.test_empty  s~    VVAR W
HHaV2&a&a2;;q>*288D>*2;;q>*ww"(("""ww"(("""ww"(("""au-a288QF+,288D>*288QF+,ww"(("""ww"(("""ww"(("""e$288D>*ww"(("""r]   r   Nr   rp   rr   ri  rW   r   r   r   )"r   r   r   r   r  r  r}   r^  rc  rf  rj  r   rp  rx  r0  r  r   r   skipifrJ   slowr  r   r  r  ra   r   rQ   r;   r   r<   r   r   r   r   s   @r[   rM  rM    s-    MD
9
9	9
9A 
9A(951" [[I.FG[[2  H2 [[S),[[S),[[Wf-4 . - -44 [[TC

GR\\#RS[[Z)AB# C T#r]   rM  c                       ] tR tRtRtRtR# )TestSVD_GESVDi  gesvdr   N)r   r   r   r   r  r   r   r]   r[   r  r    s    Mr]   r  zout of memory in WASMr  z#out of memory in 32-bit CI workflowc                      \         P                  ! R\         P                  R7      p \        \        4      ;_uu_ 4        \        V 4       RRR4       R#   + '       g   i     R# ; i)  r   N)r  i  )rQ   r   r>  r4  r5  r   )dfs    r[   test_svd_gesdd_nofegfaultr    s9     
ww}BJJ/B	z	"	"B 
#	"	"	"s   AA%	c                      \         P                  ! ^4      p \         P                  V R&   \        P                  ! \
        RR7      ;_uu_ 4        \        V RR7       RRR4       R#   + '       g   i     R# ; i)rr   NaN)matchFr   Nr   )rQ   rF   nanr   r	   r5  r   rZ   s    r[   test_gesdd_nan_error_messager    sF    
q	AffAdG	z	/	/AE" 
0	/	/	/s   A&&A7	c                      a  ] tR tRt o ]P
                  P                  R]]]	P                  ]]	P                  .4      R 4       tR tR tR tR tR tR	 tR
 t]P
                  P*                  R 4       tRtV tR# )TestSVDValsi  r   c                p   . .\         P                  ! R4      \         P                  ! R4      3 F  p\         P                  ! W!R7      p\	        V4      p\        V\         P                  ! ^ 4      4       \	        \         P                  ! ^VR7      4      pVP                  VP                  8X  d   K  Q h	  R# )rr   r   Nr   r   rs   )rQ   r   r   r4   r   r   rF   rY   )ry   r   rz   rY  r  s   &&   r[   r   TestSVDVals.test_empty  sz    rxx'8A%A
ABHHQK(,-B77bhh&&& 9r]   c                    . RO. RO. RO.p\        V4      p\        \        V4      ^8H  4       \        V^ ,          V^,          u;8  ;'       d    V^,          8  4       R# u 4       R# ro   r   r   rb   ry   rz   rY  s   &  r[   r}   TestSVDVals.test_simple  sN    	9-AJA!!!$$!$%$%r]   c                    . RO. RO.p\        V4      p\        \        V4      ^8H  4       \        V^ ,          V^,          8  4       R# )rp   Nrq   ra  r  r  s   &  r[   rc   TestSVDVals.test_simple_underdet  s9    	"AJA!!!r]   c                    ^^.^^.^^..p\        V4      p\        \        V4      ^8H  4       \        V^ ,          V^,          8  4       R# r"  r  r  s   &  r[   rf  TestSVDVals.test_simple_overdet  sG    VaVaV$AJA!!!r]   c                    . RO. RO. RO.p\        V4      p\        \        V4      ^8H  4       \        V^ ,          V^,          u;8  ;'       d    V^,          8  4       R# u 4       R# )rp   Nrq   )rp   r                @rt   r  r  s   &  r[   r   TestSVDVals.test_simple_complex  sN    Y/AJA!!!$$!$%$%r]   c                    . RO. RO.p\        V4      p\        \        V4      ^8H  4       \        V^ ,          V^,          8  4       R# )rp   Nrq   )rY  y              @rv   r  r  s   &  r[   test_simple_underdet_complex(TestSVDVals.test_simple_underdet_complex  s9    
#AJA!!!r]   c                    ^^.^^.R^..p\        V4      p\        \        V4      ^8H  4       \        V^ ,          V^,          8  4       R# )rp   r  Nr  r  s   &  r[   test_simple_overdet_complex'TestSVDVals.test_simple_overdet_complex  sG    VaVb!W%AJA!!!r]   c                    . RO. RO. RO.p\        VRR7      p\        \        V4      ^8H  4       \        V^ ,          V^,          u;8  ;'       d    V^,          8  4       R# u 4       R# r   r  r  s   &  r[   r0  TestSVDVals.test_check_finite  sQ    	9-AE*A!!!$$!$%$%r]   c                |    \         P                  P                  R 4      pVP                  R4      p\        V4       R# )r+  N)i  i
  )rQ   rR   rZ  r   )ry   rf   rz   s   &  r[   test_crash_2609TestSVDVals.test_crash_2609	  s+    ii##D)JJ|$
r]   r   N)r   r   r   r   r   r   r   ra   r   rQ   r;   r   r<   r   r}   rc  rf  r   r  r  r0  r  r  r   r   r   s   @r[   r  r    s}     [[TC

GR\\#RS' T'&&& [[ r]   r  c                   &   a  ] tR tRt o R tRtV tR# )TestDiagSVDi  c                J    \        \        . RO^^4      . RO. RO. RO.4       R# )rp   Nrp   r   r   r  )r   r   rj  s   &r[   r}   TestDiagSVD.test_simple  s     !')Q":#,i"C	Er]   r   N)r   r   r   r   r}   r   r   r   s   @r[   r  r    s     E Er]   r  c                     a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R  t"R! t#R" t$R# t%R$ t&R% t'R& t(R' t)R( t*R) t+R* t,R+ t-R, t.R- t/R. t0R/ t1R0 t2R1 t3R2 t4R3 t5R4 t6R5 t7]8Pr                  Pu                  R6. RAO4      ]8Pr                  Pu                  R7. RAO4      ]8Pr                  Pu                  R8R9R:.4      ]8Pr                  Pu                  R;];4      R< 4       4       4       4       t<]8Pr                  Pu                  RB. RCO4      R= 4       t=R> t>R?t?V t@R@# )DTestQRi  c                    . RO. RO. RO.p\        V4      w  r#\        VP                  V,          \        ^4      4       \        W#,          V4       R#    Nr  rr   rs   rr   r  rs   ru   rs   rv   r   r   rU   rF   ry   rz   qrs   &   r[   r}   TestQR.test_simple  s;    	9-!u!!##'3q62!!%+r]   c                    . RO. RO. RO.p\        V4      w  r#. ROp\        WR4      w  rV\        W$,          V4       \        W64       \        V\        ^4      R4      w  rV\        W%4       R# )r  r   Nr  r  r  rq   r   r   r   rF   ry   rz   r  r  cqcr2s   &      r[   test_simple_leftTestQR.test_simple_left  s\    	9-!uQ6*!!%,!!(QA/!!(r]   c                    . RO. RO. RO.p\        V4      w  r#. ROp\        W4      w  rV\        WB,          V4       \        W64       \        V\        ^4      4      w  rS\        W%4       R# )r  Nr  r  r  rq   r  r  s   &      r[   test_simple_rightTestQR.test_simple_right)  sX    	9-!uQ"!!%,!!(As1v&!!(r]   c                   \         P                  ! . RO. RO. RO.4      p\        VRR7      w  r#p\        \	        V4      4      p\        \         P                  ! VR,          VRR	 8*  4      4       \        VP                  V,          \        ^4      4       \        W#,          VRV3,          4       \        VRV3,          4      w  rg\        W&4       \        W74       R# )
r  Tpivotingrp   NNNr   r  r  r  r   
rQ   rC   r   r   r5   r   r   r   rU   rF   ry   rz   r  r  prh   q2r  s   &       r[   test_simple_pivotingTestQR.test_simple_pivoting3  s    JJ	9i89Q&aQLqu#2'(!!##'3q62!!%1a41AadG!!(!!(r]   c                    . RO. RO. RO.p\        VRR7      w  r#p. ROp\        WRR4      w  rcp\        W%,          V4       R# )	r  Tr  r   Nr  r  r  rq   r   r   r   ry   rz   r  r  jpvtr  r  s   &      r[   test_simple_left_pivoting TestQR.test_simple_left_pivoting>  sA    	9-D)
d!!5t!!%,r]   c                    . RO. RO. RO.p\        VRR7      w  r#p. ROp\        WRR7      w  rcp\        WR,          V4       R# )r  Tr  Nr  r  r  rq   r  r  s   &      r[   test_simple_right_pivoting!TestQR.test_simple_right_pivotingE  s?    	9-D)
d!!6t!!%,r]   c                    . RO. RO.p\        V4      w  r#\        VP                  V,          \        ^4      4       \        W#,          V4       R# r  Nr  r  r  r  s   &   r[   test_simple_trapTestQR.test_simple_trapL  9    	"!u!!##'3q62!!%+r]   c                   \         P                  ! . RO. RO.4      p\        VRR7      w  r#p\        \	        V4      4      p\        \         P                  ! VR,          VRR 8*  4      4       \        VP                  V,          \        ^4      4       \        W#,          VRV3,          4       \        VRV3,          4      w  rg\        W&4       \        W74       R# )	r  Tr  r  Nr   r  r  r   r  r  s   &       r[   test_simple_trap_pivoting TestQR.test_simple_trap_pivotingR  s    JJ	9-.Q&aQLqu#2'(!!##'3q62!!%1a41AadG!!(!!(r]   c                    ^^.^^	.^^..p\        V4      w  r#\        VP                  V,          \        ^4      4       \        W#,          V4       R# r  Nr  r  s   &   r[   test_simple_tallTestQR.test_simple_tall]  sG    VaVaV$!u!!##'3q62!!%+r]   c                   \         P                  ! ^^.^^	.^^..4      p\        VRR7      w  r#p\        \	        V4      4      p\        \         P                  ! VR,          VRR 8*  4      4       \        VP                  V,          \        ^4      4       \        W#,          VRV3,          4       \        VRV3,          4      w  rg\        W&4       \        W74       R# )r  Tr  r  Nr   r   r  r  s   &       r[   test_simple_tall_pivoting TestQR.test_simple_tall_pivotingd  s    JJAAA/0Q&aQLqu#2'(!!##'3q62!!%1a41AadG!!(!!(r]   c                   ^^.^^	.^^..p\        VRR7      w  r#\        VP                  V,          \        ^4      4       \        W#,          V4       \	        VP
                  R4       \	        VP
                  R4       R# )r  economicmodeNrX  rr   rr   r   r   rU   rF   r   r@   r  s   &   r[   test_simple_tall_eTestQR.test_simple_tall_ep  sf    VaVaV$!*%!!##'3q62!!%+QWWf%QWWf%r]   c                   \         P                  ! ^^.^^	.^^..4      p\        VRRR7      w  r#p\        \	        V4      4      p\        \         P                  ! VR,          VRR 8*  4      4       \        VP                  V,          \        ^4      4       \        W#,          VRV3,          4       \        VRV3,          RR7      w  rg\        W&4       \        W74       R# )	r  Tr  r  r  r  Nr   r  r   r  r  s   &       r[   test_simple_tall_e_pivoting"TestQR.test_simple_tall_e_pivotingy  s    JJAAA/0QJ7aQLqu#2'(!!##'3q62!!%1a41AadG*-!!(!!(r]   c                J   ^^.^^	.^^..p\        VRR7      w  r#^^.p\        WR4      w  rV\        W$,          V4       \        W64       \        . RO4      p\        WRRR7      w  rV\        W$R,          ,          V4       \        V\	        ^4      R4      w  rS\        WR4       R# )	r  r  r  r   Toverwrite_cNrr   NNrp   rr   r   r   r   r   r4   rF   r  s   &      r[   test_simple_tall_leftTestQR.test_simple_tall_left  s    VaVaV$!*%FQ6*!!%,!!()Q6t<!!e)R0As1vv.!"(r]   c                    ^^.^^	.^^..p\        VRRR7      w  r#p^^.p\        WRR4      w  rcp\        WG4       \        W%,          V4       \        V\	        ^4      RR4      w  rcp\        Wb4       R# )r  r  Tr  r  r   N)r   r   r   r   rF   )ry   rz   r  r  r  r  r  kpvts   &       r[   test_simple_tall_left_pivoting%TestQR.test_simple_tall_left_pivoting  s{    VaVaV$
T:
dF!!5t4&!!%,!!SVVT:t!"(r]   c                    ^^.^^	.^^..p\        VRR7      w  r#. ROp\        W4      w  rV\        WB,          V4       \        W64       \        V\        ^4      4      w  rS\        WR4       R# )r  r  r  Nrq   r  ry   rz   r  r  r  cqr  s   &      r[   test_simple_tall_rightTestQR.test_simple_tall_right  sg    VaVaV$!*%Q"!!%,!!(As1v&!"(r]   c                    ^^.^^	.^^..p\        VRRR7      w  r#p. ROp\        WRR7      w  rcp\        WR,          V4       \        V\        ^4      RR7      w  rcp\        Wb4       R# )r  Tr  r  r  Nrq   r  ry   rz   r  r  r  r  r  s   &      r[   test_simple_tall_right_pivoting&TestQR.test_simple_tall_right_pivoting  sk    VaVaV$Dz:
d!!6t!!%,!!SVd;t!"(r]   c                    . RO. RO.p\        V4      w  r#\        VP                  V,          \        ^4      4       \        W#,          V4       \	        VP
                  R4       \	        VP
                  R4       R# )r  Nr  rr   ru   r  r  rr   rs   r  r  s   &   r[   test_simple_fatTestQR.test_simple_fat  sU    	"!u!!##'3q62!!%+QWWf%QWWf%r]   c                   \         P                  ! . RO. RO.4      p\        VRR7      w  r#p\        \	        V4      4      p\        \         P                  ! VR,          VRR 8*  4      4       \        VP                  V,          \        ^4      4       \        W#,          VRV3,          4       \        VP                  R	4       \        VP                  R
4       \        VRV3,          4      w  rg\        W&4       \        W74       R# )r  Tr  r  Nr   r&  r  r   r  r'  rQ   rC   r   r   r5   r   r   r   rU   rF   r   r@   r  s   &       r[   test_simple_fat_pivotingTestQR.test_simple_fat_pivoting  s    JJ	9-.Q&aQLqu#2'(!!##'3q62!!%1a41QWWf%QWWf%AadG!!(!!(r]   c                    . RO. RO.p\        VRR7      w  r#\        VP                  V,          \        ^4      4       \        W#,          V4       \	        VP
                  R4       \	        VP
                  R4       R# )r  r  r  Nr  rr   r  ru   r  r'  r  r  s   &   r[   test_simple_fat_eTestQR.test_simple_fat_e  sX    	"!*%!!##'3q62!!%+QWWf%QWWf%r]   c                   \         P                  ! . RO. R	O.4      p\        VRRR7      w  r#p\        \	        V4      4      p\        \         P                  ! VR,          VRR
 8*  4      4       \        VP                  V,          \        ^4      4       \        W#,          VRV3,          4       \        VP                  R4       \        VP                  R4       \        VRV3,          RR7      w  rg\        W&4       \        W74       R# )r  Tr  r  r  Nr   r  r  r/  r   r  r'  r+  r  s   &       r[   test_simple_fat_e_pivoting!TestQR.test_simple_fat_e_pivoting  s    JJ	9-.QJ7aQLqu#2'(!!##'3q62!!%1a41QWWf%QWWf%AadG*-!!(!!(r]   c                    . RO. RO.p\        VRR7      w  r#^^.p\        WR4      w  rV\        W$,          V4       \        W64       \        V\        ^4      R4      w  rS\        WR4       R# )r  r  r  r   Nr  r/  r  r  s   &      r[   test_simple_fat_leftTestQR.test_simple_fat_left  sa    	"!*%FQ6*!!%,!!(As1vv.!"(r]   c                    . RO. RO.p\        VRRR7      w  r#p^^.p\        WRR4      w  rcp\        W%,          V4       \        V\        ^4      RR4      w  rcp\        Wb4       R# )r  r  Tr  r   Nr  r/  r  r  s   &      r[   test_simple_fat_left_pivoting$TestQR.test_simple_fat_left_pivoting  se    	"
T:
dF!!5t!!%,!!SVVT:t!"(r]   c                    . RO. RO.p\        VRR7      w  r#^^.p\        W4      w  rV\        WB,          V4       \        W64       \        V\        ^4      4      w  rS\        WR4       R# )r  r  r  Nr  r/  r  r  s   &      r[   test_simple_fat_rightTestQR.test_simple_fat_right  s]    	"!*%FQ"!!%,!!(As1v&!"(r]   c                    . RO. RO.p\        VRRR7      w  r#p^^.p\        WRR7      w  rcp\        WR,          V4       \        V\        ^4      RR7      w  rcp\        Wb4       R# )r  Tr  r  r  Nr  r/  r  r"  s   &      r[   test_simple_fat_right_pivoting%TestQR.test_simple_fat_right_pivoting  sa    	"Dz:
dF!!6t!!%,!!SVd;t!"(r]   c                    . RO. RO. RO.p\        V4      w  r#\        VP                  4       P                  V,          \	        ^4      4       \        W#,          V4       R# rs   Nrs         @      @ru   ru   rr   y       @      @rs   rr      )r   r   rT   rU   rF   r  s   &   r[   r   TestQR.test_simple_complex  sA    <3!u!!&&(**q.#a&9!!%+r]   c                    . RO. RO. RO.p\        V4      w  r#. ROp\        WR4      w  rS\        W$,          V4       \        V\        ^4      R4      w  rS\        W%4       R# )rs   r   NrC  rE  rF  rp   rr   rD  r  ry   rz   r  r  r  r  s   &     r[   test_simple_complex_leftTestQR.test_simple_complex_left	  sT    <3!uA&)!!%,As1vv.!!(r]   c                    . RO. RO. RO.p\        V4      w  r#. ROp\        W4      w  rS\        WB,          V4       \        V\        ^4      4      w  rS\        W%4       R# )rs   NrC  rE  rF  rJ  r  rK  s   &     r[   test_simple_complex_right TestQR.test_simple_complex_right  sP    <3!uA!!!%,As1v&!!(r]   c                J   ^R.^^	.R	^..p\        VRR7      w  r#^R
.p\        WR4      w  rV\        W$,          V4       \        W64       \        . RO4      p\        WRRR7      w  rV\        W$R,          ,          V4       \        V\	        ^4      R4      w  rS\        WR4       R# )r  r  r  r   Tr  r  Ny       @      @y      @      @       @       @r  r  r  s   &      r[   test_simple_tall_complex_left$TestQR.test_simple_tall_complex_left  s    YAq	*!*%IQ6*!!%,!!()Q6t<!!e)R0As1vv.!"(r]   c                    . RO. RO. RO.p\        V4      w  r#. ROp\        WRRR7      w  rS\        VP                  4       V,          V4       R# )	rs   r   T	conjugateNrC  rE  rF  rJ  r   r   r   rT   rK  s   &     r[   "test_simple_complex_left_conjugate)TestQR.test_simple_complex_left_conjugate(  sB    <3!uA&D9!!&&(Q,3r]   c                    ^R.^R.^^..p\        VRR7      w  r#^R.p\        WRRR7      w  rS\        VP                  4       V,          V4       R# )	rs   r  r  r   TrV  NrD  rR  rX  rK  s   &     r[   'test_simple_complex_tall_left_conjugate.TestQR.test_simple_complex_tall_left_conjugate/  sU    YD	Aq6*!*%IA&D9!!&&(Q,3r]   c                    . RO. RO. RO.p\        V4      w  r#\        P                  ! . RO4      p\        WRR7      w  rS\	        WBP                  4       ,          V4       R# )rs   TrV  NrC  rE  rF  rJ  )r   rQ   r4   r   r   rT   rK  s   &     r[   #test_simple_complex_right_conjugate*TestQR.test_simple_complex_right_conjugate6  sG    <3!uHH\"AD1!!ffh,3r]   c                   \        . RO. RO. RO.4      p\        VRR7      w  r#p\        \        V4      4      p\	        \
        P                  ! VR,          VRR	 8*  4      4       \        VP                  4       P                  V,          \        ^4      4       \        W#,          VRV3,          4       \        VRV3,          4      w  rg\        W&4       \        W74       R# )
rs   Tr  r  Nr   rC  rE  rF  r   )r4   r   r   r5   r   rQ   r   r   rT   rU   rF   r  s   &       r[   test_simple_complex_pivoting#TestQR.test_simple_complex_pivoting=  s    <y9:Q&aQLqu#2'(!!&&(**q.#a&9!!%1a41AadG!!(!!(r]   c                    \        . RO. RO. RO.4      p\        VRR7      w  r#p. ROp\        WRR4      w  rcp\        W%,          V4       R# )	rs   Tr  r   NrC  rE  rF  rJ  r4   r   r   r   r  s   &      r[   !test_simple_complex_left_pivoting(TestQR.test_simple_complex_left_pivotingH  sF    <y9:D)
d!!5t!!%,r]   c                    \        . RO. RO. RO.4      p\        VRR7      w  r#p. ROp\        WRR7      w  rcp\        WR,          V4       R# )rs   Tr  NrC  rE  rF  rJ  re  r  s   &      r[   "test_simple_complex_right_pivoting)TestQR.test_simple_complex_right_pivotingO  sD    <y9:D)
d!!6t!!%,r]   c                   \         P                  P                  R 4      p^p\        ^4       FZ  pVP                  W".4      p\	        V4      w  rV\        VP                  V,          \        V4      4       \        WV,          V4       K\  	  R# r+  NrQ   rR   r,  r   r   r   rU   rF   ry   rf   rW   r'  rz   r  r  s   &      r[   rj  TestQR.test_randomV  sf    ii##D)qA

A6"Aa5DA%accAgs1v6%aeQ/	 r]   c                T   \         P                  P                  R 4      p^p\        ^4       Fw  pVP                  W".4      p\	        V4      w  rVVP                  V.4      p\        WGR4      w  r\        WW,          V4       \        V\        V4      R4      w  r\        WX4       Ky  	  R# )r+  r   NrQ   rR   r,  r   r   r   r   rF   	ry   rf   rW   r'  rz   r  r  r  r  s	   &        r[   test_random_leftTestQR.test_random_left_  s    ii##D)qA

A6"Aa5DA

A3Af-EB%aeR03q662EB%a, r]   c                P   \         P                  P                  R 4      p^p\        ^4       Fu  pVP                  W".4      p\	        V4      w  rVVP                  V.4      p\        WG4      w  r\        Wu,          V4       \        V\        V4      4      w  r\        WX4       Kw  	  R# rl  rq  	ry   rf   rW   r'  rz   r  r  r  r  s	   &        r[   test_random_rightTestQR.test_random_rightk  s    ii##D)qA

A6"Aa5DA

A3A%EB%aeR03q6*EB%a, r]   c           	     
   \         P                  P                  R 4      p^p\        ^4       F  pVP                  W".4      p\	        VRR7      w  rVp\        \        V4      4      p\        \         P                  ! VR,          VRR 8*  4      4       \        VP                  V,          \        V4      4       \        WV,          VRV3,          4       \	        VRV3,          4      w  r\        WY4       \        Wj4       K  	  R# r+  Tr  r  Nr   r   rQ   rR   r,  r   r   r   r5   r   r   r   rU   rF   ry   rf   rW   r'  rz   r  r  r  rh   r  r  s   &          r[   test_random_pivotingTestQR.test_random_pivotingw  s    ii##D)qA

A6"AT*GA!DGABFF1R5AcrF?+,%accAgs1v6%aeQq!tW5!Q$[FB%a,%a, r]   c                   \         P                  P                  R 4      p^p^dp\        ^4       FZ  pVP                  W#.4      p\	        V4      w  rg\        VP                  V,          \        V4      4       \        Wg,          V4       K\  	  R# rl  rm  ry   rf   ri  rW   r'  rz   r  r  s   &       r[   test_random_tallTestQR.test_random_tall  sk    ii##D)qA

A6"Aa5DA%accAgs1v6%aeQ/	 r]   c                \   \         P                  P                  R 4      p^p^dp\        ^4       Fy  pVP                  W#.4      p\	        VRR7      w  rgVP                  V.4      p\        WXR4      w  r\        Wh,          V	4       \        V\        V4      R4      w  r\        W4       K{  	  R# )r+  r  r  r   Nrq  )
ry   rf   ri  rW   r'  rz   r  r  r  r  s
   &         r[   test_random_tall_leftTestQR.test_random_tall_left  s    ii##D)qA

A6"Aaj)DA

A3Af-EB%aeR03q662EB%b, r]   c                X   \         P                  P                  R 4      p^p^dp\        ^4       Fw  pVP                  W#.4      p\	        VRR7      w  rgVP                  V.4      p\        WX4      w  r\        W,          V	4       \        V\        V4      4      w  r\        W4       Ky  	  R# r+  r  r  Nrq  )
ry   rf   ri  rW   r'  rz   r  r  r  r  s
   &         r[   test_random_tall_rightTestQR.test_random_tall_right  s    ii##D)qA

A6"Aaj)DA

A3A%EB%aeR03q6*EB%b, r]   c           	        \         P                  P                  R 4      p^p^dp\        ^4       F  pVP                  W#.4      p\	        VRR7      w  rgp\        \        V4      4      p	\        \         P                  ! V	R,          V	RR 8*  4      4       \        VP                  V,          \        V4      4       \        Wg,          VRV3,          4       \	        VRV3,          4      w  r\        Wj4       \        W{4       K  	  R# rz  r{  ry   rf   ri  rW   r'  rz   r  r  r  rh   r  r  s   &           r[   test_random_tall_pivoting TestQR.test_random_tall_pivoting  s    ii##D)qA

A6"AT*GA!DGABFF1R5AcrF?+,%accAgs1v6%aeQq!tW5!Q$[FB%a,%a, r]   c                ~   \         P                  P                  R 4      p^p^dp\        ^4       F  pVP                  W#.4      p\	        VRR7      w  rg\        VP                  V,          \        V4      4       \        Wg,          V4       \        VP                  W#34       \        VP                  W334       K  	  R# r  )
rQ   rR   r,  r   r   r   rU   rF   r   r@   r  s   &       r[   test_random_tall_eTestQR.test_random_tall_e  s    ii##D)qA

A6"Aaj)DA%accAgs1v6%aeQ/1&)1&) r]   c           	     t   \         P                  P                  R 4      p^p^dp\        ^4       EF  pVP                  W#.4      p\	        VRRR7      w  rgp\        \        V4      4      p	\        \         P                  ! V	R,          V	RR 8*  4      4       \        VP                  V,          \        V4      4       \        Wg,          VRV3,          4       \        VP                  W#34       \        VP                  W334       \	        VRV3,          RR7      w  r\        Wj4       \        W{4       EK  	  R# )	r+  Tr  r  r  Nr   r  r   )rQ   rR   r,  r   r   r   r5   r   r   r   rU   rF   r   r@   r  s   &           r[   test_random_tall_e_pivoting"TestQR.test_random_tall_e_pivoting  s    ii##D)qA

A6"AT
;GA!DGABFF1R5AcrF?+,%accAgs1v6%aeQq!tW51&)1&)!Q$j1FB%a,%a, r]   c                   \         P                  P                  R 4      p^dp^p\        ^4       FZ  pVP                  W#.4      p\	        V4      w  rg\        VP                  V,          \        V4      4       \        Wg,          V4       K\  	  R# rl  rm  r  s   &       r[   test_random_trapTestQR.test_random_trap  sk    ii##D)qA

A6"Aa5DA%accAgs1v6%aeQ/	 r]   c           	        \         P                  P                  R 4      p^dp^p\        ^4       F  pVP                  W#.4      p\	        VRR7      w  rgp\        \        V4      4      p	\        \         P                  ! V	R,          V	RR 8*  4      4       \        VP                  V,          \        V4      4       \        Wg,          VRV3,          4       \	        VRV3,          4      w  r\        Wj4       \        W{4       K  	  R# rz  r{  r  s   &           r[   test_random_trap_pivoting TestQR.test_random_trap_pivoting  s    ii##D)qA

A6"AT*GA!DGABFF1R5AcrF?+,%accAgs1v6%aeQq!tW5!Q$[FB%a,%a, r]   c                r   \         P                  P                  R 4      p^p\        ^4       F  pVP                  W".4      RVP                  W".4      ,          ,           p\	        V4      w  rV\        VP                  4       P                  V,          \        V4      4       \        WV,          V4       K  	  R# r+  rO   N)	rQ   rR   r,  r   r   r   rT   rU   rF   rn  s   &      r[   rp  TestQR.test_random_complex  s    ii##D)qA

A6"R

A6(:%::Aa5DA%affhjj1nc!f=%aeQ/	 r]   c                   \         P                  P                  R 4      p^p\        ^4       F  pVP                  W".4      RVP                  W".4      ,          ,           p\	        V4      w  rVVP                  V.4      RVP                  V.4      ,          ,           p\        WGR4      w  r\        WW,          V4       \        V\        V4      R4      w  r\        WX4       K  	  R# )r+  rO   r   Nrq  rr  s	   &        r[   test_random_complex_leftTestQR.test_random_complex_left  s    ii##D)qA

A6"R

A6(:%::Aa5DA

A3"SZZ_"44Af-EB%aeR03q662EB%a, r]   c                   \         P                  P                  R 4      p^p\        ^4       F  pVP                  W".4      RVP                  W".4      ,          ,           p\	        V4      w  rVVP                  V.4      RVP                  V.4      ,          ,           p\        WG4      w  r\        Wu,          V4       \        V\        V4      4      w  r\        WX4       K  	  R# r  rq  rv  s	   &        r[   test_random_complex_right TestQR.test_random_complex_right	  s    ii##D)qA

A6"R

A6(:%::Aa5DA

A3"SZZ_"44A%EB%aeR03q6*EB%a, r]   c           	     d   \         P                  P                  R 4      p^p\        ^4       F  pVP                  W".4      RVP                  W".4      ,          ,           p\	        VRR7      w  rVp\        \        V4      4      p\        \         P                  ! VR,          VRR 8*  4      4       \        VP                  4       P                  V,          \        V4      4       \        WV,          VRV3,          4       \	        VRV3,          4      w  r\        WY4       \        Wj4       EK  	  R# )r+  rO   Tr  r  Nr   r   )rQ   rR   r,  r   r   r   r5   r   r   r   rT   rU   rF   r|  s   &          r[   test_random_complex_pivoting#TestQR.test_random_complex_pivoting  s    ii##D)qA

A6"R

A6(:%::AT*GA!DGABFF1R5AcrF?+,%affhjj1nc!f=%aeQq!tW5!Q$[FB%a,%a, r]   c                    . RO. RO. RO.p\        VRR7      w  r#\        VP                  V,          \        ^4      4       \        W#,          V4       R# r  Fr   Nr  r  r  r  r  s   &   r[   r0  TestQR.test_check_finite#  s>    	9-!%(!!##'3q62!!%+r]   c                |   . RO. RO. RO.p\        VRR7      w  r#\        V^R7      w  rE\        WB4       \        WS4       \        V^
R7      w  rg\        Wb4       \        Ws4       \        VRR7      w  r\        W4       \        W4       \        \        \         V3R^ /4       \        \        \         V3R^/4       R# )r  N)lworkr  r  r  r  r   )r   r   r4  	Exception)
ry   rz   r  r  r  r  q3r3q4r4s
   &         r[   
test_lworkTestQR.test_lwork)  s    	9-!4  AQ!"(!"( AR!"(!"( AR!"(!"( 	iaTGQ<8iaTGQ<8r]   ri  rW   r  FTrY   c                   \        W4      p\        P                  ! W3VR 7      p\        WcR7      vrxp	\	        VP
                  W34       \	        VP                  V4       \	        VP
                  W34       \	        VP                  V4       \        V	4      V'       d   ^M^ 8X  g   Q hV'       d@   V	w  p
\	        V
P
                  V34       \	        V
P                  \        P                  4       \        VRVR7      vr\	        VP
                  W34       \	        VP                  V4       \        V	4      V'       d   ^M^ 8X  g   Q hV'       d@   V	w  p
\	        V
P
                  V34       \	        V
P                  \        P                  4       \        VRVR7      vrxp	\	        VP
                  W34       \	        VP                  V4       \	        VP
                  WR34       \	        VP                  V4       \        V	4      V'       d   ^M^ 8X  g   Q hV'       d@   V	w  p
\	        V
P
                  V34       \	        V
P                  \        P                  4       \        VRVR7      vw  rr\	        VP
                  W34       \	        VP                  V4       \	        VP
                  V34       \	        VP                  V4       \	        VP
                  WR34       \	        VP                  V4       \        V	4      V'       d   ^M^ 8X  g   Q hV'       dB   V	w  p
\	        V
P
                  V34       \	        V
P                  \        P                  4       R# R# )r   r  r  r  r  rawN)	r  rQ   r9   r   r   r@   rY   rb   int32)ry   ri  rW   r  rY   r'  rz   r  r  otherr  r  taus   &&&&&        r[   r  TestQR.test_shape_dtypeA  sa   
 IHHaV5)!/uQWWqf%QWWe$QWWqf%QWWe$5z8a333BA1$'"((+qsX6	QWWqf%QWWe$5z8a333BA1$'"((+!*x@uQWWqf%QWWe$QWWqf%QWWe$5z8a333BA1$'"((+ "158 D
ASYY'SYY&SYY%SYY&QWWqf%QWWe$5z8a333BA1$'"((+ r]   c                   \        W4      p\        P                  ! W34      p\        V4      w  rV\	        V\        P
                  ! V4      4       \	        V\        P                  ! W34      4       \        VR R7      w  rVp\	        V\        P
                  ! V4      4       \	        V\        P                  ! W34      4       \	        V\        P                  ! V4      4       \        VRR7      w  p\	        V\        P                  ! W34      4       \        VRR7      w  rV\	        V\        P                  ! W34      4       \	        V\        P                  ! W234      4       \        VRR7      w  w  rp\	        V\        P                  ! W34      4       \	        V	\        P                  ! V34      4       \	        V\        P                  ! W234      4       R# )Tr  r  r  r  r  N)r  rQ   r   r   r   r)  r:   )
ry   ri  rW   r'  rz   r  r  r  r  r  s
   &&&       r[   r   TestQR.test_emptyu  s@   IHHaV!u2;;q>*288QF+,Q&a2;;q>*288QF+,299Q<(_288QF+,!*%288QF+,288QF+,15)
ARXXqf-.RXXqd^,288QF+,r]   c                   \         P                  ! R4      p\         P                  ! R4      p\        W4      w  r4\        V\         P                  ! R4      4       \         P                  ! R4      p\         P                  ! R4      p\        W4      w  r4\        V\         P                  ! R4      4       \         P                  ! R4      p\         P                  ! R4      p\        W4      w  r4\        V\         P                  ! R4      4       R# )r   Nr   r   r   )rQ   r   r   r   )ry   rz   r  r  r  s   &    r[   test_multiply_emptyTestQR.test_multiply_empty  s    HHVHHVA!BHHV,-HHVHHVA!BHHV,-HHVHHVA!BHHV,-r]   r   Nr  r  r  )Ar   r   r   r   r}   r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r#  r(  r,  r0  r3  r6  r9  r<  r?  r   rL  rO  rS  rY  r\  r_  rb  rf  ri  rj  rs  rw  r}  r  r  r  r  r  r  r  r  rp  r  r  r  r0  r  r   r   r   r  r  r   r  r   r   r   s   @r[   r  r    s    ,))	)--,	),
)&
)))))&)&))))),)))444	)--0
-
--	0--- *-$0-0
-
--,90 [[S),[[S),[[Z%7[[Wf-., . 8 - -.,` [[Z)AB- C-2. .r]   r  c                   ~  a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR t]P$                  P'                  R. RO4      ]P$                  P'                  R. RO4      ]P$                  P'                  R]4      R 4       4       4       t]P$                  P'                  R. RO4      R 4       tRtV tR# )TestRQi  c                    . RO. RO. RO.p\        V4      w  r#\        W3P                  ,          \        ^4      4       \        W#,          V4       R# r  r   r   rU   rF   ry   rz   r  r  s   &   r[   r}   TestRQ.test_simple  s9    	9-!u!!cc'3q62!!%+r]   c                f    . RO. RO. RO.p\        V4      w  r#\        VRR7      p\        W$4       R# )r  r  r  Nr  r  r  )r   r   )ry   rz   r  r  r  s   &    r[   test_rTestRQ.test_r  s,    	9-!u_!!(r]   c                   \         P                  P                  R 4      p^p\        ^4       FY  pVP                  W".4      p\	        V4      w  rV\        WfP                  ,          \        V4      4       \        WV,          V4       K[  	  R# rl  rQ   rR   r,  r   r   r   rU   rF   ry   rf   rW   r'  rz   r  r  s   &      r[   rj  TestRQ.test_random  sd    ii##D)qA

A6"Aa5DA%a##gs1v6%aeQ/	 r]   c                    . RO. RO.p\        V4      w  r#\        VP                  V,          \        ^4      4       \        W#,          V4       R# r  r  r  s   &   r[   r  TestRQ.test_simple_trap  r  r]   c                    ^^.^^	.^^..p\        V4      w  r#\        VP                  V,          \        ^4      4       \        W#,          V4       R# r  r  r  s   &   r[   r  TestRQ.test_simple_tall  sG    VaVaV$!u!!##'3q62!!%+r]   c                    . RO. RO.p\        V4      w  r#\        W3P                  ,          \        ^4      4       \        W#,          V4       R# )r  Nr&  r  r  r  s   &   r[   r(  TestRQ.test_simple_fat  s7    	"!u!!cc'3q62!!%+r]   c                    . RO. RO. RO.p\        V4      w  r#\        W3P                  4       P                  ,          \	        ^4      4       \        W#,          V4       R# rB  )r   r   rT   rU   rF   r  s   &   r[   r   TestRQ.test_simple_complex  s?    <3!u!!ffhjj.#a&9!!%+r]   c                   \         P                  P                  R 4      p^p^dp\        ^4       FY  pVP                  W#.4      p\	        V4      w  rg\        WwP                  ,          \        V4      4       \        Wg,          V4       K[  	  R# rl  r  ry   rf   ri  rW   r'  rz   r  r  s   &       r[   r  TestRQ.test_random_tall  i    ii##D)qA

A6"Aa5DA%a##gs1v6%aeQ/	 r]   c                   \         P                  P                  R 4      p^dp^p\        ^4       FY  pVP                  W#.4      p\	        V4      w  rg\        WwP                  ,          \        V4      4       \        Wg,          V4       K[  	  R# rl  r  r  s   &       r[   r  TestRQ.test_random_trap  r  r]   c                |   \         P                  P                  R 4      p^dp^p\        ^4       F  pVP                  W#.4      p\	        VRR7      w  rg\        WwP                  ,          \        V4      4       \        Wg,          V4       \        VP                  W#34       \        VP                  W"34       K  	  R# r  )
rQ   rR   r,  r   r   r   rU   rF   r   r@   r  s   &       r[   test_random_trap_economic TestRQ.test_random_trap_economic  s    ii##D)qA

A6"Aaj)DA%a##gs1v6%aeQ/1&)1&) r]   c                p   \         P                  P                  R 4      p^p\        ^4       F  pVP                  W".4      RVP                  W".4      ,          ,           p\	        V4      w  rV\        WfP                  4       P                  ,          \        V4      4       \        WV,          V4       K  	  R# r  )	rQ   rR   r,  r   r   r   rT   rU   rF   r  s   &      r[   rp  TestRQ.test_random_complex  s    ii##D)qA

A6"R

A6(:%::Aa5DA%a&&(**nc!f=%aeQ/	 r]   c                   \         P                  P                  R 4      p^dp^p\        ^4       F  pVP                  W#.4      RVP                  W#.4      ,          ,           p\	        VRR7      w  rg\        WwP                  4       P                  ,          \        V4      4       \        Wg,          V4       \        VP                  W#34       \        VP                  W"34       K  	  R# )r+  rO   r  r  N)rQ   rR   r,  r   r   r   rT   rU   rF   r   r@   r  s   &       r[   test_random_complex_economic#TestRQ.test_random_complex_economic  s    ii##D)qA

A6"R

A6(:%::Aaj)DA%a&&(**nc!f=%aeQ/1&)1&) r]   c                    . RO. RO. RO.p\        VRR7      w  r#\        W3P                  ,          \        ^4      4       \        W#,          V4       R# r  r  r  s   &   r[   r0  TestRQ.test_check_finite  s<    	9-!%(!!cc'3q62!!%+r]   ri  rW   rY   c                b   \        W4      p\        P                  ! W3VR 7      p\        V4      w  rg\	        VP
                  W"34       \	        VP
                  W34       \	        VP                  V4       \	        VP                  V4       \        VRR7      p\	        VP
                  W34       \	        VP                  V4       \        VRR7      w  rg\	        VP
                  W34       \	        VP                  V4       \	        VP
                  WB34       \	        VP                  V4       R# )r   r  r  r  N)r  rQ   r9   r   r   r@   rY   )ry   ri  rW   rY   r'  rz   r  r  s   &&&&    r[   r  TestRQ.test_shape_dtype	  s     IHHaV5)!uQWWqf%QWWqf%QWWe$QWWe$qsOQWWqf%QWWe$!*%QWWqf%QWWe$QWWqf%QWWe$r]   c                   \        W4      p\        P                  ! W34      p\        V4      w  rV\	        V\        P                  ! W34      4       \	        V\        P
                  ! V4      4       \        VR R7      p\	        V\        P                  ! W34      4       \        VRR7      w  rV\	        V\        P                  ! W34      4       \	        V\        P                  ! W234      4       R# )r  r  r  N)r  rQ   r   r   r   r)  )ry   ri  rW   r'  rz   r  r  s   &&&    r[   r   TestRQ.test_empty   s    IHHaV!u288QF+,2;;q>*qsO288QF+,!*%288QF+,288QF+,r]   r   Nr  r  r  )r   r   r   r   r}   r  rj  r  r  r(  r   r  r  r  rp  r  r0  r   r   r   r  r  r   r   r   r   s   @r[   r  r    s     ,)0,,,,00
*0
*, [[S),[[S),[[Wf-% . - -%( [[Z)AB- C-r]   r  c                     a  ] tR tRt o R tR t]P                  P                  RR]	P                  ! ^4      ) R]	P                  ! ^4      R.3R]	P                  ! ^4      R]	P                  ! ^4      ) R.3RRR]	P                  ! ^4      ]	P                  ! ^4      ) .3R	]	P                  ! ^4      ]	P                  ! ^4      ) RR.3R
 ]	P                  ! ^4      R]	P                  ! ^4      ) R.3.4      R 4       tR tR t]P                  P                  R]]]	P                   ]]	P$                  .4      R 4       t]P                  P                  RRR	.4      ]P                  P                  RRR.4      ]P                  P                  R]	P                   ]	P(                  ]	P$                  ]	P*                  .4      R 4       4       4       t]P                  P                  RRR.4      ]P                  P                  R]	P                   ]	P(                  ]	P$                  ]	P*                  .4      R 4       4       tRtV tR# )	TestSchuri1  c                   \        W2,          VP                  4       P                  ,          WVR R7       \        W3P                  4       P                  ,          \        P                  ! \        V4      4      ,
          ^ ^ VRR7       R# )z&Schur decomposition does not match 'a'r   zu is not unitaryN)r   rT   rU   rQ   rF   rb   )ry   rz   tr  r   r   s   &&&&&&r[   check_schurTestSchur.check_schur3  sW    

*At H	J 	FFHJJA7 2	4r]   c           	        . RO. RO. RO.p\        V4      w  r#V P                  WVRRR7       \        VR4      w  rE\        \        P                  ! \        \        V4      4      4      ;'       d)    \        P                  ! \        \        V4      4      4      4       V P                  WVRRR7       \        WE4      w  rgV P                  WVRRR7       R# )	r  r@  +<r   r   r   Nr     rs   r  
   rs   rv   )r   r  r   rQ   rN  r=   r?   r   )ry   rz   r  r#  tczctc2zc2s   &       r[   r}   TestSchur.test_simple<  s    J/Qxqu59q)$uYr]+,MMim8L1MNU;2?5u=r]   zsort, expected_diaglhpr_   rhpiucoucc                    V R 8  # )r  r   )r  s   &r[   <lambda>TestSchur.<lambda>L  s    AHr]   c                    . RO. R	O. R
O. RO.p\        W1R7      w  rEpV P                  W4VRRR7       \        \        P                  ! V4      VRR7       \        ^V4       R# )r?  rA   r@  r  r  -q=r   Nr?  r   rn  ro  g      g      ro  rn  r9        @      g      @r  r?  rq        @)r   r  r   rQ   r5   r   )ry   rA   expected_diagrz   r  r  sdims   &&&    r[   	test_sortTestSchur.test_sortF  s\     "! 1(
dqu59
M>Qr]   c                ~    . RO. RO. RO. RO.p\        \        \        VRR7       \        \        \        V^R7       R# )r?  unsupportedr   Nr  r  r  r  )r4  r5  r   )ry   rz   s   & r[   test_sort_errorsTestSchur.test_sort_errorsZ  s3    "! 	j%?j%3r]   c                    . RO. RO. RO.p\        VRR7      w  r#\        W2,          VP                  4       P                  ,          V4       R# )r  Fr   Nr  r  r  )r   r   rT   rU   )ry   rz   r  r#  s   &   r[   r0  TestSchur.test_check_finiteb  s7    J/QU+!!%!&&(**"4a8r]   r   c                   \         P                  ! RVR7      p\        V4      w  r4\        \         P                  ! ^VR7      4      w  rV\	        V\         P                  ! R4      4       \	        V\         P                  ! R4      4       VP
                  VP
                  8X  g   Q hVP
                  VP
                  8X  g   Q h\        VRR7      w  r4p\	        V\         P                  ! R4      4       \	        V\         P                  ! R4      4       \        V^ 4       VP
                  VP
                  8X  g   Q hVP
                  VP
                  8X  g   Q hR# )r   r   r  r   Nr   )rQ   r   r   rF   r   rY   r   )ry   r   rz   r  r#  t0z0r  s   &&      r[   r   TestSchur.test_emptyg  s    HHV2&Qxrvvar*+288F+,288F+,ww"(("""ww"(("""15)
d288F+,288F+,T1ww"(("""ww"(("""r]   rA   outputry  r   rY   c                    \         P                  ! R R.^R ..4      p\        VP                  V4      WR7      R,          pVR8X  d
   V^ 8X  g   Q hV^8X  g   Q hR# R# )皙?rA   r  r  Nr   r   )rQ   rC   r   rV   )ry   rA   r  rY   rZ   r  s   &&&&  r[   test_gh_13137_sort_str TestSchur.test_gh_13137_sort_strx  s]      JJb	As8,- QXXe_4?C EMtqy88tqy88yyr]   c                .  a \         P                  ! R R.^R ..4      pVR8H  ;'       d$    V\         P                  \         P                  09   oRV3R llp\	        VP                  V4      WAR7      R,          pS'       d
   V^8X  g   Q hV^8X  g   Q hR# R# )r  ry  Nc                   < S'       dQ   \         P                  ! V 4      '       d   Q hVe   \         P                  ! V4      '       g   Q hWR,          ,           pM&\         P                  ! V 4      '       g   Q hVe   Q hT pVP                  R8  # )NrO   r8  )rQ   iscomplexobjisrealr   )r  r  r#  all_reals   && r[   rA   1TestSchur.test_gh_13137_sort_custom.<locals>.sort  so    ??1----}155"Hq))))y y66E>!r]   r  r   rh  r   )rQ   rC   r;   r>  r   rV   )ry   r  rY   rZ   rA   r  r"  s   &&&   @r[   test_gh_13137_sort_custom#TestSchur.test_gh_13137_sort_custom  s     JJb	As8,-6>GGe

BJJ/G&G		" QXXe_4?C$tqy33$!)33)yr]   r   N      )r   r   r   r   r  r}   r   r   r   rQ   r>   r  r  r0  ra   r   r;   r   r<   r   r>  rd  r  r$  r   r   r   s   @r[   r  r  1  s    4> [[
2771:+tRWWQZ5	6
"''!*cBGGAJ;5	6
$RWWQZ"''!*5	6
"''!*rwwqzk45	6
rwwqz3TB	C		E

49
 [[TC

GR\\#RS# T#  [[VeU^4[[X	':;[[Wrzz2::')||R]]'D E9E < 59$ [[X	':;[[Wrzz2::')||R]]'D E4E <4r]   r  c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 t]P                  P                  R
]]]]].4      R 4       tRtV tR# )TestHessenbergi  c                    . RO. RO. RO.p. RO. RO. R	O.p\        V^R7      w  r4\        VP                  V,          V,          V4       \        W2^R7       R# )
   calc_qdecimalNikiif     "  ir   g     bgsE@g㥛 cg(m̀gkwc@gfjWr   g&S?g,eX@r   r   rU   ry   rz   h1rj   r  s   &    r[   r}   TestHessenberg.test_simple  sT     ..!# !A&!!##'A+q1!!3r]   c                    . RO. RO. RO.p\        V^R7      w  r#\        VP                  4       P                  V,          V,          V4       R# )r*  r+  Nr/  )r1  y             f@r3  )y             ;r   r5  )r   r   rT   rU   ry   rz   rj   r  s   &   r[   r   "TestHessenberg.test_simple_complex  s?     !A&!!&&(**q.1"4a8r]   c                    . RO. RO. RO. RO. RO. RO. R	O.p\        V^R7      w  r#\        VP                  V,          V,          V4       R# )
rp   r+  N)rp   rr   rs   rY  ru   rv   rG  )r   rr   rs   rY  rv   rG  rr   )r   rr   rr   rs   r   rs   rr   )r   r   rr   r  r   r   rr   )r   rs   rp   rr   r   rp   rr   )r   rp   rr   rs   r   rp   r   )r   r   r   r   r   rp   rr   r9  r>  s   &   r[   test_simple2TestHessenberg.test_simple2  sD    """""""$ !A&!!##'A+q1r]   c                    \         P                  ! ^4      p^VR&   \        V^R7      w  r#\        VP                  V,          V,          V4       R# )rs   r+  N)r   r   )rQ   rF   r   r   rU   r>  s   &   r[   test_simple3TestHessenberg.test_simple3  s<    FF1I%!A&!!##'A+q1r]   c                    \         P                  P                  R 4      p^p\        ^4       FH  pVP                  W".4      p\	        V^R7      w  rV\        VP                  V,          V,          V4       KJ  	  R# )r+  r+  N)rQ   rR   r,  r   r   r   rU   ry   rf   rW   r'  rz   rj   r  s   &      r[   rj  TestHessenberg.test_random  s]    ii##D)qA

A6"Aa*DA%accAgk15 r]   c                N   \         P                  P                  R 4      p^p\        ^4       Ft  pVP                  W".4      RVP                  W".4      ,          ,           p\	        V^R7      w  rV\        VP                  4       P                  V,          V,          V4       Kv  	  R# )r+  rO   r+  N)rQ   rR   r,  r   r   r   rT   rU   rG  s   &      r[   rp  "TestHessenberg.test_random_complex  sy    ii##D)qA

A6"R

A6(:%::Aa*DA%affhjj1nq&8!< r]   c                    . RO. RO. RO.p. RO. R	O. R
O.p\        V^RR7      w  r4\        VP                  V,          V,          V4       \        W2^R7       R# )r*  F)r,  r   r-  Nr/  r0  r4  r6  r7  r8  r9  r:  s   &    r[   r0   TestHessenberg.test_check_finite  sV     ..!# !AE:!!##'A+q1!!3r]   c                   ^^.^^..p\        V^R7      w  r#\        V\        P                  ! ^4      4       \        W!4       RR.RR..p\        V^R7      w  rV\        V\        P                  ! ^4      4       \        WT4       R# )rr   r+  Ny       @      r   y      @      @y      (@       )r   r   rQ   rF   )ry   rz   rj   r  r   h2r  s   &      r[   test_2x2TestHessenberg.test_2x2  sv    VaW!A&!!RVVAY/!!'D\D%=)Aa(!"bffQi0!"(r]   r   c                   \         P                  ! RVR7      p\        V4      pVP                  R8X  g   Q hVP                  \        \         P
                  ! ^VR7      4      P                  8X  g   Q h\        VRR7      w  r4\        VRR7      w  rVVP                  R8X  g   Q hVP                  VP                  8X  g   Q hVP                  R8X  g   Q hVP                  VP                  8X  g   Q hR# )r   r   Tr+  Nr   )rQ   r   r   r@   rY   rF   )ry   r   rz   rj   r  h3r  s   &&     r[   r   TestHessenberg.test_empty  s    HHV2&qMww&   ww*RVVAR%89?????!D)Ad+ww&   ww"(("""ww&   ww"(("""r]   r   N)r   r   r   r   r}   r   rA  rD  rj  rp  r0  rO  r   r   r   ra   r   r;   r   r<   r   r   r   r   s   @r[   r(  r(    s^     	49	226=	4
) [[TC)#LM# N#r]   r(  zBuild Dependenciesblasnameversionc                   J   a  ] tR tRt o R tR tR tR tR tR t	R t
R	tV tR
# )TestQZi	  c                ~   \         P                  P                  R 4      p^pVP                  W".4      P                  \        4      pVP                  W".4      P                  \        4      p\        W44      w  rVrx\        Wu,          VP                  ,          V^R7       \        Wv,          VP                  ,          V^R7       \        WwP                  ,          \        V4      ^R7       \        WP                  ,          \        V4      ^R7       \        \         P                  ! \        V4      ^ 8  4      4       R# )90  r-  N)rQ   rR   r,  rV   r;   r   r   rU   rF   r   r   r5   	ry   rf   rW   rZ   r   AABBQr  s	   &        r[   test_qz_singleTestQZ.test_qz_single	  s    ii##E*JJv%%g.JJv%%g.!x!!&133,1=!!&133,1=!!cc'3q61=!!cc'3q61=tBx1}%&r]   c                "   \         P                  P                  R 4      p^pVP                  W".4      pVP                  W".4      p\        W44      w  rVrx\	        Wu,          VP
                  ,          V4       \	        Wv,          VP
                  ,          V4       \	        WwP
                  ,          \        V4      4       \	        WP
                  ,          \        V4      4       \        \         P                  ! \        V4      ^ 8  4      4       R# )rZ  N
rQ   rR   r,  r   r   rU   rF   r   r   r5   r[  s	   &        r[   test_qz_doubleTestQZ.test_qz_double	  s    ii##E*JJvJJv!x!!&133,2!!&133,2!!cc'3q62!!cc'3q62tBx1}%&r]   c                t   \         P                  P                  R 4      p^pVP                  W".4      RVP                  W".4      ,          ,           pVP                  W".4      RVP                  W".4      ,          ,           p\        W44      w  rVrx\	        Wu,          VP                  4       P                  ,          V4       \	        Wv,          VP                  4       P                  ,          V4       \	        WwP                  4       P                  ,          \        V4      4       \	        WP                  4       P                  ,          \        V4      4       \        \         P                  ! \        V4      ^ 8  4      4       \        \         P                  ! \        V4      P                  ^ 8H  4      4       R# )rZ  rO   N)rQ   rR   r,  r   r   rT   rU   rF   r   r   r5   r   r[  s	   &        r[   test_qz_complexTestQZ.test_qz_complex+	  s   ii##E*JJvCJJv$6!66JJvCJJv$6!66!x!!&1668::"5q9!!&1668::"5q9!!ffhjj.#a&9!!ffhjj.#a&9tBx1}%&tBx}})*+r]   c                   \         P                  P                  R 4      p^pVP                  W".4      RVP                  W".4      ,          ,           P                  \        4      pVP                  W".4      RVP                  W".4      ,          ,           P                  \        4      p\        W44      w  rVrx\        Wu,          VP                  4       P                  ,          V^R7       \        Wv,          VP                  4       P                  ,          V^R7       \        WwP                  4       P                  ,          \        V4      ^R7       \        WP                  4       P                  ,          \        V4      ^R7       \        \         P                  ! \        V4      ^ 8  4      4       \        \         P                  ! \        V4      P                  ^ 8H  4      4       R# )rZ  rO   r-  N)rQ   rR   r,  rV   r<   r   r   rT   rU   rF   r   r   r5   r   r[  s	   &        r[   test_qz_complex64TestQZ.test_qz_complex648	  s1   ii##E*ZZ"SZZ%7"77??	JZZ"SZZ%7"77??	J!x!!&1668::"5q!D!!&1668::"5q!D!!ffhjj.#a&!D!!ffhjj.#a&!DtBx1}%&tBx}})*+r]   c                   \         P                  P                  R 4      p^pVP                  W".4      pVP                  W".4      p\        W4RR7      w  rVrxWu,          VP	                  4       P
                  ,          p	\        V	P                  V4       \        V	P                  ^ 4       Wv,          VP	                  4       P
                  ,          p
\        V
P                  V4       \        V
P                  ^ 4       \        WwP	                  4       P
                  ,          \        V4      4       \        WP	                  4       P
                  ,          \        V4      4       \        \         P                  ! \        V4      ^ 8  4      4       R# )rZ  r   )r  N)rQ   rR   r,  r   rT   rU   r   ry  r   rF   r   r   r5   )ry   rf   rW   rZ   r   r\  r]  r^  r  aabbs   &          r[   test_qz_double_complexTestQZ.test_qz_double_complexE	  s    ii##E*JJvJJv!y1Vaffhjj !"''1-!"''1-Vaffhjj !"''1-!"''1-!!ffhjj.#a&9!!ffhjj.#a&9tBx1}%&r]   c                    \         P                  ! . RO. RO. RO. RO.4      p\         P                  ! . RO. R	O. R
O. RO.4      p\        \        \        WR R7       R# )333333@c                     V^ 8H  # r   r   )araibetas   &&&r[   r  ,TestQZ.test_qz_double_sort.<locals>.<lambda>m	  s    bAgr]   r   N)rq        )@     @Ag      @333333@     5@g     Gg      @)rz  rB       Er	  )皙@r        Gr  )rn  rn  rq  rn  )rn  r   g      r}  )rn  rE  r  rn  )r@  r   r  r?  )	rQ   r4   r4  r5  r   r   r   rU   r   )ry   rZ   r   r\  r]  r^  r  r  s   &       r[   test_qz_double_sortTestQZ.test_qz_double_sortU	  sX     HH--,,. /
 HH++++- .
 	j"a1MNr]   c                &   \         P                  P                  R 4      p^pVP                  W".4      pVP                  W".4      p\        W4RR7      w  rVrx\	        Wu,          VP
                  ,          V4       \	        Wv,          VP
                  ,          V4       \	        WwP
                  ,          \        V4      4       \	        WP
                  ,          \        V4      4       \        \         P                  ! \        V4      ^ 8  4      4       R# )rZ  Fr   Nrb  r[  s	   &        r[   r0  TestQZ.test_check_finite	  s    ii##E*JJvJJv!U3!!&133,2!!&133,2!!cc'3q62!!cc'3q62tBx1}%&r]   r   N)r   r   r   r   r_  rc  rf  ri  rn  r  r0  r   r   r   s   @r[   rX  rX  	  s/     
'
',,' 5FF
' 
'r]   rX  c                   r   a  ] tR tRt o ]R 4       tR tR tR tR t	R t
R tR	 tR
 tR tR tR tRtV tR# )	TestOrdQZi	  c                R   \         P                  ! . RO. RO. RO. RO.4      p\         P                  ! . RO. RO. RO. R	O.4      p\         P                  ! . R
O. RO. RO. RO.4      p\         P                  ! . RO. RO. RO. RO.4      p\         P                  ! . RO. RO. RO. RO.4      p\         P                  ! . RO. RO. RO. RO.4      p\         P                  ! ^4      p\         P                  ! ^ ^.4      p\         P                  ! ^^ .4      p	WWWV	.V n        W$WhV	.V n        R# )g5@N)y5     6y     J@     @Iy     @A     _@y      @      ?)yq=
ףpݿQy           By      /     @M@y      %      )y333333@      yC@1y      Q      )@y            )y      @@y,@fffffE@y     @@      Gy      3     @@)y      ?      y?333333?y              y              )y?333333y              y            @y333333	)y      ?        y333333@?y            y              )rO   y333333@y              y      @      )rq  rw  rx  r&  ry  )rz  r{  r|  r	  )r}  g      :@r~  r  )rp   rr   rp   )rp   rs   rY  )rp   rs   rs   )rp   rs   r  rY  )r&  rn  r   r   )r?  r?  rE  rH  )rH  r?  rn  r   )r  r?  rB  rH  )rB  rF  r  rF  )rH  rH  rE  r9  )r9  rn  r  r  )r&  rn  r?  rH  )rQ   r4   rF   r5   rZ   r   )
clsA1B1A2B2A3B3A4B4A5s
   &         r[   setup_classTestOrdQZ.setup_class	  s     XX $&%'( ) XXDDDDF G XX/...0 1
 XX}$$$& ' XX'''') * XX)''') * VVAYWWaV_ WWaV_$$r]   c                   \         P                  ! R R7      ;_uu_ 4        \        V P                  V P                  4       UUu. uF  w  r#\        W#VR7      NK  	  pppRRR4       \        X4      # u uppi   + '       g   i     L!; i)raiser   r   N)rQ   r  ziprZ   r   r    tuple)ry   rA   AiBirets   &&   r[   	qz_decompTestOrdQZ.qz_decomp	  s]    [[W%%:=dffdff:MN:M5d+:MCN &Sz O &%s   $A8A2
A82A88B	c
           	        \         P                  ! VP                  !  p
\        WP                  P                  4       ,          V
4       \        WP                  P                  4       ,          V
4       \        W,          W,          4       \        W,          W),          4       \        \         P                  ! VR4      \         P                  ! VP                  4      4       \        \         P                  ! VR4      \         P                  ! VP                  4      4       \        VP                  ^ ,          4       EF  pV^ 8  d   WV^,
          3,          ^ 8w  d   K#  WP                  ^ ,          ^,
          8  d   WK^,           V3,          ^ 8w  d   \        WKV^,           1W^,           13,          W[V^,           1W^,           13,          4      w  rV^ ,          P                  ^ 8  d   V^^ .,          pWkV^,            W{V^,            ,          pV^ ,          P                  ^ 8  d   V^^ .,          p\        W4       EK  Wk,          ^ 8X  d9   W{,          ^ 8X  d,   \        WKV3,          ^ 4       \        W[V3,          ^ 4       EKK  W{,          ^ 8X  d   \        W[V3,          ^ 4       EKo  \        WKV3,          W[V3,          ,          Wk,          W{,          ,          4       EK  	  \        V4      pRp\        VP                  ^ ,          4       FV  pV! \         P                  ! Wk,          .4      \         P                  ! W{,          .4      4      pV'       g   V'       d   Q hTpKX  	  R# )rr   TNr   r   )rQ   rF   r@   r   rU   rT   r   trilr9   r   r
   r   r   r   r2   r4   )ry   rZ   r   rA   r\  r]  alpharu  r^  r  Idr   evals_tmpsortfunlastsortcursorts   &&&&&&&&&&        r[   checkTestOrdQZ.check
  sZ   VVQWW!!cchhj."5!!cchhj."5!!&!%0!!&!%02772r?BHHRXX,>?2772r?BHHRXX,>?qwwqz"A 1ua!e8)88A;?"ra%(|q'8rAE'1U7"23R!a%q58H5IJ 8==1$!1a&MEa!enTAE]2q6;;?q!f+C)%58q=TW\ qD1- qD1-W\ qD1-'a4qD(958DG;KL/ #0 #4(qwwqz"Abhhz2BHHdgY4GHG ""{H #r]   c                    V P                  V4      p\        W P                  V P                  4       F  w  r4pV P                  ! WEV.VO5!   K  	  R # rh  )r  r  rZ   r   r  )ry   rA   r  retir  r  s   &&    r[   	check_allTestOrdQZ.check_all0
  s@    nnT"VVTVV4LDbJJrt+d+ 5r]   c                (    V P                  R 4       R# )r  Nr  rj  s   &r[   test_lhpTestOrdQZ.test_lhp6
      ur]   c                (    V P                  R 4       R# )r  Nr  rj  s   &r[   test_rhpTestOrdQZ.test_rhp9
  r  r]   c                (    V P                  R 4       R# )r  Nr  rj  s   &r[   test_iucTestOrdQZ.test_iuc<
  r  r]   c                (    V P                  R 4       R# )r  Nr  rj  s   &r[   test_oucTestOrdQZ.test_ouc?
  r  r]   c                .    R  pV P                  V4       R# )c                     \         P                  ! V \        R 7      pV^ 8g  pRW#( &   W,          W,          ,          P                  ^ 8H  W#&   V# r   FrQ   
empty_likeboolr   r  r  outnonzeros   &&  r[   rA    TestOrdQZ.test_ref.<locals>.sortD
  D    --.CAvG!CMJqz1771<CLJr]   Nr  ry   rA   s   & r[   test_refTestOrdQZ.test_refB
      	 	tr]   c                .    R  pV P                  V4       R# )c                     \         P                  ! V \        R 7      pV^ 8g  pRW#( &   W,          W,          ,          P                  ^ 8g  W#&   V# r  r  r  s   &&  r[   rA    TestOrdQZ.test_cef.<locals>.sortO
  r  r]   Nr  r  s   & r[   test_cefTestOrdQZ.test_cefM
  r  r]   c                   \        V P                  ^,          V P                  ^,          RR7      pV P                  ! V P                  ^,          V P                  ^,          R.VO5!   \        V P                  ^,          V P                  ^,          RR7      pV P                  ! V P                  ^,          V P                  ^,          R.VO5!   R# )rp   r  r   N)r    rZ   r   r  )ry   r  s   & r[   test_diff_input_typesTestOrdQZ.test_diff_input_typesX
  s    DFF1Itvvayu5

466!9dffQi55DFF1Itvvayu5

466!9dffQi55r]   c                   \         P                  ! ^4      p\         P                  ! RR.4      pRR	^.3R^R	.3RR	^.3R^R	.3.p\         P                  ! ^4      p\         P                  ! R
R.4      pRRR.3RRR.3RRR.3RRR.3.p\         P                  ! ^4      p\         P                  ! ^^ .4      pRR\         P                  .3RR\         P                  .3R\         P                  R.3.p	\         P                  ! ^4      p
\         P                  ! R^ .4      pRR	\         P                  .3RR	\         P                  .3R\         P                  R	.3.p\         P                  ! ^ ^.4      p\         P                  ! ^ R.4      pR^\         P                  .3R^\         P                  .3.pWWzV.pW%WV.pW6WV.p\        VVV4       F  w  pppV F  w  pp\        VVVR7      w   ppp pV^ 8H  pV^ 8H  p\         P                  ! V4      p\         P                  VVV,          &   \         P                  VV( V,          &   VV( ,          VV( ,          ,          VV( &   \        VV4       K  	  K  	  R# )rr   r_   r  r  r  r  r   Nr   r&  y             ?y      ?      ?yٿɿ      ?      )	rQ   rF   r5   r   r  r  r    r  r   )ry   r  r  	expected1r  r  	expected2r  r  	expected3r  r  	expected4r  B5	expected5rZ   r   expectedr  r  	expectedisortstrexpected_eigvalsr  r  ru  azerobzeror  s   &                             r[   test_sort_explicitTestOrdQZ.test_sort_explicit_
  s    VVAYWWb#YdAY'aY'dAY'aY')	 VVAYWWgz*+k>:;nk:;k>:;nk:;=	
 VVAYWWaV_c266]+c266]+bffc]+-	 VVAYWWb!WdBFF^,dBFF^,bffd^,.	 WWaV_WWaXa[)a[)+	 RR RR )	J!$Q8!4BI-6))*/BW*E'1eT1a!MM%(#%66%%- $&FF5&5.!!5&M$v,65&	 0!4 .7 "5r]   r   N)r   r   r   r   classmethodr  r  r  r  r  r  r  r  r  r  r  r  r   r   r   s   @r[   r  r  	  sU     4% 4%l
,\,		6-5 -5r]   r  c                      a  ] tR tRt o ]P
                  P                  ^4      R 4       t]P
                  P                  R 4       t	Rt
V tR# )TestOrdQZWorkspaceSizei
  c                (   \         P                  P                  R 4      p^p\         P                  \         P                  3 FT  pVP                  W"34      P                  V4      pVP                  W"34      P                  V4      p\        WER RR7      pKV  	  \         P                  \         P                  3 FT  pVP                  W"34      P                  V4      pVP                  W"34      P                  V4      p\        WER RR7      pKV  	  R# )rZ  c                 
    W8  # rh  r   r  ru  s   &&r[   r  7TestOrdQZWorkspaceSize.test_decompose.<locals>.<lambda>
      U\r]   ry  r  c                 
    W8  # rh  r   r  s   &&r[   r  r  
  r  r]   r   N)	rQ   rR   r,  r;   r>  rV   r    rd  r<   )ry   rf   r  ddtyperZ   r   r  s   &      r[   test_decompose%TestOrdQZWorkspaceSize.test_decompose
  s    ii##E*zz2::.F

A6"))&1A

A6"))&1Aa!A#%A	 / }}bll3F

A6"))&1A

A6"))&1Aa!A&(A 4r]   c                x   \         P                  P                  R 4      p^p\         P                  \         P                  \         P
                  \         P                  3 FV  pVP                  W"34      P                  V4      pVP                  W"34      P                  V4      p\        WERR7      w  rgrrKX  	  R# )rZ  r  r   N)	rQ   rR   r,  r;   r>  rd  r<   rV   r    )ry   rf   r  r  rZ   r   SrU   r  ru  UrO  s   &           r[   test_decompose_ouc)TestOrdQZWorkspaceSize.test_decompose_ouc
  s    ii##E*zz2::r}}bllKF

A6"))&1A

A6"))&1A&+Au&=#A%q! Lr]   r   N)r   r   r   r   r   r   	fail_slowr  r  r  r   r   r   s   @r[   r  r  
  sD     [[1( (" [[> >r]   r  c                   &   a  ] tR tRt o R tRtV tR# )TestDatacopiedi
  c                f  a ^ RI Hp \        ^ ^.^^..4      p\        V4      oVP	                  4       pVP                  4       p ! V3R lR4      p ! V3R lR4      pV! 4       pV! 4       pVR3SR3VR3VR3VR3VR33 F-  w  r\        V	4      p\        V! W4      V
\        V	4      R7       K/  	  R	# )
r   )_datacopiedc                   2   <a  ] tR tRt o RV3R lltRtV tR# )-TestDatacopied.test_datacopied.<locals>.Fake1i
  Nc                   < S# rh  r   )ry   rY   r   rZ   s   &&&r[   	__array__7TestDatacopied.test_datacopied.<locals>.Fake1.__array__
  s    r]   r   )NN)r   r   r   r   r  r   r   )r   rZ   s   @r[   Fake1r  
  s      r]   r  c                   2   < ] tR tRt Z P                  tRtR# )-TestDatacopied.test_datacopied.<locals>.Fake2i
  r   N)r   r   r   r   __array_interface__r   r  s   r[   Fake2r   
  s    "#"7"7r]   r  FTr   N)scipy.linalg._decompr  rH   rC   tolistr   r   repr)ry   r  r  LM2r  r  F1F2itemstatusarrrZ   s   &           @r[   test_datacopiedTestDatacopied.test_datacopied
  s    4QFQF#$AJHHJVVX	 		8 	8 WWZ!UaY %[2u+E{DLD$-CS/!%d-Dr]   r   N)r   r   r   r   r  r   r   r   s   @r[   r  r  
  s     - -r]   r  c                     \        R\        P                  R7      p \        P                  ! V P                  ^^d\
        R7      pVP                  R4      p\        VRR7       \        VP                  RR7       R# )z4Check linalg works with non-aligned memory (float32)i  r   offsetcountrY   Toverwrite_aNr  r  )	r:   rQ   uint8
frombufferdatar;   r3  r
   rU   rz   r#  s     r[   test_aligned_mem_floatr  
  sT     	s"((#A 	affQcAA			(Atr]   ppc64lezcrashes on ppc64lec                     \        R\        P                  R7      p \        P                  ! V P                  ^^d\
        R7      pVP                  R4      p\        VRR7       \        VP                  RR7       R# )z4Check linalg works with non-aligned memory (float64)i$  r   r  Tr  Nr  )	r:   rQ   r  r  r  r   r3  r
   rU   r  s     r[   test_aligned_memr  
  sT    
 	s"((#A 	affQc?A			(Atr]   c                     \        R\        P                  R7      p \        P                  ! V P                  ^^d\
        R7      pVP                  R4      p\        VRR7       \        VP                  RR7       R# )z>Check that complex objects don't need to be completely alignediH  r   r  Tr  Nr  )	r9   rQ   r  r  r  r   r3  r
   rU   r  s     r[   test_aligned_mem_complexr  
  sT     	d"((#A 	affQcAA			(Atr]   c                    \        V4      p\        \        V4      4       EFN  pVR ,          p\        WC,          \        P
                  4      '       g   K5  \        P                  ! WC,          P                  WC,          P                  P                  ,          ^,           \        P                  R7      p\        P                  ! VP                  ^WC,          P                  WC,          P                  R7      pVP                  WC,          P                  4      pWC,          VR&   WTV&   V ! V/ VB  \        WC,          P                  4      ^8  g   EK2  WC,          P                  WC&   V ! V/ VB  EKQ  	  R# )r   r   r  .N)ro  r   rb   r`   rQ   rE   r9   r   rY   itemsizer  r  r  r3  r@   rU   )funcr  r^  r   rz   rl  s   &&&   r[   check_lapack_misalignedr#  
  s    :D3t9GadBJJ''!$))ADJJ$7$779JBrwwq		%&TZZ1BADJJ'BdBsGaD!v14::"tvva"6" r]   z0Ticket #1152, triggers a segfault in rare cases.)runr  c                     \         P                  ! ^
\        R7      p \         P                  ! ^d4      P	                  R	4      p\         P                  ! R\         P
                  R7      p\         P                  ! VP                  ^^d\        R7      pVP	                  R	4      p\         P                  ! ^
4      p\        V4      w  rE\        V3\        RR7      3\        V3\        RR7      3\        V3\        RR7      3\        V3\        RR7      3\        WE3V3\        RR7      3\        W#3\        RRR7      3\         V 3\        RR7      3\         V3\        RR7      3\         V3\        RR7      3\"        V3\        4       3\"        V3\        RR7      3\$        V 3\        RR7      3\&        V3\        RR7      3\(        V3\        RR7      3\*        V3\        RR7      3\,        V3\        RR7      33 F  w  rgp\/        WgV4       K  	  R# )
r  r   i N  r  Tr  )overwrite_b)r  r&  Nr  )rQ   rF   r   r:   r3  r  r  r  r   r   r
   r[  r   r   r   r   r   r   r   r   r   r   r   r#  )	r  Rr  r   LUpivr"  r  r^  s	            r[   test_lapack_misalignedr*    s    	rA
		#x(A
		%rxx(A
affQc?A			(A
AlGB1$./qdDT23!t-.dt45	1~t'=>QFDTtDE1$./1$./1$./qdDF#qdDT23tTd34!t-.!t-.!t56QD$401!!V$ 	 F3%!r]   c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tRtV tR# )TestOverwritei%  c                L    \        \        R.4       \        \        RR.4       R# rs   Nr  )rG   r
   rj  s   &r[   test_eigTestOverwrite.test_eig&  s    C&*C&&!12r]   c                L    \        \        R.4       \        \        RR.4       R# r.  )rG   r   rj  s   &r[   	test_eighTestOverwrite.test_eigh*  s    D6(+D66"23r]   c                (    \        \        R.4       R# rs   NrX  )rG   r   rj  s   &r[   r  TestOverwrite.test_eig_banded.      J1r]   c                (    \        \        R.4       R# r.  )rG   r   rj  s   &r[   test_eigvalsTestOverwrite.test_eigvals1      GfX.r]   c                (    \        \        R.4       R# r.  )rG   r   rj  s   &r[   test_eigvalshTestOverwrite.test_eigvalsh4  s    Hvh/r]   c                (    \        \        R.4       R# r5  )rG   r   rj  s   &r[   r  !TestOverwrite.test_eigvals_banded7  s    NVH5r]   c                (    \        \        R.4       R# r.  )rG   r   rj  s   &r[   test_hessenbergTestOverwrite.test_hessenberg:  r7  r]   c                (    \        \        R.4       R# r.  )rG   r   rj  s   &r[   test_lu_factorTestOverwrite.test_lu_factor=  s    Ix0r]   c                ~   a \         P                  ! . RO. RO. RO.4      p\        V4      o\        V3R lR.4       R# )rp   c                    < \        SV 4      # rh  )r   )r   xlus   &r[   r  -TestOverwrite.test_lu_solve.<locals>.<lambda>C  s    hsA&6r]   Nrq   ra  )rG  r  r  )rs   )rQ   r4   r   rG   )ry   r  rI  s   & @r[   test_lu_solveTestOverwrite.test_lu_solve@  s.    HHiI67l6?r]   c                (    \        \        R.4       R# r.  )rG   r   rj  s   &r[   test_luTestOverwrite.test_luE      B)r]   c                (    \        \        R.4       R# r.  )rG   r   rj  s   &r[   test_qrTestOverwrite.test_qrH  rP  r]   c                (    \        \        R.4       R# r.  )rG   r   rj  s   &r[   test_rqTestOverwrite.test_rqK  rP  r]   c                (    \        \        R.4       R# r.  )rG   r   rj  s   &r[   
test_schurTestOverwrite.test_schurN  s    EF8,r]   c                b    \        R  R.\        P                  \        P                  .R7       R# )c                     \        V R 4      # )r   )r   rz   s   &r[   r  2TestOverwrite.test_schur_complex.<locals>.<lambda>R  s    eAy&9r]   )dtypesNr  )rG   rQ   r;   r>  rj  s   &r[   test_schur_complex TestOverwrite.test_schur_complexQ  s!    9F8$&JJ

#;	=r]   c                D    \        \        R.4       \        R R.4       R# )rs   c                     \        V R R7      # )r  r  )r   r\  s   &r[   r  (TestOverwrite.test_svd.<locals>.<lambda>W  s    c!7&Cr]   Nr  )rG   r   rj  s   &r[   test_svdTestOverwrite.test_svdU  s    C&*CfXNr]   c                (    \        \        R.4       R# r.  )rG   r   rj  s   &r[   test_svdvalsTestOverwrite.test_svdvalsY  r;  r]   r   N)r   r   r   r   r/  r2  r  r9  r=  r  rB  rE  rK  rN  rR  rU  rX  r_  rd  rg  r   r   r   s   @r[   r,  r,  %  s\     342/0621@
***-=O/ /r]   r,  c                    \         P                  ! V ^3\        R7      P                  V4      p\         P                  ! V4      P
                  pRV,          p\        V4      p\        VP                  V ^34       \        WfP                  4       VRR7       \        VP                  4      p\        VP                  R4       \        WfP                  4       VR7       V ^8  d   V'       g   \         P                  P                  ^4      pVP                  V ^4      VP                  ^V 4      ,          pVRVP                  V ^4      ,          VP                  ^V 4      ,          ,           pVP                  V4      p\        VRR7      p\        VP                  V ^34       \        VR	R7      p\        VP                  V ^34       R
# R
# R
# )rr   r   r1  gz]ʂ>r2  rA  -C6?MbP?rcondư>Nrr   rp   )rQ   r   r   rV   r3  r4  r   r   r@   r   meanrU   rR   r,  rS   )rW   rY   skip_bigXr4  r   Yrf   s   &&&     r[   _check_orthrt  ]  sH   
Ae$++E2A
((5/

C
*CQA1a&!Avvxc7QSS	A&!Avvxc*1uXii##A&HHQNSXXa^+sxx1~%A66HHUO$QWWq!f%$QWWq%j) ur]   z"test only on 64-bit, else too slowc                      Rp  \        V \        P                  RR7       R#   \         d   p\	        R4      ThRp?ii ; i)r  T)rq  z.memory error perhaps caused by orth regressionNi )rt  rQ   r>  MemoryErrorAssertionError)rW   r  s     r[   test_orth_memory_efficiencyrx  x  sA     	AArzzD1 <
	s   " >9>c                      \         P                  \         P                  \         P                  \         P                  .p . ROp\
        P                  ! W4       F  w  r#\        W24       K  	  R# )rp   Nrp   rr   rs   r  ru  )rQ   r;   r>  r<   rd  	itertoolsproductrt  )r^  rv  r   rW   s       r[   	test_orthr}    sD    jj"**bllBMMBFE""61A 2r]   r   c                     \         P                  ! RV R7      p\         P                  ! ^V R7      p\        V4      pVP                  \        V4      P                  8X  g   Q hVP
                  R8X  g   Q hR# r   r   Nr   )rQ   r   rF   r   rY   r@   )r   rz   r  oas   &   r[   test_orth_emptyr    sW    
r"A		B	aB88tBx~~%%%88vr]   c                   h  a  ] tR tRt o R t]P                  P                  R]]	]
P                  ]]
P                  .4      R 4       t]P                  P                  RRR.4      ]P                  P                  RRR.4      ]P                  P                  R	R
R.4      R 4       4       4       tRtV tR# )TestNullSpacei  c                T   \         P                  P                  ^4      p\         P                  \         P                  \         P
                  \         P                  .p. R	Op\        P                  ! W#4       EF+  w  rE\         P                  ! ^V3VR7      p\         P                  ! V4      P                  pRV,          p\        V4      p	\        V	P                  WU^,
          34       \        Wi,          ^ VR7       \        VP                   4      p	\        V	P                  R
4       \        VP                   V	,          ^ VR7       VP#                  ^V^,          ,           V4      p\        V4      p	\        V	P                  WU^,
          V^,          ,
          34       \        Wi,          ^ VR7       V^8  g   EKE  \         P                  P                  ^4      pVP%                  V^4      VP%                  ^V4      ,          pVRVP%                  V^4      ,          VP%                  ^V4      ,          ,           pVP'                  V4      p\        VRR7      p	\        V	P                  WU^,
          34       \        VRR7      p	\        V	P                  WU^,
          34       EK.  	  R# )rp   r   r1  rA  rj  rk  rl  rn  Nrz  ro  )rQ   rR   r,  r;   r>  r<   rd  r{  r|  r   r3  r4  r%   r   r@   r   rU   randnrS   rV   )
ry   rf   r^  rv  r   rW   rr  r4  r   rs  s
   &         r[   test_null_spaceTestNullSpace.test_null_space  s   ii##A&**bjj",,F"&&v5EBAb)A((2,""C*C1A1c(+AE13/133A&)ACC!GQS1		!ad(A&A1A1!eadl"34AE13/1uii++A.HHQNSXXa^3sxx1~-A>>HHRLq-QWWqa%j1q-QWWqa%j1; 6r]   r   c                    \         P                  ! RVR7      p\         P                  ! ^VR7      p\        V4      pVP                  R8X  g   Q hVP
                  \        V4      P
                  8X  g   Q hR# r  )rQ   r   rF   r%   r@   rY   )ry   r   rz   r  nsas   &&   r[   test_null_space_empty#TestNullSpace.test_null_space_empty  sY    HHV2&VVAR myyF"""yyJrN00000r]   r  TFr   r  rN  r  c                H   \         P                  P                  R 4      p^
pVP                  ^V^,          ,           V34      p\	        VP                  4       WVR7      p\        Wg,          ^ \         P                  ! VP                  4      P                  ^d,          R7       R# )l   'YeN )r  r   r  rA  N)
rQ   rR   rZ  standard_normalr%   r   r   r3  rY   r4  )ry   r  r   r  rf   rW   rr  rs  s   &&&&    r[   test_null_space_options%TestNullSpace.test_null_space_options  sw     ii##$;<QT1.qvvx[%24qrxx'8'<'<S'@Ar]   r   N)r   r   r   r   r  r   r   r   ra   r   rQ   r;   r   r<   r  r  r   r   r   s   @r[   r  r    s     #2J [[TC

GR\\#RS1 T1 [[]T5M:[[^dE];[[_w.@AB B < ;Br]   r  c                  ~   \        ^\        4      p V R,          pV R,          p\        \        W4      \        P
                  R,          .^,          RR7       \        \        W!4      \        P
                  R,          .^,          RR7       W3 F?  p\        \        W34      \        P                  ! VP                  ^,          4      RR7       KA  	  \        P                  ! . RO. RO. RO. RO.4      pRp\        \        VR,          VR,          4      ^ ,          VRR7       \        \        VR,          VR,          4      ^ ,          VRR7       Rp\        \        VR,          VR^.3,          4      VRR7       \        \        VR^.3,          VR,          4      VRR7       R	p\        \        VR,          VR^.3,          4      VRR7       \        \        VR^.3,          VR,          4      VRR7       R
p\        \        VR,          VR,          4      V^ .RR7       \        \        \        V^ ,          V4       \        \        \        W3^ ,          4       \        \        \        VRR V4       \        P                  ! . RO. RO. RO. RO. RO.4      p\        P                  ! . RO. RO. RO. RO. RO.4      p\        P                  ! \        P
                  ^,          ^ ^ .4      p\        \        W4      VRR7       R.^ ..pR^ .^ ^..p\        \        WV4      RRR7       \        \        We4      RRR7       \        P                  ! R4      p\        P                  ! R4      p\        \        WV4      \        P                  ! R4      4       \        P                  ! R4      p\        P                  ! R4      p\        \        WV4      \        P                  ! R4      4       \        P                  ! R 4      p\        P                  ! R!4      p\        \        WV4      \        P                  ! R4      4       R# )"r  r   rE  r@  rA  g"	?r  r  gL0?gĹ-?gyv?Nr  )r   :Nrs   N)r   :rs   NN)g4?gVRf?g8!@g6?)gN$ЗW?gJg~'@g3:]$)gvMg ۿgPT#ge,?)g΀?g+?gNG@gS<ʿ)r   r  )r   :rr   NN)r   r  r   r  )r   rp   r   )r   r   rp   r  rr  r  r   r   r   r   r  )r"   r   r   r!   rQ   pir9   r@   r4   r4  r5  r   )HrZ   r   r  r  rz   r   s          r[   test_subspace_anglesr    sA   EA	%A	%AOA)BEEBJ<!+;%HOA)BEEBJ<!+;%HV-rxx
/C"	$ 
 		U	W	X	V	X	YA
 !HOAeHah7:H OAeHah7:H  HOAeHaA3i8(OOAa!fIqx8(O HOAeHaA3i8(OOAa!fIqx8(O HOAeHah7(A  *oqtQ7*oqA$7*oq"vq9 	)	 	A
 	)	 	A
 xxq!Q(HOA)8%@
 A3A
!q!fAOA)2E:OA)2E: 	A
AOA)288D>:
A
AOA)288D>:
A
AOA)288D>:r]   c                   t   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tRtV tR# )TestCDF2RDFi  c                0    \         P                  ! R W4      # )z...ij,...jk->...ik)rQ   einsum)ry   rz   r   s   &&&r[   matmulTestCDF2RDF.matmul  s    yy-q44r]   c                Z    \        V P                  W!4      V P                  W24      4       R # rh  )r   r  )ry   r{   ri   r  s   &&&&r[   assert_eig_validTestCDF2RDF.assert_eig_valid  s"    !KKKK	
r]   c                    \         P                  ! R4      p\         P                  ! ^ 4      \         P                  ! R4      r2\        W#4      w  rEV P                  WEV4       R# )r   Nr   )rQ   r   r&   r  ry   rr  r{   ri   wrr   s   &     r[   test_single_array0x0real$TestCDF2RDF.test_single_array0x0real$  sC    HHVxx{BHHV,1ba(r]   c                    \         P                  ! ^^.^R..4      p\         P                  P                  V4      w  r#\	        W#4      w  rEV P                  WEV4       R# )rp   Nr   rQ   r4   r7   r
   r&   r  r  s   &     r[   test_single_array2x2_real%TestCDF2RDF.test_single_array2x2_real+  sL    HHq!fq"g&'yy}}Qba(r]   c                    \         P                  ! ^^.R^..4      p\         P                  P                  V4      w  r#\	        W#4      w  rEV P                  WEV4       R# )rp   Nr   r  r  s   &     r[   test_single_array2x2_complex(TestCDF2RDF.test_single_array2x2_complex1  sL    HHq!fr1g&'yy}}Qba(r]   c                    \         P                  ! . RO. RO. RO.4      p\         P                  P                  V4      w  r#\	        W#4      w  rEV P                  WEV4       R# ro   r  r  s   &     r[   test_single_array3x3_real%TestCDF2RDF.test_single_array3x3_real7  sF    HHiI67yy}}Qba(r]   c                    \         P                  ! . RO. RO. RO.4      p\         P                  P                  V4      w  r#\	        W#4      w  rEV P                  WEV4       R# rp   Nrq   )r   rY  ru   )r   r  rY  r  r  s   &     r[   test_single_array3x3_complex(TestCDF2RDF.test_single_array3x3_complex=  sF    HHiJ78yy}}Qba(r]   c                   \         P                  P                  R 4      p\        ^^4       FV  pVP                  ^dW"34      p\         P                  P                  V4      w  rE\        WE4      w  rgV P                  WgV4       KX  	  R# rl  rQ   rR   rZ  r   r7   r
   r&   r  ry   rf   r  rr  r{   ri   r  r   s   &       r[   test_random_1d_stacked_arrays)TestCDF2RDF.test_random_1d_stacked_arraysC  sg    ii##D)q!A

C;'A99==#DAQ]FB!!"!,	 r]   c                   \         P                  P                  R 4      p\        ^^4       FW  pVP                  ^
^
W"34      p\         P                  P                  V4      w  rE\        WE4      w  rgV P                  WgV4       KY  	  R# rl  r  r  s   &       r[   test_random_2d_stacked_arrays)TestCDF2RDF.test_random_2d_stacked_arraysL  si    ii##D)q!A

BA>*A99==#DAQ]FB!!"!,	 r]   c                    \         P                  ! R4      \         P                  ! R4      r!\        \        \
        W4       R# )rr   Nr   )rr   )rQ   r   r4   r4  r5  r&   ry   r{   ri   s   &  r[   test_low_dimensionality_error)TestCDF2RDF.test_low_dimensionality_errorU  s%    xx|RXXd^1j'10r]   c                    \         P                  ! ^4      \         P                  ! ^4      P                  ^^4      r!\        \        \
        W4       R# r  rQ   r:   r3  r4  r5  r&   r  s   &  r[   r6  !TestCDF2RDF.test_not_square_errorY  s2    yy|RYYq\11!Q71j'10r]   c                    \         P                  ! . RO. RO. RO.4      p\         P                  P                  V4      w  r#\	        \
        \        W24       R# r  rQ   r4   r7   r
   r4  r5  r&   ry   rr  r{   ri   s   &   r[   test_swapped_v_w_error"TestCDF2RDF.test_swapped_v_w_error^  s7    HHiJ78yy}}Qj'10r]   c                    \         P                  ! ^4      \         P                  ! ^4      P                  ^^4      r!\        \        \
        W4       R# r  r  r  s   &  r[   test_non_associated_error%TestCDF2RDF.test_non_associated_errord  s2    yy|RYYr]221a81j'10r]   c                p   \         P                  ! . RO. RO. RO.4      p\         P                  P                  V4      w  r#\	        \
        \        W#4       \         P                  ! . RO. RO. RO.. RO. RO. RO..4      p\         P                  P                  V4      w  r#\	        \
        \        W#4       R# )rp   Nrq   r   )rr   ru   y      @      r  r  s   &   r[   test_not_conjugate_pairs$TestCDF2RDF.test_not_conjugate_pairsi  s    HHiL9:yy}}Qj'10 HH	<0	<0
  yy}}Qj'10r]   r   N)r   r   r   r   r  r  r  r  r  r  r  r  r  r  r6  r  r  r  r   r   r   s   @r[   r  r    sP     5
)))))--11
11
1 1r]   r  )wasm32wasm64)F)r{  platformsysrI  numpyrQ   numpy.testingr   r   r   r   r   r   r   r	   r4  scipy.linalgr
   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'   scipy.linalg.lapackr(   r)   r*   r+   r,   r-   r.   r/   r0   scipy.linalg._miscr1   scipy.linalg._decomp_qzr2   scipy.statsr3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   scipy.linalg._testutilsrG   scipy.sparse._sputilsrH   scipy._lib._testutilsrI   scipy.linalg.blasrJ   scipy.conftestrK   scipy.__config__rL   machineIS_WASMr   r\   r>  REAL_DTYPESrd  rP   r  rk   rm   r   rf  r  r  rM  r  r   r  xfail_on_32bitparallel_threads_limitr  r  r  r  r  r  r  r  r(  blas_providerblas_versionrX  r  r  r  r  r  r  r#  xfailr*  r,  rt  r  rY   intpr!  rx  r}  r   ra   r   r  r  r  r  r   r]   r[   <module>r     s     
  5 5  *N N N N N N N NA A A $ 4 #; ; ; ; ; ; 8 ( 3 ' . #<<<'UU8+;+;+=AU+U (-E   zz2::&,,.	~	%
4'= '=To4 o4d	f$ f$P	~! ~!BH$ H$TM# M#^M  G$;<AB##A&r  ' C =#; ;|E EE
. E
.PN- N-b}4 }4@Y# Y#x  $ #+,V4V<*+F3I>p' p'fG5 G5T> ><- -6
 H$$&)3/  1
1
#$ uL  N4N4>5/ 5/p*6 BHHRWW%..2?  AA  UBJJNO P8B 8BvB;J\1 \1r]   