+
    iZ                         ^ RI HtHtHt ^ RIHt ^ RIHtHt ^ RI	H
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 ^ RIH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# )    )FloatIRational)S)Symbolsymbols)Abs)PurePoly)	MatrixMutableSparseMatrixImmutableSparseMatrixSparseMatrixeyeoneszeros
ShapeErrorNonSquareMatrixError)raisesc                     \        ^^R^^.^^../4      p V \        ^^.^^..4      8X  g   Q h\        ^^R^^../4      p V \        ^^.^ ^ ..4      8X  g   Q h\        ^^R^^./4      p V \        ^^ .^^ ..4      8X  g   Q hR# )   Nr   r   r   )as    ^/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/matrices/tests/test_sparse.pytest_sparse_creationr      s    QFaVaV$456Aq!fq!f-....QFaVH-.Aq!fq!f-....QFQF+,Aq!fq!f-....    c                  2  a" R  p R p\        \        R 4       \        R 4      p\        V4      V8X  g   Q h^ RIHp \        . 4      pV! ^^.4      pVP                  V4      V8X  g   Q hVP                  V4      V8X  g   Q h\        VP                  V4      4      \        V4      8X  g   Q h\        VP                  V4      4      \        V4      8X  g   Q h\        ^4       Uu. uF  p\        P                  ! ^ V4      NK  	  pp\        P                  ! V!  \        ^ ^. 4      8X  g   Q h\        ^4       Uu. uF  p\        P                  ! V^ 4      NK  	  pp\        P                  ! V!  \        ^^ . 4      8X  g   Q h\        R 4      p^V^&   VR!,          ^8X  g   Q h^V^&   ^VR"&   V\        R$4      8X  g   Q h^VR&   V\        R%4      8X  g   Q h^ VR!&   V\        R&4      8X  g   Q hVP                  4       R"^R^/8X  g   Q h\        R(4      p\        R)4      pW$,          pVR",          ^8X  g   Q hVR,          ^8X  g   Q hVR,          ^8X  g   Q hVR!,          ^8X  g   Q hVR#,          ^8X  g   Q hVR*,          ^ 8X  g   Q h \        R4       VR",          ^8X  g   Q hVR,          ^8X  g   Q hVR,          ^8X  g   Q hVR!,          ^8X  g   Q hVR#,          ^8X  g   Q hVR*,          ^ 8X  g   Q h \#        R4      pV\#        R4      ,          p\%        V\        4      '       g   Q hVR",          V8X  g   Q hVR,          ^V,          8X  g   Q hVR,          ^V,          8X  g   Q hVR!,          ^ 8X  g   Q h^V,          p\%        V\        4      '       g   Q hVR",          ^8X  g   Q hVR,          ^
8X  g   Q hVR,          ^8X  g   Q hVR!,          ^ 8X  g   Q h\        ^^.^^..4      p	V	^,          R,          . R+O8X  g   Q h\        . R,O. R-O. R.O.4      p	V	^,          R,          . R/O8X  g   Q h\#        R4      p\        V^ .^ ^ ..4      pTp
V
P&                  V
P(                  8X  g   Q hV
P&                  ^8X  g   Q hV
R,          V^ ^ ^ .8X  g   Q h\        ^^V^ ^ ^ .4      pTp
V
P&                  V
P(                  8X  g   Q hV
P&                  ^8X  g   Q hV
R,          V^ ^ ^ .8X  g   Q hW$8X  g   Q hV ! ^4      pVP*                  ! ^4       V\        . R0O. R1O.4      8X  g   Q hV ! ^4      pVP,                  ! ^4       V\        ^^ .^ ^ .^ ^..4      8X  g   Q h\        P.                  ! ^4      p^VR*&   VP0                  ! ^^ 4       V\        . R2O. R0O. R3O.4      8X  g   Q hVP2                  ! ^ ^4       V\        . R0O. R2O. R3O.4      8X  g   Q h\        ^^^^.4      pVP5                  4       pVP5                  4       pV^ ,          ^8X  g   Q hVP+                  ^ 4       V\        ^ ^. 4      8X  g   Q hVP-                  ^4       V\        ^^^.4      8X  g   Q h\        . R4O^^.^..4      \        . R4O. R5O. R0O.4      8X  g   Q h\        ^^R!V ! ^4      /4      \        . R6O. R7O. R8O. R6O.4      8X  g   Q h\        \6        R 4       \        ^^^^.4      P9                  4       ^^..8X  g   Q h\        ^^^^^..4      P9                  4       ^^ .^^..8X  g   Q h\        \6        R 4       \        \6        R	 4       \        R
.4      P;                  \<        4      '       g   Q h\        RR^ /4      P>                  R"8X  g   Q h\        RR^/4      P>                  R'8X  g   Q h\        RRR^/4      P>                  R'8X  g   Q h\        \6        R 4       \        \6        R 4       \        \6        R 4       \#        R4      \#        R4      r\        ^^^ .4      PA                  4       ^ 8X  g   Q h\        ^..4      PA                  4       ^8X  g   Q h\        R94      PA                  4       R:8X  g   Q h\        V^3V^V,          334      PA                  4       ^V,          V,          V,
          8X  g   Q h\        R;4      PA                  4       ^8X  g   Q h\        R=4      PA                  4       R>8X  g   Q h\        R@4      PA                  4       ^ 8X  g   Q h\        RA4      PA                  4       R8X  g   Q h\        RB4      PA                  4       RC8X  g   Q h\        RD4      PA                  4       R8X  g   Q h\        RE4      PA                  4       ^<8X  g   Q h\        RF4      PA                  4       ^ 8X  g   Q h\        RG4      PA                  4       ^8X  g   Q h\        RH4      PA                  4       ^{8X  g   Q hV ! ^4      pVRI,          V ! ^4      8X  g   Q hVRJ,          V! ^4      8X  g   Q h\        ^^R 4      pVRK,          \        ^^RL4      8X  g   Q hVRM,          \        ^^RN4      8X  g   Q h\        . ROO. RPO. RQO. RRO.4      pVRS,          \        ^^. RTO4      8X  g   Q hVR<R1R3,          \        . RQO. RRO.4      8X  g   Q h\        ^^.^^..4      ^.^.3,          \        ^..4      8X  g   Q hV! ^4      p
V ! ^4      V
RU&   V
\        . RVO4      8X  g   Q h\C        V
P                  4       4      ^8X  g   Q hV ! ^4      V
RW&   W! ^4      8X  g   Q h\        ^^R?4      V
RX&   V
\        . RYO4      8X  g   Q hV! ^4      V
RZ&   W! ^4      8X  g   Q hR@V
RZ&   V
\        R@4      8X  g   Q h^ ^ .V
R[&   V
\        R\4      8X  g   Q hV ! ^4      pVPE                  ^^	4      \        ^^	R]4      8X  g   Q h\        ^^R 4      pVPE                  ^^4      \        . R_O4      8X  g   Q hVPE                  ^^4      \        R`Ra.4      8X  g   Q hV ! ^4      pVPG                  R 4      V ! ^4      ^,          8X  g   Q hVPG                  R 4      V! ^4      8X  g   Q h\I        \        V^3V^V,          334      4      \        \K        V4      ^3\K        V4      ^\K        V4      ,          334      8X  g   Q h\        . RbO. RcO. RdO. ReO.4      pVPM                  4       w  pppVPN                  '       g   Q hVPP                  '       g   Q hVV,          PS                  VR4      V,
          V! ^4      8X  g   Q h\        . RfO. RgO. RhO. RiO.4      pVPM                  4       w  pppVPN                  '       g   Q hVPP                  '       g   Q hVV,          PS                  VR4      V,
          V! ^4      8X  g   Q h\#        R4      \#        R4      \#        R4      pr\        ^V^3^V^ 3V^ V334      o"S"PM                  4       w  pppVPN                  '       g   Q hVPP                  '       g   Q hVV,          PS                  VR4      S",
          V! ^4      8X  g   Q h\        . RjO. RkO. RlO.4      p	\        ^^. RmO4      pW,          pV	PU                  V4      pVV8X  g   Q h\        . RnO. RoO. RpO.4      p	\        ^^. RqO4      pW,          pV	PU                  V4      pVV8X  g   Q hV ! ^4      p	V	PW                  4       V ! ^4      8X  g   Q hV	PW                  RR7      V ! ^4      8X  g   Q hV	PW                  RR7      V ! ^4      8X  g   Q h\        . RjO. RkO. RrO.4      p	\        \        V	4      PW                  4       4      pV	V,          V ! ^4      8X  g   Q hV	PW                  RR7      V8X  g   Q hV	PW                  RR7      V8X  g   Q h\        . RjO. RkO. RsO.4      p	\        \        V	4      PW                  4       4      pV	V,          V ! ^4      8X  g   Q hV	PW                  RR7      V8X  g   Q hV	PW                  RR7      V8X  g   Q h\        ^^. R4O4      p\        ^^. R^O4      pVPY                  V4      \        ^^. RtO4      8X  g   Q hVP[                  ^4      ^,          ^8X  g   Q h\        ^^\\        ,           3Ru34      pVP^                  \        ^^\\        ,
          .^^..4      8X  g   Q hV\        ^^. RvO4      ,          V8X  g   Q hV\        ^^. RwO4      ,           \        ^^\\        ,           .^^..4      8X  g   Q hVP                  V ! ^4      4      \        ^^\\        ,           .^^.^^ .^ ^..4      8X  g   Q hVPa                  ^V ! ^4      4      \        ^^\\        ,           .^^.^^ .^ ^..4      8X  g   Q hVPc                  ^\        P                  ! ^^4      4      \        ^^\\        ,           ^ .. RxO.4      8X  g   Q hVPe                  RR7      '       d   Q h\        P.                  ! ^4      ^,          o"R:S"R&   S"Pg                  ^V"3R l4       S"\        . RyO. RzO. R{O.4      8X  g   Q h\        P.                  ! ^4      o"S"Pi                  ^4       S"\        . R|O. R|O. R|O.4      8X  g   Q hV ! ^4      V ! ^4      Pk                  4       8X  g   Q h\        . R}O. R~O. RO.4      pVPk                  4       \        . RO. RO. RO.4      8X  g   Q h\        . R4O. RO. RO.4      pVPk                  4       \        . RO. RO. RO.4      8X  g   Q h\#        R4      p\#        R4      p\        ^^V^,          V,          ^V^,          ,          W,          ,           .4      pW.pVPm                  V4      \        ^V,          V,          V^,          .V^V,          V,           ..4      8X  g   Q h\        ^^W^,          V^,          ,          .4      pVPm                  V4      \        ^^ .^V,          V^,          ,          V^,          ^,          V^,          ,          ..4      8X  g   Q h\        ^^.^^..4      p	V	Po                  4       w  pp\p        pV\        ^V! R:^4      ,          V! ^4      ^,          V! ^4      ^,          V! R:^4      ,          ,          .^^V! R:^4      ,          ,          V! ^4      ) ^,          V! ^4      ^,          V! R:^4      ,          ,          ..4      8X  g   Q hV\        ^V! ^^4      ,          ^^V! R:^4      ,          ,          .^ V! ^4      ^,          V! ^^4      ,          ..4      8X  g   Q hVV,          V	8X  g   Q hVPr                  V,          V ! ^4      8X  g   Q h\p        p\        . RO. RO.4      o"S"Pu                  4       w  ppV\        ^^ V! ^4      ) ^,          V! ^4      ^,          .^ ^V! ^4      ^,          V! R4      ^,          ..4      8X  g   Q h\        . RO. RO. RO. RO.4      o"S"Pu                  4       w  ppV\        . RO. RO^ ^ ^ ^ ^ ^V! ^4      ^,          .. RO.4      8X  g   Q hS"Pw                  4       pV^ ,          \        . RO4      8X  g   Q hV^,          \        . RO4      8X  g   Q hV^,          \        . RO4      8X  g   Q hV^,          \        ^ ^ ^ ^ ^ V! R:4      ^,          ^.4      8X  g   Q h\#        R4      p\#        R4      pV ! ^4      p V Py                  V4      \{        V^,
          ^,          4      8X  g   Q hV Py                  V4      \{        V^,
          ^,          4      8X  g   Q h\        . RO4      o"S"P}                  4       p!\        V!P                  4       4      . RO8X  g   Q h\p        p\        . R0O. R2O. R1O.4      o"S"P                  4       ^^\        . R0O4      \        . R2O4      \        . R1O4      .3.8X  g   Q h\        . RO. RO. R1O.4      o"S"P                  4       ^^\        V! R:4      ^,          V! ^4      ^,          ^.4      .3^^\        . R2O4      .3^^\        . RO4      .3.8X  g   Q hS"P                  ^^4      \        ^^/ 4      8X  g   Q h\        ^
^
R"^R^R^R^R^R^R^R^R^/	4      p	V	P                  4       . RO8X  g   Q hV	P                  4       . RO8X  g   Q h\        P.                  ! ^4      P                  4       ^8X  g   Q hR# u upi u upi   \          d     ELi ; i)c                 .    \         P                  ! V 4      # N)r   r   ns   &r   
sparse_eye&test_sparse_matrix.<locals>.sparse_eye   s    ""r   c                 .    \         P                  ! V 4      # r   )r   r   r    s   &r   sparse_zeros(test_sparse_matrix.<locals>.sparse_zeros   s    !!!$$r   c                      \        ^^4      #    r    r   r   <lambda>$test_sparse_matrix.<locals>.<lambda>   s    l1a0r   )MutableDenseMatrixz	c = a @ bxNNNc                       \        ^^R^/4      # )r)   r)   r)   r   r*   r   r   r+   r,      s    |Aq61+>r   c                      \        ^^^.4      # r   r   r*   r   r   r+   r,      s    |Aq1#6r   c                  "    \        ^^^^..4      # r(   r   r*   r   r   r+   r,      s    |AqAq6(;r   g?Nc                  "    \        R ^^^..4      # r   r   r*   r   r   r+   r,      s    |D!q!fX>r   c                  "    \        ^R^^..4      # r)   Nr   r*   r   r   r+   r,      s    |Atq!fX>r   c                  6    \        ^^R\        ^4      R^/4      # )   r   r1   )r   r   r*   r   r   r+   r,      s    |Aq647FA2NOr   yi  i-  c                     W,           # r   r*   ijs   &&r   r+   r,         r   c                     W,           # r   r*   r<   s   &&r   r+   r,   :  r?   r   c                     ^V ,          # r3   r*   r.   s   &r   r+   r,   B  s    !A#r   c                     ^ # r   r*   rB   s   &r   r+   r,   C  s    !r   backwardzCHmethodLDLF)simplifyc                 6   < V ^SV^ 3,          ,          ,           # r3   r*   )vr=   Ms   &&r   r+   r,     s    Q1QT7]r   r)   r   r   r)   rO   rP   r1   r   r   r   )rR   rP   )rR   )   r)   )rR   )rS   r   r)   r   )rT   )r9   r)   )r      )rT   )r9   r   )r   r)   )i  i  i,*  i7  )r   r)   r9   )   r   rV   )rU      r)   )	i"  i     i  i  ip  i  i  i  )r)   r   r   r   r   r)   r   r)   r   )r   r   r)   r)   r   r9   r)   r   r   r   r   r   r   )r   r)   r   r   r   r   r)   r   ))r   )   )r)   r)   r)   r[   )r)   r9   rU   ))r9   rd   r   rS   )rd   r)   rd   r   r   rd   rS   r   rS   r   r9   rV   ir)   r   r9   rV   )rg   )rS   rU      r`   	   
      rW               )r9   r   r   r   r   r   r9   r   r   r   r   r   r9   r   r   r   r   r   r9   r   )r   r   r   r   r9   ))r)   r   r)   r   rW   )r   r   r)   r)   rV   )r   r)   r)   rb   r9   )r9   r   rb   r)   r`   )r)   r)   r)   r   rU   i))ra   r   r9   rV   rS   )r)   r9   rV   rS   )r)   r   r_   rV   rS   )r)   r   r9   rd   rS   )r)   r   r9   rV   rb   ))r9   r   r   r   )rd   r)   r   r   re   rf   )r)   r   r   r   )rS   r   r   r   )rj   rk   rl   r   rm   )rr   rs   rt   ru   )r   r   r   r   r9   ))r   rh   rb   r9   r   )r   r   r)   r   r)   )rd   r   rh   r   r   )r_   rd   rV   rS   r9   )r)   r   r   r   r)   )Nr9   Nrx   )r   rV   N:r   r   N)r   r/   r   r)   r   ):r)   r9   Nr)   )r   r9   )r   r)   r   r9   )rV   rS   rU   rh   )r`   rj   rk   rl   )rW   rn   ro   rp   )r/   rb   )r9   rh   rl   rp   )ry   ry   )r]   r]   r^   )r   r   r   r)   )Nr   Nr{   r/   r   )rw   )r   r)   r   r   )r9   r   r)   r   )rV   r   r   r)   )r/   r/   )r{   r   ))r   r   r9   rV   )r   rU   rh   r`   ri   rm   )	r)   r   r   r   r)   r   r   r   r)   r9   rV   rS   )rz   )r9   r)   r   )r9   rV   r   r}   )r   r)   r   r9   r)   r   )r9   rV   r   r9   rV   rS   )r   r   rS   r9   )r9   r9   rh   rV   )r`   rV   r   r   )rd   rU   r9   rV   )rU   rd   rh   rV   )r   r9   rU   rh   )r)   rd   rh   rV   )ir   rU   r9   )r   r9   rS   )r9   rU   r   )r`   r9   rU   )r9   rh   rS   )r   rb   r   )rS   rk   rh   )r`   r9   rV   )rb   r   rS   )rh   r   rU   )rS   r   rU   )rd   rV   rd   r9   rV   )r)   r   r   r)   )r)   r)   r)   r)   )r9   rV   r   )r   rV   r   )rb   r   r   r   r   r   )r   r   r   )r)   r9   r   )r   rU   r9   )r   r9   rU   )   r   r   )r   r9   )r_   r)   r   )rV   rS   rU   )rh   r`   rj   )r_   rU   r_   )rU   r   rU   )rS   rh   r   r)   )r)   rU   r   rb   )r)   r9   r   r   rU   r9   r)   )rd   r   r   rd   ir9   r)   )r9   rj   r   r   rU   rU   r   )rb   r_   r   r)   r   rj   r9   )r)   r9   r   r   r   r   r   )r   r   r   r)   r   r   r   )r   r   r   r   r   r   r   )r_   r)   r   r   r   r   r   )r   r   r)   r   r   r   r   )rd   r   r   rd   r)   r   r   r)   r)   r   ))r   r)   rb   r   )rb   r   r)   )rb   r)   r   )rS   r   r   )r9   r   r   )r   rj   )r)   rV   )r   rh   )r9   rj   )rV   r   )rS   rh   )rU   r   )rj   rh   )	r   r      r   rj   rW   r)   rV   r   r   rh   rq   r9   rj   rW   rV   r      rS   rh   rq   rU   r   rW   rj   rh   r   )	r   r   r   r   r   r   r   r   r   )Er   	TypeErrorr   sympy.matricesr-   r   row_joincol_jointyperanger   hstackr   vstacktodokevalSyntaxErrorr   
isinstancecolsrowsrow_delcol_delr   col_swaprow_swapcopy
ValueErrortolisthasr   shapedetlenreshape	applyfuncabsr	   LUdecompositionis_loweris_upperpermute_rowsLUsolveinvcrossnormr   C
row_insert
col_insertis_symmetriccol_opfillcofactor_matrixjacobianQRdecompositionr   Trref	nullspacecharpolyr
   	eigenvalssortedkeys
eigenvectsrow_listcol_listnnz)#r"   r%   r   r-   br!   sparse_matricescr.   Amr   r:   m0m1m2testmatLUprF   solnAinvv1v2testsymsQRouttmpbasissparse_eye3valsrN   s#                                     @r   test_sparse_matrixr      s>   #% 901  	A ?a1BAAq6"A::a=A::a=A

1$q')))

1$q'))) :?qBA|))!Q/OB0F1a4DDDD9>qBA|))!Q/OB0F1a4DDDD 	  	A
 AaDT7a<<AaDAdG      AdG      AdG      779FA.... 	  	A 	  	A
 	
AT7a<<T7a<<T7a<<T7a<<T7b==T7a<<
[ w!||w!||w!||w!||w"}}w!||sA	F3KAa&&&&T7a<<T7ac>>T7ac>>T7a<<	AAa&&&&T7a<<T7c>>T7c>>T7a<< 	q!fq!f%&AqD!92222iJ78AqD!9EEEE 	sAq!fq!f%&A	A66QVV66Q;;Q4Aq!Q<QAq!Q<(A	A66QVV66Q;;Q4Aq!Q<6M61AIIaL&     	1AIIaLVFF     	AAdGJJq!     JJq!    
 	QAq6"A	A	AQ4199IIaLQ2&&&&IIaLQA3''''QFQC01V= 6    1vz!}56&	B ;   
 :>?1q!f%,,.Aq6(:::1q1a&k*113AA7GGGG
:67
:;<!!%((((vqk*00F:::vqk*00F:::dVQK066&@@@
:>?
:>?
:OP #;sq1qc"&&(A---!""$)))*+//1R777!Q!QqS*+//1QqSUQY>>> & ''*su2 2 2  , - .1SUd; ; ;
  - . /2ceq9 9 9
  , - .1SUc	: : :  / 0 14	= = =  1 2 36#%5	A A A  , - .1SUb9 9 9
  - . /2ceq9 9 9
  , - .1SUc	: : :  / 0 14	= = = 
ABf:A&&&h<<?***	a.	/Bd8|Aq)4444f:aF3333		|^5EF
HBe9Q>::::bc1f:~7G&HIIII!Q!Q()1#s(3vse}DDD 	QAQ-AhK , - - - - qwwy>Q1AfI
11a.AdG , - - - - 1oAdGQMAdG 0 1 1 1 1 1vAeH 0 1 1 1 1 
AB::a|Aq2MNNNN	a.	/B::aABC C C::a(*<=>? ? ? 
AB<<&*Q-/999<<%a888 |aVa1X./0L3q61+PSTUPVXYZ]^_Z`X`OaAb4cccc M)))+ ,G %%'GAq!::::::::aCa,w6,q/IIIN***, -G %%'GAq!::::::::aCa,w6,q/IIISk6#;s!qAq	Aq!9q!Qi01A!GAq!::::::::aCa,q0LOCCC 	i! 	"A 	Q9%A	A99Q<D199j  " 	#A 	Q:&A	A99Q<D199 	1A557jm###555A...555*Q-///i! 	"A q	(DT6Z]"""555%%%555$&&&i! 	"A q	(DT6Z]"""555%%%555$&&& 
1i	 B	1i	 B88B<6!Q4444771:q=B 	q!a%j&)*A33,	
AE
	

      VAq,''1,,,vaL))\	
AE
	

; .    ::jm$	
AE
	

	

	

	6 )    <<:a=)\	
AE
	

	

	

	; .    <<<--a34	
AE1F 9    ~~u~---- 	AAAdGHHQ*+     	AFF1I     a=JqM99;;;;Iy9:D!lK<=> > >Iy9:D!k;<=> > > 	sAsAQAqDFAadFQSL12A6D::dv!Aq!t}q!A#'l&CDDDDQA!tAqDy>*A::d|aVac!Q$h1Qq!t5L,MNNNN 	AA ADAqAaAh;!A$q&1Q46Ab!H"445	
1aAh;!A$q1Q46Ab!H"4457 8 8 8 8 	
AaG1aAh;'ad1fqAw&') * * * * Q3!8O8337jm###A 	l 	AvvxHC&1a!A$r1R584a!A$r'1R5846 7 7 7 7 	////1 	2A
 vvxHC&//aAq!QqT!V4/1 2 2 2 2
 KKME8v455558v344448v566668vq!Q1aeAgq9:::: 	sAsAQ-K"hAz&::::"hAz&:::: 	  	A ;;=D$))+*,,,A	 	A <<>q!yyy&      		 	A <<>q!faeAgqtAvq-A&B%CD !fY&7%89 !fY&7%89; ; ; ; 771a=LAr2222	b"vr62vr62vWY[acegmoqsy{}  @F  HJ  K  
LA::<  H  H  H  H::<  H  H  H  HA""$)))m CBh  s%   " Ae#7 Ae(Ae- e-Ae<e;Ae<c                  f    \        ^^..4      P                  ^4      \        ^^..4      8X  g   Q hR# r7   )r   scalar_multiplyr*   r   r   test_scalar_multiplyr   '  s1    !Q!11!4q!fX8NNNNr   c                  X    \        R4      P                  4       \        R4      8X  g   Q hR# )r)   NrT   r~   ))r)   r9   )r   rV   )r   	transposer*   r   r   test_transposer   +  s,    ()335%&' ' 'r   c                      \        R4      P                  4       ^8X  g   Q h\        R4      P                  4       ^8X  g   Q hR# )r)   Nr   )r   )r   rV   )r   tracer*   r   r   
test_tracer   0  s<    ()//1Q666()//1Q666r   c                      \        R4      P                  4       . RO8X  g   Q h\        R4      P                  4       . RO8X  g   Q hR# )r)   Nr   )rY   rz   r)   r   r9   r)   r)   rV   )rY   r   rz   r   )r   r   r   r*   r   r   
test_CL_RLr   5  sJ    ()22445 5 5()22445 5 5r   c                  X   \        R4      \        R4      ,           \        R4      8X  g   Q h\        ^d^dR 4      p \        ^d^dR 4      p\        V P                  4       4      \        VP                  4       4      ,           \        W,           P                  4       4      ,
          ^ 8  g   Q hR# )r)   c                 D    \        V^ 8g  ;'       d    W,          ^ 8H  4      # rD   intr<   s   &&r   r+   test_add.<locals>.<lambda>?      CQ0E0E15A:,Fr   c                 D    \        V ^ 8g  ;'       d    W,          ^ 8H  4      # rD   r   r<   s   &&r   r+   r   @  r   r   NrQ   )rP   rO   )r1   r1   )r   r   r   )r   r   s     r   test_addr   <  s    ()L9I,JJ%&' ' 'S#FGAS#FGA	NS^+c15--/.BBQFGFr   c                  Z   \        \        R  4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        R 4       \        \        R	 4       R
# )c                      \        R ^R 4      # )gffffff?c                     ^ # rD   r*   r<   s   &&r   r+   /test_errors.<locals>.<lambda>.<locals>.<lambda>E  s    r   r   r*   r   r   r+   test_errors.<locals>.<lambda>E  s    |CNCr   c                  "    \        . RO^^.4      # r)   r[   r   r*   r   r   r+   r   F  s    l9q!f=r   c                  2    \        ^^.^^..4      R,          # r   r   r*   r   r   r+   r   G  s    |aVaV,<=iHr   c                  2    \        ^^.^^..4      ^,          # r(   r   r*   r   r   r+   r   H  s    |aVaV,<=a@r   c                  2    \        ^^.^^..4      R,          # r   r   r*   r   r   r+   r   I  s    |aVaV,<=gFr   c                  X    \        ^^.^^..4      P                  ^ ^.\        4       4      # r(   )r   copyin_listsetr*   r   r   r+   r   K  s)    q!fq!f-.::Aq635Ir   c                  2    \        ^^.^^..4      R,          # )r)   rT   r   r*   r   r   r+   r   M  s    L1a&1a&)9:4@r   c                  :    \        . RO4      P                  ^4      # r   )r   r   r*   r   r   r+   r   N  s    l95;;A>r   c                  .    \        ^^^^.4      ^,          # r(   r   r*   r   r   r+   r   O  s    |Aq1a&9!<r   c                  H    \        ^^^^.4      \        ^^^^.4      ,           # r(   r   r*   r   r   r+   r   Q  s#    QAq6*\!QA-GGr   N)r   r   r   
IndexErrorr   r*   r   r   test_errorsr	  D  sz    
:CD
9=>
:HI
:@A
:FG
9IK
@B
9>?
:<=
:GIr   c                      \        4       '       d   Q h\        4       \        . 4      8X  g   Q h\        4       \        . .4      8X  g   Q hR # r   r   r*   r   r   test_lenr  T  s;    ~~>\"---->\2$////r   c                     \         P                  ! ^4      \        ^\         R7      8X  g   Q h\        \         P                  ! ^4      P                  4       4      ^8X  g   Q h\         P                  ! ^4      \	        ^\         R7      8X  g   Q h\        \         P                  ! ^4      P                  4       4      ^ 8X  g   Q hR# )r9   )clsN)r   r   r   r   r   r*   r   r   test_sparse_zeros_sparse_eyer  Z  s    A#a\"::::|"((*+q000a E!$>>>>|!!!$**,-222r   c                     \        ^^/ 4      p ^V R&   V R,          \        \        . RO4      4      8X  g   Q hV ^,          ^8X  g   Q hV R,          ^.8X  g   Q h^*V R&   V R,          ^*8X  g   Q hV R,          \        ^*^ ..4      8X  g   Q h\        ^^..4      V R&   V R,          \        . R	O.4      8X  g   Q h^*^+..V R&   V R,          \        . R
O.4      8X  g   Q h^V R&   V R,          \        . RO4      8X  g   Q h. ROV R&   V R,          \        . RO4      8X  g   Q h\        . RO4      V R&   V R,          \        . RO4      8X  g   Q h\        . RO4      V R&   V R,          \        . RO4      8X  g   Q hR# )r9   :r9   rV   NNrO   r|   rZ   r1   )r)   :r)   NN)r)   r/   )r)   rS   rU   )r)   *   +   r   )r/   :Nr)   N)   r)   r   rc   )r   r   )ss    r   test_copyinr  a  sl   Q2AAdGT7l6)#45555Q4199T7qc>>AdGT7b==U8|b!WI....1vhAeHT7lI;////RzAeHT7lK=1111AdGU8|J////AdGT7l9----YAdGT7l9----9%AdGT7l9----r   c            	         \        R4      p V P                  4       \        . R	O. R
O. RO.4      8X  g   Q hV P                  4       V P                  4       P                  ,          \        . RO. RO. RO.4      8X  g   Q h\        R4      p V P	                  4       w  r^V,          \        . RO. RO. RO.4      8X  g   Q hV\        . RO. RO. RO.4      8X  g   Q hW,          VP                  ,          V 8X  g   Q h\        R4      p V P                  4       V ,          \        \        ^4      4      8X  g   Q h\        . RO. RO. RO.4      p \        \        ^^4      \        ^^4      \        ^^4      .\        ^^4      \        ^^4      \        ^^4      .^ ^ \        P                  ..4      pV P                  RR7      V8X  g   Q hV P                  RR7      V8X  g   Q hW,          \        \        ^4      4      8X  g   Q hV P                  V R,          R4      pW,          V R,          8X  g   Q hV P                  V R,          R4      pW,          V R,          8X  g   Q hV P                  V 4      p V P                  V R,          R4      pW,          V R,          8X  g   Q hV P                  V R,          R4      pW,          V R,          8X  g   Q hR# )   rG   rH   rJ   Nr  rp   ra   rp   r   r   ra   r   rl   )r  r  r  )rS   r   r   )r9   r9   r   )rb   r)   r9   )rp   r   r   )rj   rp   r   )r_   rS   rp   )r  r   r   )r   rj   r   )r   r   rj   ))r9   r   r   rY   r\   )r   rb   r   )rb   r   rb   r   r|   )r   choleskyr   r   LDLdecompositionr   r   r   r   Halfsolver   solve_least_squares)r   r   Dansr  s        r   test_sparse_solver!  x  s   =>A::<6#     ::<!**,..(F4 -   
 	=>ADAa46          5133;!67A557Q;,s1v.... 	A 	!Q!Q!Q8	!Q!Q!Q8a79 :C 555$$$555#%%%7l3q6****	$A3!D'>>	$A3!D'>>	

1A	agt,A3!D'>>	agu-A3!D'>>r   c                     \        \        R  4       \        \        R 4       \        \        R 4       \	        R4      w  rr#\	        R4      w  rErg\        V ^ .W#..4      p\        WE.Wg..4      p	\        WE.Wg..4      p
\        W@,          WP,          .WbV,          V ,          ,
          V,          WrV,          V ,          ,
          V,          ..4      pVP                  V	4      V8X  g   Q hVP                  V
4      V8X  g   Q hR# )c                  T    \        ^^..4      P                  \        ^^..4      4      # r(   r   lower_triangular_solver   r*   r   r   r+   -test_lower_triangular_solve.<locals>.<lambda>  &    q!fX55fq!fX6FGr   c                  V    \        ^^.^ ^..4      P                  \        ^.4      4      # r(   r$  r*   r   r   r+   r&    (    q!fq!f%&==faSkJr   c                  `    \        ^^.^^..4      P                  \        ^^.^^..4      4      # r(   r$  r*   r   r   r+   r&    5    q!fq!f%&==fq!fqRSfEU>VWr   a:du:xN)
r   r   r   r   r   r   r   r   r   r%  r   r   r   durM   wr.   r   Br   sols               r   test_lower_triangular_solver4    s    
 "H I
