
    \hX                     `   S SK Jr  S SKJrJrJr  S SKJrJr  S SK	J
r
  S SKJr  S SKJrJr  S SKJrJr  S SKJr  S S	KJrJr  S S
KJrJr  S SKJr  S SKJr  S SKJ r   S SKJ!r!  S SK"J#r#  S r$S r%\S 5       r&S r'S r(S r)S r*\!S 5       r+S r,S r-S r.S r/S r0S r1S r2S r3S  r4S! r5S" r6S# r7g$)%    )N)FloatIRational)Symbolsymbols)Abs)sqrt)cossin)eyeMatrix)S)raisesXFAIL)NonSquareMatrixErrorMatrixError)DFTsimplify)ImmutableMatrix)slow)allclosec                  j   [         n [        R                  " S5      nUR                  SS9[        R
                  S0:X  d   eUR                  SS9/ SQ:X  d   eUR                  5       SS[        / SQ5      [        / SQ5      [        / S	Q5      /4/:X  d   eUR                  5       SS[        / SQ/5      [        / SQ/5      [        / S	Q/5      /4/:X  d   e[        / S
Q/ SQ/ SQ/5      nUR                  5       S[        R
                  -  S[        R
                  * S[        R                  S0:X  d   eUR                  5       SS[        / SQ5      /4SS[        / SQ5      /4SS[        U " SS5      U " SS5      S/5      /4/:X  d   eUR                  5       SS[        / SQ/5      /4SS[        / SQ/5      /4SS[        / SQ/5      /4/:X  d   e[        S5      n[        US/SS//5      nUR                  5       US[        R
                  S0:X  d   e[        SS/SS//5      nUR                  5       SS[        SSSS/5      /4/:X  d   eUR                  5       SS[        SS//5      /4/:X  d   e[        / SQ/ SQ/ SQ/5      nU " SS5      nSSU " SS5      -  -  nU " SS5      nU " SS5      SU-  S-  -   nU " SS5      SU-  S-  -
  nS nX#S-  -
  S[        SSXCS-  -
  -  -   XCS-  -
  U-  -  SXCS-  -
  -  -   SSXCS-  -
  -  -   U-  S/5      /4SS[        / SQ5      /4X#S-  -   S[        SSXCS-  -   -  -   XCS-  -   U-  -  SXCS-  -   -  -   SSXCS-  -   -  -   U-  S/5      /4/n[        [        U5      5       V	V
s/ s H?  n	U" X   S   S5      U" X   S   S5      X   S   S    V
s/ s H  o" U
S5      PM     sn
4PMA     nn	n
UR                  5       n[        [        U5      5       V	V
s/ s H?  n	U" X   S   S5      U" X   S   S5      X   S   S    V
s/ s H  o" U
S5      PM     sn
4PMA     nn	n
[        U5      [        U5      :X  d   e[        SSS 9n[        [        U5      [        U-  /[        * U-  [        U5      //5      nUR                  5       SS[        [        * U-  [        U5      -  /S//5      /4S[        U5      -  S[        [        U-  [        U5      -  /S//5      /4/:X  d   eUR                  5       SS[        [        U-  [        U5      -  S//5      /4S[        U5      -  S[        [        * U-  [        U5      -  S//5      /4/:X  d   e[        SS/ S!Q5      nUR                  SS"9Ul        [#        S# UR                   S   S   S    5       5      S:  d   eUR                  SS"9Ul        [#        S$ UR                   S   S   S    5       5      S:X  d   e[        [        SS%5      S/SS//5      nUR                  5       [        S&S5      [%        S'5      S-  -
  S[        [%        S'5      * S-  [        SS5      -
  /S//5      /4[        S&S5      [%        S'5      S-  -   S[        [        S(S5      [%        S'5      S-  -   /S//5      /4/:X  d   e[        / 5      R                  5       0 :X  d   e[        / 5      R                  SS9/ :X  d   e[        / 5      R                  5       / :X  d   e['        [(        S) 5        ['        [(        S* 5        ['        [(        S+ 5        ['        [(        S, 5        ['        [(        S- 5        ['        [(        S. 5        [        SS/SS%//5      n[+        UR                  SSS/9[,        5      (       d   e[+        UR                  SSS/9[.        5      (       d   e[+        UR                  S0 SS/9[,        5      (       d   e[+        UR                  S1 SS/9[.        5      (       d   eg s  sn
f s  sn
n	f s  sn
f s  sn
n	f )2N   FmultipleT   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   ar   r$   r   )         )      	      !      r-   c                 *    [        [        X5      5      $ N)strr   )ens     W/var/www/auris/envauris/lib/python3.13/site-packages/sympy/matrices/tests/test_eigen.pyNStest_eigen.<locals>.NSH   s    1Q7|          r+   )r   r&   r   epsreal)	r   r$   r   r   r   r   r$   r$   r   c              3   8   #    U  H  oR                   v   M     g 7fr3   q.0is     r7   	<genexpr>test_eigen.<locals>.<genexpr>k        32qss2   c              3   8   #    U  H  oR                   v   M     g 7fr3   rB   rD   s     r7   rG   rH   m   rI   rJ   r)   r*   I   c                  F    [        SS/SS/SS//5      R                  5       $ )Nr   r$   r   r)   r   	eigenvals r:   r7   <lambda>test_eigen.<locals>.<lambda>{   %    6Aq6Aq6Aq623==?r:   c                  F    [        SS/SS/SS//5      R                  5       $ )Nr   r   r   r)   r*   r+   rO   rQ   r:   r7   rR   rS   }   rT   r:   c                  @    [        / SQ/ SQ/5      R                  5       $ )Nr(   r   r*   r+   rO   rQ   r:   r7   rR   rS          69i01;;=r:   c                  @    [        / SQ/ SQ/5      R                  5       $ )Nr    r)   r*   r   rO   rQ   r:   r7   rR   rS      rX   r:   c                  >    [        / SQ/ SQ/5      R                  SS9$ )Nr(   rW   Ferror_when_incompleterO   rQ   r:   r7   rR   rS      !    69i01;;', < .r:   c                  >    [        / SQ/ SQ/5      R                  SS9$ )Nr    rZ   Fr\   rO   rQ   r:   r7   rR   rS      r^   r:   )r   r   c                     U $ r3   rQ   xs    r7   rR   rS          Qr:   c                     U $ r3   rQ   ra   s    r7   rR   rS      rc   r:   )r   r   r   rP   r   One
eigenvectsleft_eigenvectsZeror   rangelensortedabsr   r	   _eigenvectsmaxr
   r   r   
isinstancedictlist)RMr'   bcdr5   r8   rrF   jr1r2r=   ms                  r7   
test_eigenr|      s   A

1A;;;&155!*444;;;%222<<>
Q	"	"	"$ 
% 	&' ' '
 
Q$$$& 
' 	() ) )
 		 	A ;;=QquuWa!%%AFFA>>>><<>VJ'()VJ'()VQq!Wa1gq1234	
   VZL)*+FK=)*+FI;'()	
   	sAAA 	A ;;=Q155!,,,,BQ 	A<<>1vaRG'<&=>?@@@QFQF8,<+=$>#?@@@	9i01A	"aA	"a1g+A	"aA	
2qAaCE	A	
2qAaCE	A 
qS!frBaCL0A!GQ;?!Q1W+M 2qQ3w</2A7 8 9 	:!fZ()*	
qS!frBaCL0A!GQ;?!Q1W+M 2qQ3w</2A7 8 9 	:		A 27s1v
@1>A ad1gq>2ad1gq>471:&:aAq:&(1>  
@	A16s1v
@1>A ad1gq>2ad1gq>471:&:aAq:&(1>  
@":###
T
"CS1S5%C3s8%' 	(A <<>VqbfSXo.4567Cj!v#c#h'7!&=>@B	
   FQsU3s8^Q/0123s3xZVqbfSXoq%9$:;<=	
   	q!12ALL%L0AM3AMM!,Q/233a777LL$L/AM3AMM!,Q/233q888!Q#aV,-A<<>	!Q$r(1*	$a&DH9Q;!Q3O2PSTRU1V*W)XY	!Q$r(1*	$a&8B?T"XaZ3O2PSTRU1V*W)XY[ [ [ [
 ":!R'''":."444":  "b((( ?A
?A
=?
=?
./ ./ 	AA Aakk4%k@$GGGGakk4$k?FFFFakk;kGNNNNakk;kFMMMMw 	'
@ 	'
@s0   ,`$3``$7,`/#`*5`/`$*`/c                     [        / SQ/ SQ/ SQ/5      n [        SS5      [        S5      S-  -
  [        S5      S-  [        SS5      -   [        R                  /nU R                  SSS	9n[        U5      nU Vs/ s H  o3R                  5       PM     nn[        U5      n[        X$5       H  u  p5[        X5-
  5      S
:  a  M   e   g s  snf )N)r   333333?r~   )r~   ?r   )r   r~   r~   r*   r)   i     T)rationalr   g&.>)
r   r   r
   r   rh   rP   rk   evalfziprl   )r{   evalsn_evalsrb   s_evalsys         r7   test_float_eigenvalsr      s    \<89AAc2%S	"x1~%	E
 kk4$k7GWoG"'(%Qwwy%G(WoGG%13x&    & )s   9Cc                     ^ [        SSSSS[        /5      m[        [        U4S j5        TR	                  S5      (       a   e[        [
        U4S j5        TR                  S5      u  pg )Nr$   r   r   c                  &   > T R                  S5      $ NT)is_diagonalizabler{   s   r7   rR   "test_eigen_vects.<locals>.<lambda>   s    (;(;D(Ar:   Tc                  &   > T R                  S5      $ r   diagonalizer   s   r7   rR   r      s    d 3r:   )r   r   r   NotImplementedErrorr   r   r   )PDr{   s     @r7   test_eigen_vectsr      s[    q!aAq\"A
 AB ""4((((
;34]]4 FQr:   c                     [        S5      u  pSn[        U5       Vs/ s H  n[        SU-  5      PM     nn[        U5       VVs/ s H  n[        U5       Vs/ s H  nSPM     snPM!     nnn[        U5       H  nXC   Xc   U'   M     [        U5      nUR	                  5       n[        U5      U:X  d   e[        U5       H  nXtU      S:X  a  M   e   UR	                  SS9n[        U5      [        U5      :X  d   e[        U SS/SUS/SS	U //5      nUR	                  5       nXpSUS0:X  d   eUR	                  SS9n[        U5      S	:X  d   eUR                  U 5      S:X  d   eUR                  U5      S:X  d   eg s  snf s  snf s  snnf )
Nzx y   zx%sr   r   Tr   r$   r   )r   ri   r   r   rP   rj   setcount)rb   r   r6   rF   diagonal_variablesrx   rs   rP   s           r7   test_issue_8240r      s   5>DAA5:1X>X&+X>(-a11U1X	X!X	A11X$'Q q	AIy>Q1XA./1444  T*Iy>S!34444 	Aq	Aq!9q!Qi01AIAq!$$$T*Iy>Q??1"""??1"""- ?	1s   E>FF$FFc                  "   [        / SQ/ SQ/ SQ/5      n U R                  5       S[        R                  -  S[        R                  * S[        R                  S0:X  d   e[        / SQ/ SQ/ SQ/ S	Q/ S
Q/5      nUR                  5       (       d   eg )Nr#   r    r   r$   r   r   r   r   r   rM   r   rM   rM   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   rP   r   re   rh   )rs   r{   s     r7   test_eigenvalsr      s~    	 	A ;;=QquuWa!%%AFFA>>>> 	A ;;===r:   c                      [        / SQ/ SQ/ SQ/5      n U R                  5       nU H)  u  p#n[        U5      S:X  d   eXS   -  X$S   -  :X  a  M)   e   g Nr#   r    r   r   r   )r   rf   rj   rs   vecsvalmultvec_lists        r7   test_eigenvectsr      sa    	 	A <<>D#88}!!!!}QK///  $r:   c                      [        / SQ/ SQ/ SQ/5      n U R                  5       nU H*  u  p#n[        U5      S:X  d   eUS   U -  X$S   -  :X  a  M*   e   g r   )r   rg   rj   r   s        r7   test_left_eigenvectsr      sf    	 	A D#88}!!!{1}QK///  $r:   c                  
   [        / SQ/ SQ/ SQ/5      n U R                  5       U :X  d   eU R                  SS9U :X  d   eU R                  5       U :X  d   eU R                  5       X U 4:X  d   eU R                  SS9X U 4:X  d   eU R                  5       U :X  d   eSS Kn[	        S5       GH  n/ nSnSn[	        XE-  5       H  nUR                  SS	5      nX7/-   nM     [        XEU5      n [        U 5      nUR                  " 5       u  pnU R                  5       u  pnU R                  5       nUR                  " 5       nX-  U-  nX-  U-  nU
R                  5         UR                  5         UR                  5         UR                  5         UR                  5         UR                  5         U R                  SS9nU R                  SS9u  nnnUR                  " SS9nUR                  " SS9u  nnnUU-  U-  nUU-  U-  nUR                  5         UR                  5         UR                  5         UR                  5         UR                  5         UR                  5         U U:X  d   eX:X  d   eUU:X  d   eU
U:X  d   eU U:X  d   eUU:X  d   eUU:X  d   eUU:X  a  GM   e   [	        S5       GH  n/ nSn[	        UU-  5       H8  nUR                  SS	5      nUR                  SS	5      n UU [        -  -   nX7/-   nM:     [        UUU5      n [        U 5      nUR                  " 5       u  pnU R                  5       u  pnU R                  5       nUR                  " 5       nX-  U-  nX-  U-  nU
R                  5         UR                  5         UR                  5         UR                  5         UR                  5         UR                  5         U R                  SS9nU R                  SS9u  nnnUR                  " SS9nUR                  " SS9u  nnnUU-  U-  nUU-  U-  nUR                  5         UR                  5         UR                  5         UR                  5         UR                  5         UR                  5         U U:X  d   eX:X  d   eUU:X  d   eU
U:X  d   eU U:X  d   eUU:X  d   eUU:X  d   eUU:X  a  GM   e   [        S
S[	        SS5      5      n U R                  S 5      n U R                  5       S   U R                  5       :X  d   eU R                  SS9S   U R                  SS9:X  d   eU R                  5       u  n!n"n#U!U"-  U#-  U -
  n$[        [        U$5      5      S:  d   eg )Nr    r!   r"   F)upperr   r$   i 6ei ʚ;   r-   r      c                     [        U 5      $ r3   )r   )rF   s    r7   rR   $test_bidiagonalize.<locals>.<lambda>p  s    eAhr:   g-q=)r   bidiagonalizebidiagonal_decompositionrandomri   randintr   r   r   	applyfuncrl   rn   )%rs   r   	real_testtest_valuesrowcol_valuer   N1N2N3M1M2M3M0N0N4M4LM0LM1LM2LM3LN0LN1LN2LN3LN4LM4complex_testsizer?   compr'   rt   ru   diffs%                                        r7   test_bidiagonalizer      s>   	 	A ??!!!???'1,,,??!!!%%'A!9444%%E%2qQi?????!!!1X	sy!ANN;
;E%/K " 3[)A//1
//1
____Wr\Wr\





ooEo*222?S#ooE*22?S#Ci#oCi#oBwwxxBwwRxxCxxczzCxxczzo t atd{#A>>+z:D>>+z:D4!8OE%/K	 $
 4{+A //1
//1
____Wr\Wr\





ooEo*222?S#ooE*22?S#Ci#oCi#oBwwxxBwwRxxCxxczzCxxczzo !r 	r1eAsm$A	&'A%%'*aoo.????%%E%215u9UUUU((*GAq!q519q=Ds4y>G###r:   c                  n  ^ [        SS/ SQ5      m[        [        U4S j5        TR                  5       u  pUR	                  5       (       d   eU[        [
        * S/S[
        //5      :X  d   e[        SS/ SQ5      mTR                  5       u  p[        S UR                  5        5       5      (       d   e[        S U R                  5        5       5      (       d   eTR                  SS	9u  p#X:X  d   e[        / S
Q/ SQ/ SQ/ SQ/5      mTR                  5       u  p[        X-  TU -  5      (       d   eg )Nr$   r   r%   r   r   c                  "   > T R                  SS9$ )NT
reals_onlyr   r   s   r7   rR   "test_diagonalize.<locals>.<lambda>z  s     >r:   r   )r         ?r   r   c              3   B   #    U  H  n[        U[        5      v   M     g 7fr3   ro   r   rE   r5   s     r7   rG   #test_diagonalize.<locals>.<genexpr>       8Zz!U##Z   c              3   B   #    U  H  n[        U[        5      v   M     g 7fr3   r   r   s     r7   rG   r     r   r   Tr   r   r   r   r   )r   r   r   Mb`?)r   r   r   r   )r   r   r   r   )	r   r   r   r   is_diagonalr   allvaluesr   )r   r   r   D2r{   s       @r7   test_diagonalizer   x  s   q!]#A
;>?==?DA==???"aa    
 	q!^$A==?DA8QXXZ888888QXXZ88888MMTM*EA7N7	')9<H	JA==?DAAC1r:   c                  Z   [        S5      u  pn[        SSXX!/5      nUR                  5       (       d   eUR                  5       (       d   e[        SS/ SQ5      R                  5       (       a   e[        SS/ SQ5      nUR                  5       (       d   eUR                  SS9(       a   eg )Nza b cr$   )r   r   r   r   r   Tr   )r   r   is_symmetricr   )r'   rt   ru   r{   s       r7   test_is_diagonalizabler     s    gGA!q!aA\"A>>    aL);;====q!]#A    ""d"3333r:   c                    ^ [        SS/ SQ5      m[        [        U4S j5        [        SS/ SQ5      mTR                  5       u  pTU:X  d   e[        SS/ SQ5      mTR                  5       u  pTU:X  d   e[        / SQ/ S	Q/ S
Q/ SQ/5      nUR                  5       u  p[	        X-  U R                  5       -  5      U:X  d   e[        SSS/5      R                  5       [        S/5      [        S/5      4:X  d   e[        SSS/5      R                  SS9[        S/5      :X  d   e[        / SQ/ SQ/ SQ/ SQ/ SQ/5      m[        [        U4S j5        [        SSS[        S5      -  -   /SS[        S5      -  -   S//5      mTR                  5       u  p[        S U  5       5      (       d   e[        S U 5       5      (       d   eg )Nr   r$   )rM   r   rM   r   r   
   c                  $   > T R                  5       $ r3   jordan_formr   s   r7   rR   "test_jordan_form.<locals>.<lambda>  s    r:   r)   )r$   r   r   r   r   r$   r   r   r   r   r$   r   r   r   r   r$   )r$   r   r   r   r   r$   r   r   r   r   r$   r   r   r   r   r$   )r$   r)   r   r   )r@   r$   r   r   )r   r   r$   r)   )r   r   r@   r$   r   F)calc_transformr   r   r   r   r   c                  $   > T R                  5       $ r3   r   r   s   r7   rR   r     s    r:   g      ?g      ?g      ?g      ?c              3   Z   #    U  H!  n[        U[        5      =(       d    US :H  v   M#     g7fr   Nr   rE   rb   s     r7   rG   #test_jordan_form.<locals>.<genexpr>  #     9q!z!U#-qAv-q   )+c              3   Z   #    U  H!  n[        U[        5      =(       d    US :H  v   M#     g7fr   r   r   s     r7   rG   r     r   r   )	r   r   r   r   r   invr   r
   r   )r   JAr{   s      @r7   test_jordan_formr    s   q!+,A
!89 	q!  	A
 ==?DA6M6q!  	A
 ==?DA6M6    " 	#A ==?DAACK A%%%!Q((*vqc{FA3K.HHHH!Q(((>&!+MMM 	 "3_oWfghA
;/0 	Q!78	Q	8: 	;A ==?DA9q999999q99999r:   c                  d   [        SSS9n [        SS[        -  /SS//5      nUR                  5       SS/:X  d   e[	        S5      nXS'   S	US
'   UR                  5       n[        U5      S	S[        U 5      1:X  d   e[        [        U 5      [        U 5      /[        U 5      * [        U 5      //5      nUR                  5        Vs/ s H  o3R                  5       PM     nnU[        R                  [        R                  /:X  d   e[        SS/SS/SS/SS//5      nUR                  5       [        [        S5      S-   5      [        S[        S5      -
  5      /:X  d   eUR                  R                  5       [        [        S5      S-   5      [        S[        S5      -
  5      SS/:X  d   eg s  snf )Nrb   Tr>   r   r   r$   r   )r   r   r*   )r$   r$   r)      r/   )r   r   r   singular_valuesr   r   r	   r   r   trigsimpr   re   r
   T)rb   r   valssvs       r7   test_singular_valuesr	    s   sAAaC1a&!"A1a&(((AAdGAdGDt9As1v&&&QQ CF7CF"345A$%$5$5$78$7bKKM$7D8AEE155>!!!	
A	
A	
A	
A	
 	A 	d3i"n	tBcN345 5 533 	d3i"n	tBcN3Q:; ; ; 9s   F-c                  <    [        / SQ/ SQ/ SQ/5      0 :H  SL d   eg )Nr#   r    r   F)r   rQ   r:   r7   test___eq__r    s6    		  $$ $ $r:   c                     [        / SQ/ SQ/ SQ/5      n U R                  S:X  d   eU R                  S:X  d   eU R                  S:X  d   eU R                  S:X  d   eU R
                  S:X  d   e[        SS/SS//5      n U R                  S:X  d   eU R                  S:X  d   eU R                  S:X  d   eU R                  S:X  d   eU R
                  S:X  d   e[        / SQ/ SQ/ S	Q/5      n U R                  S:X  d   eU R                  S:X  d   eU R                  S:X  d   eU R                  S:X  d   eU R
                  S:X  d   e[        S
S/SS//5      n U R                  S:X  d   eU R                  S:X  d   eU R                  S:X  d   eU R                  S:X  d   eU R
                  S:X  d   e[        SS/SS//5      n U R                  S:X  d   eU R                  S:X  d   eU R                  S:X  d   eU R                  S:X  d   eU R
                  S:X  d   e[        S
S[        -  /[        * S//5      n U R                  S:X  d   eU R                  S:X  d   eU R                  S:X  d   eU R                  S:X  d   eU R
                  S:X  d   e[        SSS9n[        SSS9n[        USS/SUS/SSU//5      n U R                  S:X  d   eU R                  S:X  d   eU R                  S:X  d   eU R                  S:X  d   eU R
                  S:X  d   e[        USS/SUS/SSU//5      n U R                  S:X  d   eU R                  S:X  d   eU R                  S:X  d   eU R                  S:X  d   eU R
                  S:X  d   e[        US/SU//5      n U R                  S:X  d   eU R                  S:X  d   eU R                  S:X  d   eU R                  S:X  d   eU R
                  S:X  d   e[        / SQ/ SQ/ SQ/ SQ/5      n U R                  S:X  d   eU R                  S:X  d   eU R
                  S:X  d   e[        / SQ/ SQ/ SQ/5      n U R                  (       a   eU R                  (       a   eg )N)r$   r%   r   )r%   r$   r%   )r   r%   r$   TFr*   r)   )r$   r%   r%   )r%   r%   r$   r   r$   r   r-   r'   )positivert   )negativer   )ga~2^?=6 0z?u?1ڿ"ş})r  gEߡ?֯mA?)Ewc?)r  r  g?}uq?)r  r  r  g!pb?r   r   r   )r   r   r$   )r   r$   r   )r   is_positive_definiteis_positive_semidefiniteis_negative_definiteis_negative_semidefiniteis_indefiniter   r   )r{   r'   rt   s      r7   test_definiter    s    	
K45A!!T)))%%---!!U***%%...??e###AA A!!T)))%%---!!U***%%...??e### 	[+67A!!U***%%---!!U***%%...??e###AA A!!U***%%---!!U***%%...??e### 	AA A!!T)))%%---!!U***%%...??e### 	AaCA2q'"#A!!T)))%%---!!U***%%...??e### 	sT"AsT"AAq	Aq!9q!Qi01A!!T)))%%---!!U***%%...??e###Aq	Aq!9q!Qi01A!!U***%%...!!T)))%%---??e###AA A!!U***%%...!!U***%%...??d"""	4	2	.	/	 		A !!T)))%%---??e### 	 	A
 %%%%)))))r:   c                  J   SSK Jn   [        / SQ/ SQ/ SQ/5      nU " U5      S:X  d   e[        / SQSSS[        -  /SS[        -  S//5      nU " U5      S:X  d   e[        / S	Q/ SQ/ S
Q/5      nU " U5      S:X  d   e[        SS/SS//5      nU " U5      S:X  d   e[        / SQ/ SQ/ SQ/5      nU " U5      S:X  d   e[        / SQ/ SQ/ SQ/5      nU " U5      S:X  d   e[        / SQ/ SQ/ SQ/5      nU " U5      S:X  d   e[        / SQ/ SQ/ SQ/5      nU " U5      S:X  d   eg )Nr   )"_is_positive_semidefinite_choleskyr  Tr*   r   Fr    )r   r   r%   r   )r)   r&   )r&   r   r.   )r  r.      )r.   rM   r   )rM   r$   r   )r   r   r+   )r)   r&   r$   )r&   r   r%   )r$   r%   r*   )r   r$   r%   )r$   r*   r   )r%   r   r.   )sympy.matrices.eigenr  r   r   )r  r{   s     r7   #test_positive_semidefinite_choleskyr"  Q  sA   G	9i01A-a0D888	Aq#a%=1bdA,78A-a0E999	9j12A-a0E999AA A-a0E999 	[+67A-a0D888
J	23A-a0D888
K45A-a0D888
Iz23A-a0E999r:   c                  f    [        / SQ/ SQ/ SQ/ SQ/ SQ/5      n U R                  5       (       d   eg )N)r*   rM   r$   )r&   r$  r   r$   r   )r&   r%  r$  r&   r  )r,   r   r   r.   r&   )r)   r  r   ir@   )r   rf   )r   s    r7   test_issue_20582r&  h  s2     	A <<>>>r:   c                     [        S5      n [        / SQ/ SQ/ SQ/ SQ/5      n[        * U-  U -  R                  5       nU[        / SQSSSS	[	        S
5      -   -  SS[	        S
5      -   -  // SQ/ SQ/5      [        S[        -  U -  SSS/SS[        -  U -  SS/SSU S[        -  S-  [	        S
5      [        -  S-  -   -  S/SSSU [	        S
5      * [        -  S-  S[        -  S-  -
  -  //5      4:X  d   eg )Nt)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   rM   r$   r   )r   r   r   r   r
   )r(  Hr   s      r7   test_issue_19210r+  t  s)   sAm\<HIA
a!  "A@2rDH}-q!d2h,/?@@@	B C EKT!V!QXYZRT!VQXYZ!Q1Qb!A(=%>XYZ!QDH9Q;q=STUVSVWXSXCX@YZ	L\ E]	^ ^ ^ ^r:   c                  X   [        S5      R                  5       R                  SS9n U R                  5       nUS   SS[	        S[        S5      -
  /S/S//5      /4:X  d   eUS   SS[	        S[        S5      -   /S/S//5      /4:X  d   eUS   [        * S[	        S/S/S//5      /4:X  d   e[        S5      R                  5       R                  SS9n U R                  5       nUS   SS[	        S/S/S/S//5      /4:X  d   eUS   SS[	        S/S/S/S//5      [	        S/S/S/S//5      /4:X  d   eUS   [        * S[	        S/S/S/S//5      /4:X  d   e[        S	5      R                  5       R                  SS9n U R                  5       nUS   SS[	        S[        S	5      -
  /S/S/S/S//5      /4:X  d   eUS   SS[	        [        S5      S-  [        S	5      S-  -   /S/S/S/S//5      [	        [        S5      S-  [        S	5      S-  -   /S/S/S/S//5      /4:X  d   eg )
Nr   T)complexr   r%   r   r$   r)   r*   )r   as_explicitexpandrf   r   r
   r   r   )r   rf   s     r7   test_issue_20275r0    s    	A##D#1AJa=
A	!d1g+aS)	*+    a=	1	!d1g+aS)	*+    a=	
A	!rdQC 	!"   
 	A##D#1AJa=
A	"sQC!%	&'    a=	1	!qcA3$	%vsQC!qc.B'CD    a=	
A	!rdQC!%	&'    	A##D#1AJa=
A	!d1g+aS1#s3	45    a=	1	!A$q&4719$%sQC!qc:	;	!A$q&4719$%sQC!qc:	;	=   r:   c                  b    [        SSS9n [        / SQSU S/SSU //5      nUR                  b   eg )Nrt   T)nonzeror  r   )r   r   r  )rt   r{   s     r7   test_issue_20752r3    s=    T"A	Aq!9q!Qi01A%%---r:   c                     S/S-  S/-   =p/ SQnUR                  5       nSUS'   S n/ n[        S5       H#  nUR                  U" X65      U" X5      -   5        M%     [        S5       H#  nUR                  U" X&5      U" X5      -   5        M%     [        [	        U5      R                  5       R                  5       5      S	:X  d   eg )
Nr      r   )r$   r   r   r   r   r   r   r   r   r   r   r   r$   r-   c                     XS  U S U -   $ r3   rQ   )rb   rF   s     r7   rotate test_issue_25282.<locals>.rotate  s    uq!u}r:   r;   r<   )copyri   appendsumr   rP   r   )ddsddsssr7  matrF   s          r7   test_issue_25282rA    s    cBh!nB	-B	BBqE C2Y

6"=6"=01 2Y

6"=6"=01  vc{$$&--/0B666r:   N)8sympy.core.evalfr   sympy.core.numbersr   r   r   sympy.core.symbolr   r   $sympy.functions.elementary.complexesr	   (sympy.functions.elementary.miscellaneousr
   (sympy.functions.elementary.trigonometricr   r   sympy.matricesr   r   sympy.core.singletonr   sympy.testing.pytestr   r   sympy.matrices.exceptionsr   r   "sympy.matrices.expressions.fourierr   sympy.simplify.simplifyr   sympy.matrices.immutabler   r   sympy.testing.matricesr   r|   r   r   r   r   r   r   r   r   r   r  r	  r  r  r"  r&  r+  r0  r3  rA  rQ   r:   r7   <module>rP     s     3 3 / 4 9 ? & " . G 2 , 4 % +{N|!  ! !#<$00 F$ F$R0	4-:`;:$^*B:.
^-`.7r:   