+
    0iCR                        R t ^ RIHt ^ RIHt ^ RIt^ RIt^ RIHtH	t	 ^ RI
HtHt ^ RIt^ RIHt ^ RIHu Hu Ht ^ RIHt ^ RIHtHt  ! R R	4      t ! R
 R4      tR tR tR tR tR t R t!R t"R t#]PH                  ]PJ                  ]PL                  ]PN                  3t(]PR                  ]PT                  ]PV                  3t,]PZ                  ]P\                  ]P^                  3t0],]0,           t1](]1,           t2]Pf                  Pi                  R]24      R 4       t5R t6R t7R t8R t9R t:R t;]Pf                  Py                  ]RR7      R 4       t=R# )z7Test functions for the sparse.linalg._interface module
)partial)productN)raiseswarns)assert_assert_equal)matrix)assert_deallocatedIS_PYPYc                   2   a  ] tR t^t o R tR tR tRtV tR# )TestLinearOperatorc                    \         P                  ! . RO. RO.4      V n        \         P                  ! ^^.^^.^^..4      V n        \         P                  ! ^^.^^..4      V n        R# )   Nr                  )nparrayABC)selfs   &f/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/sparse/linalg/tests/test_interface.pysetup_methodTestLinearOperator.setup_method   si    7"$ %Aa5a5a5" # Aa5a5" #    c                &  aa R  pV! V P                   4       EF:  p\        P                  ! R/ VB o\        SP                  R8H  4       \        SP                  \        P                  ! . RO4      4      ^^ .4       \        SP                  \        P                  ! ^.^.^..4      4      ^.^ ..4       \        S\        P                  ! . RO4      ,          ^^ .4       \        S\        P                  ! ^.^.^..4      ,          ^.^ ..4       \        SP                  \        P                  ! . RO4      4      ^^ .4       \        SP                  \        P                  ! ^.^.^..4      4      ^.^ ..4       \        SP                  \        ^.^.^..4      4      ^.^ ..4       \        S\        ^.^.^..4      ,          ^.^ ..4       \        SP                  \        ^.^.^..4      4      ^.^ ..4       \        ^S,          . RO,          ^^.4       \        ^S,          P                  ^^.4      . RO4       \        ^S,          P                  P                  ^^.4      . RO4       \        ^S,          P                  4       P                  ^^.4      . RO4       \        ^S,          ^.^.^..,          ^.^..4       \        ^S,          P                  ^.^.^..4      ^.^..4       \        S^,          . RO,          ^^.4       \        S^,          ^.^.^..,          ^.^..4       \        RS,          . RO,          RR.4       \        SS,           . RO,          ^^.4       \        SS,           P                  ^^.4      . RO4       \        SS,           P                  P                  ^^.4      . RO4       \        SS,           P                  4       P                  ^^.4      . RO4       \        SS,           ^.^.^..,          ^.^..4       \        SS,           P                  ^.^.^..4      ^.^..4       \        S) . RO,          RR.4       \        S) ^.^.^..,          R.R..4       \        SS,
          . RO,          ^ ^ .4       \        SS,
          ^.^.^..,          ^ .^ ..4       \        P                  ! ^^.^^..4      p\        ^S,          P                  V4      \        P                  ! ^V P                   ,          P                   V4      4       \        S^,          P                  V4      \        P                  ! V P                   ^,          P                   V4      4       \        RS,          P                  V4      \        P                  ! RV P                   ,          P                   P#                  4       V4      4       \        SR,          P                  V4      \        P                  ! V P                   R,          P                   P#                  4       V4      4       \        SS,           P                  V4      \        P                  ! V P                   V P                   ,           P                   V4      4       \        SRS,          ,           P                  V4      \        P                  ! V P                   RV P                   ,          ,           P                   P#                  4       V4      4       \        S) P                  V4      \        P                  ! V P                   ) P                   V4      4       \        SS,
          P                  V4      \        P                  ! V P                   V P                   ,
          P                   V4      4       \        RS,          P                  RV,          4      \        P                  ! RV P                   ,          P                   P#                  4       RV,          4      4       SS,           p\        \%        VP                  4      ^8H  ;'       d3    VP                  ^ ,          SJ ;'       d    VP                  ^,          SJ 4       ^S,          p\        \%        VP                  4      ^8H  ;'       d4    VP                  ^ ,          SJ ;'       d    VP                  ^,          ^8H  4       \        \'        SP                  . RO4      \        P(                  4      4       \        \'        SP                  \        P                  ! ^.^.^..4      4      \        P(                  4      4       \        \'        S\        P                  ! . RO4      ,          \        P(                  4      4       \        \'        S\        P                  ! ^.^.^..4      ,          \        P(                  4      4       \        \'        SP                  \        P                  ! . RO4      4      \        P(                  4      4       \        \'        SP                  \        P                  ! ^.^.^..4      4      \        P(                  4      4       \        \'        SP                  \        ^.^.^..4      4      \        P(                  4      4       \        \'        S\        ^.^.^..4      ,          \        P(                  4      4       \        \'        SP                  \        ^.^.^..4      4      \        P(                  4      4       \        \'        ^S,          \        P*                  4      4       \        \'        RS,          \        P*                  4      4       \        \'        SS,           \        P,                  4      4       \        \'        S) \        P*                  4      4       \        \'        SS,
          \        P,                  4      4       \        \'        S^,          \        P*                  4      4       \        \'        SR,          \        P*                  4      4       \        S^,          ^,          P                  ^ ,          SJ 4       S\        P                  ! . RO4      ,          pS^,          oS^,          p\        S\        P                  ! . RO4      ,          V4       \        RS,          P.                  \        P0                  8H  4       Rp\3        \4        VR7      ;_uu_ 4        S\        P                  ! ^^.4      ,           RRR4       \3        \4        SP                  \        P                  ! ^^.4      4       \3        \4        SP                  \        P                  ! . RO4      4       \3        \4        SP                  \        P                  ! ^.^..4      4       \3        \4        SP                  \        P                  ! ^.^.^.^..4      4       \3        \4        V3R l4       \3        \4        V3R l4       EK=  	  \7        V! V P                   4      V! V P8                  4      4       EF  w  r\        P                  ! R/ VB o\        P                  ! R/ V	B oV P                   P                  V P8                  4      p
