
    sgX                     `   d dl mZ d dlmZmZmZ d dlmZmZ d dl	m
Z
 d dlmZ d dlmZmZ d dlmZmZ d dlmZ d d	lmZmZ d d
lmZmZ d dlmZ d dlmZ d dlm Z  d dlm!Z! d dl"m#Z# d Z$d Z%ed        Z&d Z'd Z(d Z)d Z*e!d        Z+d Z,d Z-d Z.d Z/d Z0d Z1d Z2d Z3d  Z4d! Z5d" Z6d# Z7y$)%    )N)FloatIRational)Symbolsymbols)Abs)sqrt)cossin)eyeMatrix)S)raisesXFAIL)NonSquareMatrixErrorMatrixError)DFTsimplify)ImmutableMatrix)slow)allclosec                  b   t         } t        j                  d      }|j                  d      t        j
                  dik(  sJ |j                  d      g dk(  sJ |j                         ddt        g d      t        g d      t        g d	      gfgk(  sJ |j                         ddt        g dg      t        g dg      t        g d	g      gfgk(  sJ t        g d
g dg dg      }|j                         dt        j
                  z  dt        j
                   dt        j                  dik(  sJ |j                         ddt        g d      gfddt        g d      gfddt         | dd       | dd      dg      gfgk(  sJ |j                         ddt        g dg      gfddt        g dg      gfddt        g dg      gfgk(  sJ t        d      }t        |dgddgg      }|j                         |dt        j
                  dik(  sJ t        ddgddgg      }|j                         ddt        ddddg      gfgk(  sJ |j                         ddt        ddgg      gfgk(  sJ t        g dg dg dg      } | dd      }dd | dd      z  z  } | dd      } | dd      d|z  dz  z   } | dd      d|z  dz  z
  }d }||dz  z
  dt        dd||dz  z
  z  z   ||dz  z
  |z  z  d||dz  z
  z  z   dd||dz  z
  z  z   |z  dg      gfddt        g d      gf||dz  z   dt        dd||dz  z   z  z   ||dz  z   |z  z  d||dz  z   z  z   dd||dz  z   z  z   |z  dg      gfg}t        t        |            D 	
cg c]?  }	 |||	   d   d       |||	   d   d      ||	   d   d   D 
cg c]  }
 ||
d       c}
fA }}	}
|j                         }t        t        |            D 	
cg c]?  }	 |||	   d   d       |||	   d   d      ||	   d   d   D 
cg c]  }
 ||
d       c}
fA }}	}
t        |      t        |      k(  sJ t        dd       }t        t        |      t        |z  gt         |z  t        |      gg      }|j                         ddt        t         |z  t        |      z  gdgg      gfdt        |      z  dt        t        |z  t        |      z  gdgg      gfgk(  sJ |j                         ddt        t        |z  t        |      z  dgg      gfdt        |      z  dt        t         |z  t        |      z  dgg      gfgk(  sJ t        ddg d!      }|j                  d"      |_        t#        d# |j                   d   d   d   D              dkD  sJ |j                  d"      |_        t#        d$ |j                   d   d   d   D              dk(  sJ t        t        dd%      dgddgg      }|j                         t        d&d      t%        d'      dz  z
  dt        t%        d'       dz  t        dd      z
  gdgg      gft        d&d      t%        d'      dz  z   dt        t        d(d      t%        d'      dz  z   gdgg      gfgk(  sJ t        g       j                         i k(  sJ t        g       j                  d      g k(  sJ t        g       j                         g k(  sJ t'        t(        d)        t'        t(        d*        t'        t(        d+        t'        t(        d,        t'        t(        d-        t'        t(        d.        t        ddgdd%gg      }t+        |j                  dd/      t,              sJ t+        |j                  dd/      t.              sJ t+        |j                  d0 d/      t,              sJ t+        |j                  d1 d/      t.              sJ y c c}
w c c}
}	w c c}
w c c}
}	w )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                 ,    t        t        | |            S N)strr   )ens     R/var/www/html/venv/lib/python3.12/site-packages/sympy/matrices/tests/test_eigen.pyNSztest_eigen.<locals>.NSH   s    1Q7|          r+   )r   r&   r   epsreal)	r   r$   r   r   r   r   r$   r$   r   c              3   4   K   | ]  }|j                     y wr3   q.0is     r7   	<genexpr>ztest_eigen.<locals>.<genexpr>k        3qqss3   c              3   4   K   | ]  }|j                     y wr3   rA   rC   s     r7   rF   ztest_eigen.<locals>.<genexpr>m   rG   rH   r)   r*   I   c                  F    t        ddgddgddgg      j                         S )Nr   r$   r   r)   r   	eigenvals r9   r7   <lambda>ztest_eigen.<locals>.<lambda>{   '    6Aq6Aq6Aq623==? r9   c                  F    t        ddgddgddgg      j                         S )Nr   r   r   r)   r*   r+   rM   rO   r9   r7   rP   ztest_eigen.<locals>.<lambda>}   rQ   r9   c                  @    t        g dg dg      j                         S )Nr(   r   r*   r+   rM   rO   r9   r7   rP   ztest_eigen.<locals>.<lambda>       69i01;;= r9   c                  @    t        g dg dg      j                         S )Nr    r)   r*   r   rM   rO   r9   r7   rP   ztest_eigen.<locals>.<lambda>   rU   r9   c                  D    t        g dg dg      j                  d      S )Nr(   rT   Ferror_when_incompleterM   rO   r9   r7   rP   ztest_eigen.<locals>.<lambda>   #    69i01;;', < . r9   c                  D    t        g dg dg      j                  d      S )Nr    rW   FrY   rM   rO   r9   r7   rP   ztest_eigen.<locals>.<lambda>   r[   r9   )r   r   c                     | S r3   rO   xs    r7   rP   ztest_eigen.<locals>.<lambda>       Q r9   c                     | S r3   rO   r^   s    r7   rP   ztest_eigen.<locals>.<lambda>   r`   r9   )r   r   r   rN   r   One
eigenvectsleft_eigenvectsZeror   rangelensortedabsr   r	   _eigenvectsmaxr
   r   r   