: K L
: X Y JA!JA!q!fqf%&AaVaV,-Avv./A
13*aCE	1}qQ3q5y!m<=
>C##A&#---##A&#---r   c                     \        \        R  4       \        \        R 4       \        \        R 4       \	        R4      w  rr#\	        R4      w  rErg\        W.^ V..4      p\        WE.Wg..4      p	\        WE.Wg..4      p
\        WAV,          V,          ,
          V ,          WQV,          V,          ,
          V ,          .Wc,          Ws,          ..4      pVP                  V	4      V8X  g   Q hVP                  V
4      V8X  g   Q hR# )c                  T    \        ^^..4      P                  \        ^^..4      4      # r(   r   upper_triangular_solver   r*   r   r   r+   -test_upper_triangular_solve.<locals>.<lambda>  r'  r   c                  V    \        ^^.^ ^..4      P                  \        ^.4      4      # r(   r7  r*   r   r   r+   r9    r)  r   c                  `    \        ^^.^^..4      P                  \        ^^.^^..4      4      # r(   r7  r*   r   r   r+   r9    r+  r   r,  r-  N)
r   r   r   r   r   r   r   r   r   r8  r.  s               r   test_upper_triangular_solver<    s    
 "H I
: K L
9 X Y JA!JA!qfq!f%&AaVaV,-Avv./A
A!AIq=1s1u9a-013*=
>C##A&#---##A&#---r   c                  L   \        R 4      w  r\        R4      w  r#rE\        V ^ .^ V..4      p\        W#.WE..4      p\        W#.WE..4      p\	        W ,          W0,          .WA,          WQ,          ..4      p	VP                  V4      V	8X  g   Q hVP                  V4      V	8X  g   Q hR# )za dr-  N)r   r   r   r   r   diagonal_solve)
r   r/  r0  rM   r1  r.   r   r2  r   r3  s
             r   test_diagonal_solver?    s    5>DAJA!q!fq!f%&AaVaV,-Avv./A
13*qsACj)
*CA#%%%A#%%%r   c                     \        R 4      p \        ^ \        .\        ) ^ ..4      pVP                  '       g   Q h\        ^\        .\        ) ^..4      pVP                  '       g   Q h^\        ,          VR&   VP                  RJ g   Q hWR&   VP                  e   Q hVR,          \        ,          VR&   VP                  RJ g   Q hR# )r.   FNr   rO   rP   )r   r   r   is_hermitian)r.   r   s     r   test_hermitianrB    s    sAq!fr1g&'A>>>>q!fr1g&'A>>>>cAdG>>U"""dG>>!!!gaiAdG>>U"""r   N))sympy.core.numbersr   r   r   sympy.core.singletonr   sympy.core.symbolr   r   $sympy.functions.elementary.complexesr	   sympy.polys.polytoolsr
   r   r   r   r   r   r   r   r   r   r   sympy.testing.pytestr   r   r   r   r   r   r   r   r	  r  r  r  r!  r4  r<  r?  rB  r*   r   r   <module>rI     s    3 3 " / 4 *2 2 2 (/O*dO'
7
5HI 03...b.(.(
&#r   