\        P                  ! ^^.^^..4      p\        SS,          P                  V4      \        P                  ! V
P                   V4      4       \        RS,          S,          P                  V4      \        P                  ! RV
,          P                   P#                  4       V4      4       \        SS,          ^^.,          ^2^q.4       \        SS,          ^.^..,          ^2.^q..4       \        SS,          P                  ^.^..4      ^2.^q..4       \        SS,          P                  ^^.4      ^G^\.4       \        SS,          P                  P                  ^^.4      ^G^\.4       \        SS,          P                  4       P                  ^^.4      ^G^\.4       \        \'        SS,          \        P:                  4      4       \3        \4        VV3R	 l4       \3        \4        V3R
 l4       SS,          p\        \%        VP                  4      ^8H  ;'       d3    VP                  ^ ,          SJ ;'       d    VP                  ^,          SJ 4       EK  	  V! V P<                  4       EF  p\        P                  ! R/ VB p\        P                  ! ^^.^^..4      p\        VP                  V4      \        P                  ! V P<                  P                   V4      4       \        V^,          P                  V4      \        P                  ! \        P                  ! V P<                  V P<                  4      P                   V4      4       \        V^,          ^^.,          ^^%.4       \        V^,          P                  ^^.4      ^^ .4       \        V^,          P                  P                  ^^.4      ^^ .4       \        V^,          P                  4       P                  ^^.4      ^^ .4       \        V^,          P                  ^.^..4      ^.^%..4       \        \'        V^,          \        P>                  4      4       EK  	  R#   + '       g   i     EL; i)c                    a  R S P                   RV 3R lRV 3R l/R S P                   RV 3R lRV 3R lRV 3R lR	V 3R
 l/.# )shapematvecc                 r   < \         P                  ! SV 4      P                  SP                  ^ ,          4      #     )r   dotreshaper"   xr   s   &r   <lambda>ETestLinearOperator.test_matvec.<locals>.get_matvecs.<locals>.<lambda>!   s"    BFF1aL,@,@,Lr   rmatvecc                    < \         P                  ! SP                  P                  4       V 4      P	                  SP
                  ^,          4      # r   )r   r'   Tconjr(   r"   r)   s   &r   r+   r,   "   s5    RVVACCHHJ45.77>wqwwqz7J.Kr   c                 2   < \         P                  ! SV 4      # Nr   r'   r)   s   &r   r+   r,   '       BFF1aLr   c                 b   < \         P                  ! SP                  P                  4       V 4      # r3   r   r'   r0   r1   r)   s   &r   r+   r,   (       RVVACCHHJ-Br   rmatmatc                 b   < \         P                  ! SP                  P                  4       V 4      # r3   r7   r)   s   &r   r+   r,   )   r8   r   matmatc                 2   < \         P                  ! SV 4      # r3   r4   r)   s   &r   r+   r,   *   r5   r   )r"   r   s   fr   get_matvecs3TestLinearOperator.test_matvec.<locals>.get_matvecs   sR     "L! $K   "8!#B!#B "8 r                  @y              (@y              >@z.Can only divide a linear operator by a scalar.matchNc                     < S S ,          # r3    r=   s   r   r+   0TestLinearOperator.test_matvec.<locals>.<lambda>   	    acr   c                     < S ^,          # r   rD   r=   s   r   r+   rE      	    adr   c                     < S S,           # r3   rD   )r   r   s   r   r+   rE      rF   r   c                     < S ^,          # rH   rD   r=   s   r   r+   rE      rI   r   rD   r   )r   r   r   )
         iir   r   r   r   ) r   	interfaceLinearOperatorr   argsr   r#   r   r   r'   r   r-   Hadjointr;   r9   r0   r1   len