isinstancedictlist)RMr'   bcdr5   r8   rrE   jr1r2r<   ms                  r7   
test_eigenry      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 
QqS!frBAaCL0A!GQ;?!Q1W+M 2q1Q3w</2A7 8 9 	:!fZ()*	
QqS!frBAaCL0A!GQ;?!Q1W+M 2q1Q3w</2A7 8 9 	:		A 27s1v
@,- ad1gq>2ad1gq>Q471:&aAq&( 
@B 
@	A16s1v
@,- ad1gq>2ad1gq>Q471:&aAq&( 
@B 
@":###
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akk4$k?FFFakk;kGNNNakk;kFMMMw 	'
@ 	'
@s0   .` :`
` :.`+(`&8`+` &`+c                     t        g dg dg dg      } t        dd      t        d      dz  z
  t        d      dz  t        dd      z   t        j                  g}| j                  dd	      }t        |      }|D cg c]  }|j                          }}t        |      }t        ||      D ]  \  }}t        ||z
        d
k  rJ  y c c}w )N)r   333333?r{   )r{   ?r|   )r|   r{   r{   r*   r)   i     T)rationalr   g&.>)
r   r   r
   r   re   rN   rh   evalfzipri   )rx   evalsn_evalsr_   s_evalsys         r7   test_float_eigenvalsr      s    \<89AAc2%S	"x1~%	E
 kk4$k7GWoG"'(Qqwwy(G(WoGGW% !11Q3x&   ! )s   <Cc                      t        dddddt        g      t        t        fd       j	                  d      rJ t        t
        fd       j                  d      \  } }y )Nr$   r   r   c                  &     j                  d      S NT)is_diagonalizablerx   s   r7   rP   z"test_eigen_vects.<locals>.<lambda>   s    (;(;D(A r9   Tc                  &     j                  d      S r   diagonalizer   s   r7   rP   z"test_eigen_vects.<locals>.<lambda>   s    d 3 r9   )r   r   r   NotImplementedErrorr   r   r   )PDrx   s     @r7   test_eigen_vectsr      sX    q!aAq\"A
 AB ""4(((
;34]]4 FQr9   c                  
   t        d      \  } }d}t        |      D cg c]  }t        d|z         }}t        |      D cg c]  }t        |      D cg c]  }d c} }}}t        |      D ]  }||   ||   |<    t        |      }|j	                         }t        |      |k(  sJ t        |      D ]  }|||      dk(  rJ  |j	                  d      }t        |      t        |      k(  sJ t        | ddgd|dgdd	| gg      }|j	                         }|| d|dik(  sJ |j	                  d      }t        |      d	k(  sJ |j                  |       dk(  sJ |j                  |      dk(  sJ y c c}w c c}w c c}}w )