isinstancendarray_ScaledLinearOperator_SumLinearOperatordtype
complex128assert_raises
ValueErrorr   r   _ProductLinearOperatorr   _PowerLinearOperator)r   r>   matvecsXzresultr   msgmatvecsAmatvecsBAtimesBmatvecsCr   r   s   &           @@r   test_matvecTestLinearOperator.test_matvec   s   	 #466*G((373AAFFbL!"((7"34r"g>"((QCQC="9:bT2$KHRXXg..B8RXXsA3sm44tRDkBrxx01Br7;rxx!aS!672$tE&1#qc1#"78B4+FVaS!aSM22bT2$K@vsA3sm45bT{C!A#wB0!a%!Q0,?!A#1.=!A#//16E!A#QC},tRDk:!a%!qcA38B4",G!A#wB0!A#QC},tRDk:"Q$#c3!A#wR1!a%!Q0,?!A#1.=!A#//16E!A#QC},tbTl;!A#sA3sm4tbTlC1"g3x01"sA3sm+rdC5\:!A#w1.!a%QC!qc?2aS1#J?1a&1a&)*A!a%+RVVQZNNA-FG!a%+RVVTVVaZNNA-FG"q&))!,dff 4 4 6:<!b&))!," 4 4 6:<!a%+$&& 3 3Q79!b1f*--a0"tvv+!5 8 8 = = ?CE1"a"&&466'a*@A!a%+$&& 3 3Q79"q&))"q&1dff 4 4 6Q?A !ACK1$JJaJJAFF1INK!ACK1$JJaJJAFF1INKJqxx	2BJJ?@Jqxx1#qc1#(?@"**MNJq288G#44bjjABJq288aS!aSM#::BJJGHJquuRXXg%67DEJquuRXXsA3sm%<=rzzJKJqxxQC}(=>

KLJq6A3sA3-#88"**EFJquuVaS!aSM%:;RZZHIJqsI$C$CDEJr!tY%D%DEFJqsI$@$@ABJr9#B#BCDJqsI$@$@ABJqsI$C$CDEJqtY%D%DEFa!eq[&&q)Q./ ),,FAAAARXXi00&9RTLLBMM12 CCz55BHHaV$$ 6 *ahh!A@*ahh0CD*ahh1#qc0CD*ahh1#qc1#qc9J0KL*k2*l3G +J #*+dff*=*5dff*=#?H((484A((484Affjj(G1a&1a&)*A!a%+RVVWKK-CD"q&1*--a0g 0 0 5 5 7;= !A#!ur#h/!A#QCyB4,7!A#sA3i0B4,?!a%!Q02r(;!a%))1a&1B8<!a%*111a&9B8DJqsI$D$DEF*k2*l3!ACK1$JJaJJAFF1INK5#?8 $DFF+H((484A1a&1a&)*A1rvvtvvjj!'<=!Q$*!7 : :A>@ !Q$12w/!Q$A/"b:!Q$!Q02r(;!Q$)00!Q82r(C!Q$QCy1RD";?Jq!tY%C%CDE ,O 655s   6 AL=L=AMc                  a  R S P                   P                  RV 3R lRV 3R lRV 3R lRV 3R l/p\        P                  ! R
/ VB p\        P
                  ! . RO. RO. RO.4      pV^ ,          p\        \        P                  ! W$4      W$,          4       \        \        P                  ! W$P                  R^4      4      W$P                  R^4      ,          4       \        \        P                  ! W#4      W#,          4       \        \        P                  ! WBP                  4      WBP                  ,          4       \        \        P                  ! WBP                  4       4      WBP                  4       ,          4       \        \        P                  ! VP                  ^R4      VP                  4      VP                  ^R4      VP                  ,          4       \        \        P                  ! VP                  ^R4      VP                  4       4      VP                  ^R4      VP                  4       ,          4       \        \        P                  ! W2P                  4      W2P                  ,          4       \        \        P                  ! W2P                  4       4      W2P                  4       ,          4       \        \        \        P                  V^4       \        \        \        P                  ^V4       R	# )r"   r#   c                    < \         P                  ! SP                  V 4      P                  SP                  P                  ^ ,          4      # r%   )r   r'   r   r(   r"   r*   r   s   &r   r+   0TestLinearOperator.test_matmul.<locals>.<lambda>   s+    !2!:!:466<<?!Kr   r-   c                    < \         P                  ! SP                  P                  P	                  4       V 4      P                  SP                  P                  ^,          4      # r/   )r   r'   r   r0   r1   r(   r"   rm   s   &r   r+   rn      s=    "&&)*#,,3GDFFLLO,D#Er   r9   c                 v   < \         P                  ! SP                  P                  P	                  4       V 4      # r3   )r   r'   r   r0   r1   rm   s   &r   r+   rn      s    "&&!"<r   r;   c                 F   < \         P                  ! SP                  V 4      # r3   )r   r'   r   rm   s   &r   r+   rn      s    !2r   NrD   )y      ?      ?r   r   r   )      	   )r   r"   rP   rQ   r   r   r   operatormatmulr(   rS   rT   r\   r]   )r   Dr   r   bs   f    r   test_matmulTestLinearOperator.test_matmul   s   dffllK E<24 $$)q)HHn! " aDX__Q*AE2X__Q		"a(891yyQ?O;OPX__Q*AE2X__Q,a##g6X__Q		4a))+oFX__QYYq"%5qss;QYYq"=MPQPSPS=STX__QYYq"%5qyy{CYYq"%		3	5X__Q,a##g6X__Q		4a))+oFj(//1a8j(//1a8r   )r   r   r   N)	__name__
__module____qualname____firstlineno__r   ri   rz   __static_attributes____classdictcell____classdict__s   @r   r   r      s     #_FB9 9r   r   c                   2   a  ] tR t^t o R tR tR tRtV tR# )TestAsLinearOperatorc           	     J   . V n         R  p\        P                  ! . RO. RO.4      pV ;P                   V! V\        P                  4      ,          un         V ;P                   V! V\        P                  4      ,          un         V ;P                   V! V\        P
                  4      ,          un         T ;P                   V! VP                  \        P
                  4       UUu. uF1  w  r4\        P                  ! V4      P                  VP                  3NK3  	  upp,          un         T ;P                   V! VP                  \        P
                  4       UUu. uF?  w  r4\        P                  ! V4      P                  VP                  P                  4       3NKA  	  upp,          un         T ;P                   V! VP                  \        P
                  4       UUu. uFC  w  r4\        P                  ! V4      P                  4       VP                  P                  4       3NKE  	  upp,          un         \        P                  ! . RO. RO.4      pV ;P                   V! V\        P                  4      ,          un         T ;P                   V! VP                  \        P                  4       UUu. uF1  w  r4\        P                  ! V4      P                  VP                  3NK3  	  upp,          un         T ;P                   V! VP                  \        P                  4       UUu. uF?  w  r4\        P                  ! V4      P                  VP                  P                  4       3NKA  	  upp,          un         T ;P                   V! VP                  \        P                  4       UUu. uFC  w  r4\        P                  ! V4      P                  4       VP                  P                  4       3NKE  	  upp,          un         R# u uppi u uppi u uppi u uppi u uppi u uppi )c                 .  a aa . pVP                  \        S VR 7      S 34       VP                  \        P                  ! S VR 7      S 34       VP                  \        P
                  ! S VR 7      S 34       V 3R loV 3R lo ! VV 3R lR\        P                  4      p ! V3R lRV4      p ! VV3R lRV4      p ! V 3R	 lR
V4      pVP                  V! V4      S 34       VP                  V! V4      S 34       VP                  V! V4      S 34       V# )rZ   c                    < SP                  V 4      p\        V P                  4      ^8X  d   VP                  R^4      pV# )r   ru   )r'   rU   r"   r(   )r*   rZ   yoriginals   && r   mvATestAsLinearOperator.setup_method.<locals>.make_cases.<locals>.mv   s5    LLOqww<1$		"a(Ar   c                 V   < SP                   P                  4       P                  V 4      # r3   r0   r1   r'   )r*   rZ   r   s   &&r   rmvBTestAsLinearOperator.setup_method.<locals>.make_cases.<locals>.rmv   s    zz(,,Q//r   c                   >   <a  ] tR t^t o RtV3R ltV3R ltRtV tR# )JTestAsLinearOperator.setup_method.<locals>.make_cases.<locals>.BaseMatlikec                `   < \         P                  ! V4      V n        SP                  V n        R # r3   )r   rZ   r"   )r   rZ   r   s   &&r   __init__STestAsLinearOperator.setup_method.<locals>.make_cases.<locals>.BaseMatlike.__init__   s    !#%DJ!)DJr   c                (   < S! WP                   4      # r3   r   )r   r*   r   s   &&r   _matvecRTestAsLinearOperator.setup_method.<locals>.make_cases.<locals>.BaseMatlike._matvec   s    a,,r   rZ   r"   NrD   )	r|   r}   r~   r   rR   r   r   r   r   )r   r   r   s   @r   BaseMatliker      s     0- -r   r   c                   2   <a  ] tR t^t o RtV3R ltRtV tR# )ITestAsLinearOperator.setup_method.<locals>.make_cases.<locals>.HasRmatvecc                (   < S! WP                   4      # r3   r   )r   r*   r   s   &&r   _rmatvecRTestAsLinearOperator.setup_method.<locals>.make_cases.<locals>.HasRmatvec._rmatvec   s    q**--r   rD   N)r|   r}   r~   r   rR   r   r   r   )r   r   s   @r   
HasRmatvecr      s     . .r   r   c                   4   <a  ] tR t^t o RtVV3R ltRtV tR# )ITestAsLinearOperator.setup_method.<locals>.make_cases.<locals>.HasAdjointc                   < V P                   ^,          V P                   ^ ,          3p\        SV P                  R7      p\        SV P                  R7      p\        P                  ! VVV P                  VR7      # )r   r   )r#   r-   rZ   r"   )r"   r   rZ   rP   rQ   )r   r"   r#   r-   r   r   s   &   r   _adjointRTestAsLinearOperator.setup_method.<locals>.make_cases.<locals>.HasAdjoint._adjoint  sa     JJqM4::a=8E$S