Nzx y   zx%sr   r   Tr   r$   r   )r   rf   r   r   rN   rg   setcount)r_   r   r6   rE   diagonal_variablesru   rp   rN   s           r7   test_issue_8240r      s   5>DAqA5:1X>&+>>(-a11U1X	!	1A11X ($Q'!Q(q	AIy>Q1X 5+A./14445 T*Iy>S!34444 	Aq	Aq!9q!Qi01AIAq!$$$T*Iy>Q??1"""??1"""- ?	1s   E5E?	E:E?:E?c                     t        g dg dg dg      } | j                         dt        j                  z  dt        j                   dt        j                  dik(  sJ t        g dg dg dg d	g d
g      }|j                         sJ y )Nr#   r    r   r$   r   r   r   r   r   rK   r   rK   rK   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   rN   r   rb   re   )rp   rx   s     r7   test_eigenvalsr      s|    	 	A ;;=QquuWa!%%AFFA>>>> 	A ;;==r9   c                      t        g dg dg dg      } | j                         }|D ])  \  }}}t        |      dk(  sJ | |d   z  ||d   z  k(  r)J  y Nr#   r    r   r   r   )r   rc   rg   rp   vecsvalmultvec_lists        r7   test_eigenvectsr      sl    	 	A <<>D# 0T88}!!!!}HQK///0r9   c                      t        g dg dg dg      } | j                         }|D ])  \  }}}t        |      dk(  sJ |d   | z  ||d   z  k(  r)J  y r   )r   rd   rg   r   s        r7   test_left_eigenvectsr      so    	 	A D# 0T88}!!!{1}HQK///0r9   c                     t        g dg dg dg      } | j                         | k(  sJ | j                  d      | k(  sJ | j                         | k(  sJ | j                         | | | fk(  sJ | j                  d      | | | fk(  sJ | j                         | k(  sJ dd l}t	        d      D ]   }g }d}d}t	        ||z        D ]  }|j                  dd	      }||gz   } t        |||      } t        |       } |j                         \  }	}
}| j                         \  }}}| j                         } |j                         }|	|
z  |z  }||z  |z  }|
j                          |j                          |j                          |j                          |j                          |j                          | j                  d      }| j                  d      \  }}} |j                  d      } |j                  d      \  }}}||z  |z  }||z  |z  }|j                          |j                          |j                          |j                          |j                          |j                          | |k(  sJ ||k(  sJ ||k(  sJ |
|k(  sJ | |k(  sJ ||k(  sJ ||k(  sJ ||k(  rJ  t	        d      D ]  }g }d}t	        ||z        D ]8  }|j                  dd	      }|j                  dd	      } || t        z  z   }||gz   }: t        |||      } t        |       } |j                         \  }	}
}| j                         \  }}}| j                         } |j                         }|	|
z  |z  }||z  |z  }|
j                          |j                          |j                          |j                          |j                          |j                          | j                  d      }| j                  d      \  }}} |j                  d      } |j                  d      \  }}}||z  |z  }||z  |z  }|j                          |j                          |j                          |j                          |j                          |j                          | |k(  sJ ||k(  sJ ||k(  sJ |
|k(  sJ | |k(  sJ ||k(  sJ ||k(  sJ ||k(  rJ  t        d
dt	        dd            } | j                  d       } | j                         d   | j                         k(  sJ | j                  d      d   | j                  d      k(  sJ | j                         \  }!}"}#|!|"z  |#z  | z
  }$t        t        |$            dk  sJ y )Nr    r!   r"   F)upperr   r$   i 6ei ʚ;   r-   r      c                     t        |       S r3   )r   )rE   s    r7   rP   z$test_bidiagonalize.<locals>.<lambda>p  s
    eAh r9   g-q=)r   bidiagonalizebidiagonal_decompositionrandomrf   randintr   r   r   	applyfuncri   rk   )%rp   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'   rq   rr   diffs%                                        r7   test_bidiagonalizer      s   	 	A ??!!!???'1,,,??!!!%%'Aq!9444%%E%2q!Qi?????!!!1X 7	sSy! 	0ANN;
;E%/K	0 3[)A/Q//1
B//1
B__Q__"Wr\"Wr\





ooEo*222?S#aooE*222?S#Ci#oCi#oBwwRxxBwwRxxCxxczzCxxczzo7t a 7td{# 	0A>>+z:D>>+z:D4!8OE%/K		0
 4{+A 0Q//1
B//1
B__Q__"Wr\"Wr\





ooEo*222?S#aooE*222?S#Ci#oCi#oBwwRxxBwwRxxCxxczzCxxczzo7r 	r1eAsm$A	&'A%%'*aoo.????%%E%215u9UUUU((*GAq!q519q=Ds4y>G###r9   c                  R   t        ddg d      t        t        fd       j                         \  } }|j	                         sJ |t        t
         dgdt
        gg      k(  sJ t        ddg d      j                         \  } }t        d |j                         D              sJ t        d | j                         D              sJ j                  d	      \  }}||k(  sJ t        g d
g dg dg dg      j                         \  } }t        | |z  | z        sJ y )Nr$   r   r%   r   r   c                  (     j                  d      S )NT
reals_onlyr   r   s   r7   rP   z"test_diagonalize.<locals>.<lambda>z  s     > r9   r   )r         ?r   r   c              3   <   K   | ]  }t        |t                y wr3   rl   r   rD   r5   s     r7   rF   z#test_diagonalize.<locals>.<genexpr>       8z!U#8   c              3   <   K   | ]  }t        |t                y wr3   r   r   s     r7   rF   z#test_diagonalize.<locals>.<genexpr>  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   D2rx   s       @r7   test_diagonalizer   x  s   q!]#A
;>?==?DAq==??"aa    
 	q!^$A==?DAq8QXXZ88888QXXZ8888MMTM*EAr7N7	')9<H	JA==?DAqAaC1r9   c                  4   t        d      \  } }}t        dd| |||g      }|j                         sJ |j                         sJ t        ddg d      j                         rJ t        ddg d      }|j                         sJ |j                  d      rJ y )Nza b cr$   )r   r   r   r   r   Tr   )r   r   is_symmetricr   )r'   rq   rr   rx   s       r7   test_is_diagonalizabler     s    gGAq!q!aAq\"A>>   aL);;===q!]#A   ""d"3333r9   c                     t        ddg d      t        t        fd       t        ddg d      j                         \  } }|k(  sJ t        ddg d      j                         \  } }|k(  sJ t        g dg d	g d
g dg      }|j                         \  } }t	        | |z  | j                         z        |k(  sJ t        dddg      j                         t        dg      t        dg      fk(  sJ t        dddg      j                  d      t        dg      k(  sJ t        g dg dg dg dg dg      t        t        fd       t        dddt        d      z  z   gddt        d      z  z   dgg      j                         \  } }t        d | D              sJ t        d |D              sJ y )Nr   r$   )rK   r   rK   r}   r   
   c                  $     j                         S r3   jordan_formr   s   r7   rP   z"test_jordan_form.<locals>.<lambda>  s     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$   )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                  $     j                         S r3   r   r   s   r7   rP   z"test_jordan_form.<locals>.<lambda>  s     r9   g      ?g      ?g      ?g      ?c              3   J   K   | ]  }t        |t              xs |d k(    ywr   Nr   rD   r_   s     r7   rF   z#test_jordan_form.<locals>.<genexpr>  #     9!z!U#-qAv-9   !#c              3   J   K   | ]  }t        |t              xs |d k(    ywr   r   r   s     r7   rF   z#test_jordan_form.<locals>.<genexpr>  r   r   )	r   r   r   r   r   invr   r
   r   )r   JArx   s      @r7   test_jordan_formr     s   q!+,A