;F%b

;G$336<C:>**:?A Ar   rD   N)r|   r}   r~   r   rR   r   r   r   )r   r   r   s   @r   
HasAdjointr      s     A Ar   r   c                   :   <a  ] tR tRt o V3R ltV3R ltRtV tR# )ITestAsLinearOperator.setup_method.<locals>.make_cases.<locals>.HasRmatmati  c                &   < SP                  V4      # r3   )r'   r   r*   r   s   &&r   _matmatQTestAsLinearOperator.setup_method.<locals>.make_cases.<locals>.HasRmatmat._matmat  s    #<<?*r   c                V   < SP                   P                  4       P                  V4      # r3   r   r   s   &&r   _rmatmatRTestAsLinearOperator.setup_method.<locals>.make_cases.<locals>.HasRmatmat._rmatmat  s    #::??,0033r   rD   N)r|   r}   r~   r   r   r   r   r   )r   r   s   @r   
HasRmatmatr     s     +4 4r   r   )appendr   r   r   sparse	csr_arrayrP   rQ   )	r   rZ   casesr   r   r   r   r   r   s	   f&     @@r   
make_cases5TestAsLinearOperator.setup_method.<locals>.make_cases   s    ELL&7BCLL"((8598DELL&**85A8LM0- -i66 -.[ .
A 
A[ 
A4Z 4 LL*U+X67LL*U+X67LL*U+X67Lr   Nr   r   r   r@                 @)y              @y              @r   )r   r   r   int32float32float64r0   rP   aslinearoperatorrS   r1   rT   r[   )r   r   r   Mr   s   &    r   r   !TestAsLinearOperator.setup_method   s   
8	t 88Wg./

j28844


j2::66


j2::66


#-hjj"**#EG#E41 "221577=#EG 	G


#-hjj"**#EG#E41 "221577D#EG 	G


#-hjj"**#EG#E41 "2215==?L#EG 	G
 88[+67

j2==99


#-hjj"--#HJ#H41 "221577=#HJ 	J


#-hjj"--#HJ#H41 "221577D#HJ 	J


#-hjj"--#HJ#H41 "2215==?L#HJ 	J
GGG
JJJs(   !7P
AP
A	P
-7P
#AP
'A	P
c                :	   V P                    EF  w  r\        P                  ! V4      pVP                  w  r\        P
                  ! . RO4      \        P
                  ! ^.^.^..4      .p\        P
                  ! ^^.4      \        P
                  ! ^.^..4      .pVP                  \        P                  8X  du   V\        P
                  ! . RO4      \        P
                  ! ^.R.R..4      .,          pV\        P
                  ! ^R.4      \        P
                  ! ^.R..4      .,          p\        P
                  ! ^^.^^.^^..4      pV FN  p\        VP                  V4      VP                  V4      4       \        W8,          VP                  V4      4       KP  	  \        VP                  V4      VP                  V4      4       \        W7,          VP                  V4      4       V EF   p	\        VP                  V	4      VP                  P                  4       P                  V	4      4       \        VP                  P                  V	4      VP                  P                  V	4      4       \        VP                  P                  V	4      VP                  P                  4       P                  V	4      4       \        VP!                  4       P                  V	4      VP                  P                  4       P                  V	4      4       EK#  	  V EF3  p	V	P"                  ^8  d   K  \        VP%                  V	4      VP                  P                  4       P                  V	4      4       \        VP                  P                  V	4      VP                  P                  V	4      4       \        VP                  P                  V	4      VP                  P                  4       P                  V	4      4       \        VP!                  4       P                  V	4      VP                  P                  4       P                  V	4      4       EK6  	  \'        VR4      '       d!   \        VP                  VP                  4       \)        \'        VR4      4       EK  	  R# )r   r@   r   rZ   rR   Nr   r   )r   rP   r   r"   r   r   rZ   r[   r   r#   r'   r;   r-   r0   r1   rS   rT   ndimr9   hasattrr   )
r   r   A_arrayr   Nxsysx2r*   r   s
   &         r   
test_basicTestAsLinearOperator.test_basic+  s   **JA**1-A''CA((9%((QC!qc?+-B((Aq6"BHHqcA3Z$89Bww"--'rxx,xx!rdRD 124 4rxxB("((QC";*?@@Aq6Aq6Aq623BQXXa['++a.9QUGKKN3  "w{{27R1QYYq\799>>+;+?+?+BCQSSZZ]GIIMM!,<=QSSZZ]GIINN,<,@,@,CDQYY[//2GIINN4D4H4H4KL	  66A:QYYq\799>>+;+?+?+BCQSSZZ]GIIMM!,<=QSSZZ]GIINN,<,@,@,CDQYY[//2GIINN4D4H4H4KL  q!!QWWagg.GAv&'O %r   c                   V P                    F  w  r\        P                  ! V4      pVP                  w  r\        P
                  ! . RO4      p\        P
                  ! ^.^.^..4      p\        P
                  ! ^^.^^.^^..4      p\        VP                  V4      VP                  V4      4       \        VP                  V4      VP                  V4      4       \        VP                  V4      VP                  V4      4       K  	  R# )r   Nr   )r   rP   r   r"   r   r   r   r'   )r   r   r   r   r   x0x1r   s   &       r   test_dotTestAsLinearOperator.test_dotV  s    **JA**1-A''CA)$BA3aS/*BAq6Aq6Aq623BrGKKO4rGKKO4rGKKO4 %r   )r   N)	r|   r}   r~   r   r   r   r   r   r   r   s   @r   r   r      s     OJb)(V5 5r   r   c                  l    \         P                  ! RR R7      p \        V 4      p\        RV9  V4       R# )r   c                     ^# r/   rD   r*   s   &r   r+   test_repr.<locals>.<lambda>f  s    r   r"   r#   zunspecified dtypeN)r   r   )rP   rQ   reprr   )r   repr_As     r   	test_reprr   e  s-      vkBA!WFv-v6r   c                  \   \         P                  ! R4      p \        V . RO,          . RO4       \        V P                  \        P
                  ! ^	4      P                  ^^4      4      P                  4       \        P
                  ! ^	4      4       \        \        V P                  . RO4       R# )r   Nr   r   r   rO   )rP   IdentityOperatorr   r'   r   aranger(   ravelr\   r]   r#   )idents    r   test_identityr   k  sj    &&v.E"I.299Q<//156<<>		!M*ellL9r   c            
         \         P                  ! \        P                  ! ^4      P	                  ^^4      4      p R p\         P
                  ! RVR7      pWW,          W,          V P                  V P                  4       W ,           W",           V ^,          .	pV FB  p\        \        VR4      4       \        \        VR4      4       \        \        VR4      4       KD  	  R# )   c                     \         P                  ! V 4      p \        V P                  R8H  ;'       g    V P                  R8H  4       \         P                  ! ^4      # )r   )r   )r   r   )r   asarrayr   r"   onesr   s   &r   always_four_ones)test_attributes.<locals>.always_four_onesv  s>    JJqM444177f#45wwqzr   r   rZ   r"   r   N)r   r   )
rP   r   r   r   r(   rQ   rS   rT   r   r   )r   r   r   opsops        r   test_attributesr   s  s    ""299R=#8#8A#>?A
 	  v6FGAqssAIIKq!t
DCG$%G$%I&' r   c                .    \         P                  ! ^4      # )z=Needed for test_pickle as local functions are not pickleable )r   zerosr   s   &r   r#   r#     s    88A;r   c            	      2   ^ RI p \        V P                  ^,           4       Fr  p\        P                  ! R\
        4      pV P                  W!R7      pV P                  V4      pVP                   F!  p\        \        W%4      \        WE4      4       K#  	  Kt  	  R# )r&   N)protocolr   )picklerangeHIGHEST_PROTOCOLrP   rQ   r#   dumpsloads__dict__r   getattr)r   r   r   sr   ks         r   test_pickler     sn    &11A56$$VV4LLL.LLOA6  7r   c                  ~    ! R  R\         P                  4      p \        \        RR7      ;_uu_ 4        \	        \
        V 4       RRR4        ! R R\         P                  4      pV! ^4      p\        VP                  . R	O4      . R	O4       \	        \        VP                  . R
O4        ! R R\         P                  4      pV! \        P                  P                  ^^4      4      p\        VP                  \        P                  P                  ^4      4      P                  R4       R#   + '       g   i     L; i)c                       ] tR tRtRtR# )test_inheritance.<locals>.Emptyi  rD   N)r|   r}   r~   r   r   rD   r   r   Emptyr     s    r   r   zshould implement at leastrA   Nc                   8   a a ] tR tRt oV 3R ltR tRtVtV ;t# )"test_inheritance.<locals>.Identityi  c                ,   < \         SV `  R W3R7       R # )Nr   )superr   )r   n	__class__s   &&r   r   +test_inheritance.<locals>.Identity.__init__  s    G4v6r   c                    V# r3   rD   r   r*   s   &&r   r   *test_inheritance.<locals>.Identity._matvec  s    Hr   rD   )	r|   r}   r~   r   r   r   r   r   __classcell__r   r   s   @@r   Identityr     s     	7	 	r   r  c                   8   a a ] tR tRt oV 3R ltR tRtVtV ;t# )$test_inheritance.<locals>.MatmatOnlyi  c                \   < \         SV `  VP                  VP                  4       Wn        R # r3   r   r   rZ   r"   r   r   r   r   s   &&r   r   -test_inheritance.<locals>.MatmatOnly.__init__      GQWWagg.Fr   c                8    V P                   P                  V4      # r3   )r   r'   r  s   &&r   r   ,test_inheritance.<locals>.MatmatOnly._matmat  s    66::a= r   r=   )	r|   r}   r~   r   r   r   r   r   r  r  s   @@r   
MatmatOnlyr    s     		! 	!r   r  r   r   )r   )rP   rQ   r   RuntimeWarningr\   	TypeErrorr   r#   NotImplementedErrorr-   r   randomrandnr"   )r   r  id3r  mms        r   test_inheritancer    s    	((  
~%@	A	Ai' 
B9++  1+CI&	2%s{{I>!Y-- ! 
BIIOOAq)	*B299??1-.44d;/ 
B	As   D,,D<	c                     \         P                  P                  ^^4      R\         P                  P                  ^^4      ,          ,           p \         P                  P                  ^^4      p\        P                  ! V 4      p\        P                  ! V4      pW",           pW3,           p\        VP                  \         P                  4       \        VP                  \         P                  4       R# )r                 ?N)	r   r  randrP   r   r   rZ   r   r[   )mat_complexmat_realcomplex_operatorreal_operatorsum_complexsum_reals         r   test_dtypes_of_operator_sumr"    s     ))..1%RYY^^Aa-@(@@Kyy~~a"H 11+>..x8M"5K,H,""BMM2r   c                  p   a ^ .oV3R lp \         P                  ! RV R7       \        S^ ,          ^4       R# )r&   c                 2   < S^ ;;,          ^,          uu&   V # r%   rD   )v
call_counts   &r   r#   #test_no_double_init.<locals>.matvec  s    1r   r#   Nr   r   )rP   rQ   r   )r#   r&  s    @r   test_no_double_initr*    s/    J VF3A"r   
test_dtypec                    a \         P                  ! ^V R7      oV3R lp\        P                  ! RVR7      pVP                  \         P                  ! V 4      8X  g   Q hR# )r   r   c                 ^   < \         P                  ! SV ^ ,          ,          V ^,          .4      # r%   r   r   )r%  scalars   &r   r   /test_determine_lo_dtype_from_matvec.<locals>.mv  s#    xx!A$!-..r   r(  Nr)  )r   r   rP   rQ   rZ   )r+  r   lor/  s   &  @r   #test_determine_lo_dtype_from_matvecr2    sI     XXaz*F/ 
	!	!&	4B88rxx
++++r   c                  j    R  p \         P                  ! RV R7      pVP                  \        9   g   Q hR# )c                 \    \         P                  ! ^V ^ ,          ,          V ^,          .4      # )   r.  )r%  s   &r   r   +test_determine_lo_dtype_for_int.<locals>.mv  s"    xxqtQqT*++r   r(  Nr)  )rP   rQ   rZ   
INT_DTYPES)r   r1  s     r   test_determine_lo_dtype_for_intr8    s-    , 
	!	!&	4B88z!!!r   c                  @   \         P                  ! R ..4      p \        P                  ! V 4      pR V,          pR V ,          p\         P                  ! ^.4      p\	        VP                  V4      VP                  V4      4       \	        VP                  P                  V4      VP                  P                  4       P                  V4      4       \	        VP                  4       P                  V4      VP                  P                  4       P                  V4      4       R# r  N)
r   r   rP   r   r   r'   rS   r0   r1   rT   ra   r   r   Yr%  s        r   test_adjoint_conjugater=    s    
2$A""1%A
QA
QA
!Aq1558$QSSXXZ^^A./#QSSXXZ^^A%67r   c                      \         P                  ! ^..4      p \        P                  ! V 4      p\	        VP
                  ^4       R# )r   N)r   r   rP   r   r   r   )ra   r   s     r   	test_ndimr?    s1    
1#A""1%Ar   c                     \         P                  ! R ..4      p \        P                  ! V 4      pR V,          pR V ,          p\         P                  ! ^.4      p\	        VP                  V4      VP                  V4      4       \	        VP                  P                  V4      VP                  P                  V4      4       R# r:  )r   r   rP   r   r   r'   r0   r;  s        r   test_transpose_noconjugaterA    s    
2$A""1%A
QA
QA
!Aq1558$QSSWWQZ(r   c                      ! R  R\         P                  4      p V ! \        P                  ! ^^.^^..4      4      p\        P                  ! ^^.4      p\        P                  ! ^
^.^^(..4      pVP	                  R^4      p\        P                  ! ^^.^^..4      p\        W,          WS,          4       \        VP                  V,          VP                  V,          4       \        VP                  V,          VP                  V,          4       \        W,          WR,          4       \        VP                  V,          VP                  V,          4       \        VP                  V,          VP                  V,          4       \        W,          WT,          4       \        VP                  V,          VP                  V,          4       \        VP                  V,          VP                  V,          4       R# )c                   >   a a ] tR tRt oV 3R ltR tR tRtVtV ;t	# )/test_transpose_multiplication.<locals>.MyMatrixi  c                \   < \         SV `  VP                  VP                  4       Wn        R # r3   r
  r  s   &&r   r   8test_transpose_multiplication.<locals>.MyMatrix.__init__  r  r   c                (    V P                   V,          # r3   r=   r   others   &&r   r   7test_transpose_multiplication.<locals>.MyMatrix._matmat  s    %"7r   c                <    V P                   P                  V,          # r3   )r   r0   rH  s   &&r   r   8test_transpose_multiplication.<locals>.MyMatrix._rmatmat	  s    $&&((U*:#:r   r=   )
r|   r}   r~   r   r   r   r   r   r   r  r  s   @@r   MyMatrixrD    s     	 	8::r   rM  Nru   )rP   rQ   r   r   r(   r   r0   )rM  r   ra   r   X2r<  s         r   test_transpose_multiplicationrO    sT   ;9++ ; 	Aq6Aq6*+,A
!QA
2r(RH%&A	
2q	B
1a&1a&!"Aq!##'"q!##'"q!##'"q!##'" 244!8$r1338$r   c                     \         P                  ! RR R7      p \        P                  ! ^4      pRp\	        \
        VR7      ;_uu_ 4        W,           RRR4       \	        \
        VR7      ;_uu_ 4        W,           RRR4       \	        \        4      ;_uu_ 4        V \        P                  ! ^4      ,           RRR4       \	        \        4      ;_uu_ 4        \        P                  ! ^4      V ,           RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Lu; i  + '       g   i     R# ; i)r   c                     V # r3   rD   r   s   &r   r+   .test_sparse_matmat_exception.<locals>.<lambda>  s    !r   r(  z9Unable to multiply a LinearOperator with a sparse matrix.rA   Nr)  )	rP   rQ   r   	eye_arrayr\   r  r]   r   identity)r   r   rd   s      r   test_sparse_matmat_exceptionrU    s      <AA
EC	y	,	,	 
-	y	,	,	 
-	z	"	"	BKKN 
#	z	"	"
A 
#	" 
-	,	,	,	"	"	"	"	"s0   	D5	DD(D;D	D%	(D8	;E	zTest not meaningful on PyPy)reasonc                      \         P                  ! ^4      p \        \        P                  V 4      ;_uu_ 4       pVP                  4        ?RRR4       R#   + '       g   i     R# ; i)r   N)r   eyer	   rP   MatrixLinearOperatorrT   )r   r   s     r   "test_MatrixLinearOperator_refcyclerZ  )  sA     	q	A	I::A	>	>"


 
?	>	>	>s   AA&	)>__doc__	functoolsr   	itertoolsr   rv   pytestr   r\   r   numpy.testingr   r   numpyr   scipy.sparser   scipy.sparse.linalg._interfacelinalg
_interfacerP   scipy.sparse._sputilsr   scipy._lib._gcutilsr	   r
   r   r   r   r   r   r#   r   r  r"  r*  int8int16r   int64r7  r   r   
longdoubleREAL_DTYPES	complex64r[   clongdoubleCOMPLEX_DTYPESINEXACTDTYPES	ALLDTYPESmarkparametrizer2  r8  r=  r?  rA  rO  rU  skipifrZ  rD   r   r   <module>rt     sC       1 /   2 2 ( ;C9 C9LI5 I5X7:( 	7<:3
# ggrxx2884
zz2::r}}5,,r~~>n,&	 y1, 2,"8

)%0 G$AB Cr   