!89 	q!  	A
 ==?DAq6M6q!  	A
 ==?DAq6M6    " 	#A ==?DAqAaCK A%%%!Q((*vqc{FA3K.HHHH!Q(((>&!+MMM 	 "3_oWfghA
;/0 	Q!78	Q	8: 	;A ==?DAq9q99999q9999r9   c                  ^   t        dd      } t        ddt        z  gddgg      }|j                         ddgk(  sJ t	        d      }| |d<   d	|d
<   |j                         }t        |      d	dt        |       hk(  sJ t        t        |       t        |       gt        |        t        |       gg      }|j                         D cg c]  }|j                          }}|t        j                  t        j                  gk(  sJ t        ddgddgddgddgg      }|j                         t        t        d      dz         t        dt        d      z
        gk(  sJ |j                  j                         t        t        d      dz         t        dt        d      z
        ddgk(  sJ y c c}w )Nr_   Tr=   r   r   r$   r   )r   r   r*   )r$   r$   r)      r/   )r   r   r   singular_valuesr   r   r	   r   r   trigsimpr   rb   r
   T)r_   r   valssvs       r7   test_singular_valuesr     s   sAAaC1a&!"A1a&(((AAAdGAdGDt9As1v&&&QQ CF7CF"345A$%$5$5$78bBKKM8D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                  :    t        g dg dg dg      i k(  du sJ y )Nr#   r    r   F)r   rO   r9   r7   test___eq__r    s6    		  $$ $ $r9   c                     t        g dg dg dg      } | j                  dk(  sJ | j                  dk(  sJ | j                  dk(  sJ | j                  dk(  sJ | j
                  dk(  sJ t        ddgddgg      } | j                  dk(  sJ | j                  dk(  sJ | j                  dk(  sJ | j                  dk(  sJ | j
                  dk(  sJ t        g dg dg d	g      } | j                  dk(  sJ | j                  dk(  sJ | j                  dk(  sJ | j                  dk(  sJ | j
                  dk(  sJ t        d
dgddgg      } | j                  dk(  sJ | j                  dk(  sJ | j                  dk(  sJ | j                  dk(  sJ | j
                  dk(  sJ t        ddgddgg      } | j                  dk(  sJ | j                  dk(  sJ | j                  dk(  sJ | j                  dk(  sJ | j
                  dk(  sJ t        d
dt        z  gt         dgg      } | j                  dk(  sJ | j                  dk(  sJ | j                  dk(  sJ | j                  dk(  sJ | j
                  dk(  sJ t        dd      }t        dd      }t        |ddgd|dgdd|gg      } | j                  dk(  sJ | j                  dk(  sJ | j                  dk(  sJ | j                  dk(  sJ | j
                  dk(  sJ t        |ddgd|dgdd|gg      } | j                  dk(  sJ | j                  dk(  sJ | j                  dk(  sJ | j                  dk(  sJ | j
                  dk(  sJ t        |dgd|gg      } | j                  dk(  sJ | j                  dk(  sJ | j                  dk(  sJ | j                  dk(  sJ | j
                  dk(  sJ t        g dg dg dg dg      } | j                  dk(  sJ | j                  dk(  sJ | j
                  dk(  sJ t        g dg dg dg      } | j                  rJ | j                  rJ y )N)r$   r%   r   )r%   r$   r%   )r   r%   r$   TFr*   r)   )r$   r%   r%   )r%   r%   r$   r   r$   r   r-   r'   )positiverq   )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   )rx   r'   rq   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
 %%%%)))))r9   c                  :   ddl m}  t        g dg dg dg      } | |      dk(  sJ t        g ddddt        z  gddt        z  dgg      } | |      dk(  sJ t        g d	g dg d
g      } | |      dk(  sJ t        ddgddgg      } | |      dk(  sJ t        g dg dg dg      } | |      dk(  sJ t        g dg dg dg      } | |      dk(  sJ t        g dg dg dg      } | |      dk(  sJ t        g dg dg dg      } | |      dk(  sJ y )Nr   )"_is_positive_semidefinite_choleskyr  Tr*   r   Fr    )r   r   r%   r   )r)   r&   )r&   r   r.   )r  r.      )r.   rK   r   )rK   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  rx   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9r9   c                  \    t        g dg dg dg dg dg      } | j                         sJ y )N)r*   rK   r$   )r&   r  r   r$   r   )r&   r  r  r&   r  )r,   r   r   r.   r&   )r)   r  r   ir?   )r   rc   )r   s    r7   test_issue_20582r  h  s0     	A <<>>r9   c                     t        d      } t        g dg dg dg dg      }t         |z  | z  j                         }|t        g ddddd	t	        d
      z   z  ddt	        d
      z   z  gg dg dg      t        dt        z  | z  dddgddt        z  | z  ddgdd| dt        z  dz  t	        d
      t        z  dz  z   z  dgddd| t	        d
       t        z  dz  dt        z  dz  z
  z  gg      fk(  sJ y )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   rK   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]	^ ^ ^ ^r9   c                  Z   t        d      j                         j                  d      } | j                         }|d   ddt	        dt        d      z
  gdgdgg      gfk(  sJ |d   ddt	        dt        d      z   gdgdgg      gfk(  sJ |d   t         dt	        dgdgdgg      gfk(  sJ t        d      j                         j                  d      } | j                         }|d   ddt	        dgdgdgdgg      gfk(  sJ |d   ddt	        dgdgdgdgg      t	        dgdgdgdgg      gfk(  sJ |d   t         dt	        dgdgdgdgg      gfk(  sJ t        d	      j                         j                  d      } | j                         }|d   ddt	        dt        d	      z
  gdgdgdgdgg      gfk(  sJ |d   ddt	        t        d      dz  t        d	      dz  z   gdgdgdgdgg      t	        t        d      dz  t        d	      dz  z   gdgdgdgdgg      gfk(  sJ y )
Nr   T)complexr   r%   r   r$   r)   r*   )r   as_explicitexpandrc   r   r
   r   r   )r   rc   s     r7   test_issue_20275r'    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:	;	=   r9   c                  f    t        dd      } t        g dd| dgdd| gg      }|j                  J y )Nrq   T)nonzeror  r   )r   r   r  )rq   rx   s     r7   test_issue_20752r*    s=    T"A	Aq!9q!Qi01A%%---r9   c                     dgdz  dgz   x} }g d}|j                         }d|d<   d }g }t        d      D ]$  }|j                   |||       |||      z          & t        d      D ]$  }|j                   |||       || |      z          & t        t	        |      j                         j                               d	k(  sJ y )
Nr      r   )r$   r   r   r   r   r   r   r   r   r   r   r   r$   r-   c                     | |d  | d | z   S r3   rO   )r_   rE   s     r7   rotatez test_issue_25282.<locals>.rotate  s    uq!u}r9   r:   r;   )copyrf   appendsumr   rN   r   )ddsddsssr.  matrE   s          r7   test_issue_25282r7    s    cBh!nB	-B	BBqE C2Y 2

6"a=6"a=0122Y 2

6"a=6"a=012 vc{$$&--/0B666r9   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   ry   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r"  r'  r*  r7  rO   r9   r7   <module>rF     s     3 3 / 4 9 ? & " . G 2 , 4 % +{N|!  ! !#<$00 F$ F$R0	4-:`;:$^*B:.
^-`.7r9   