
    gX                     n   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# Z7d$S )%    )N)FloatIRational)Symbolsymbols)Abs)sqrt)cossin)eyeMatrix)S)raisesXFAIL)NonSquareMatrixErrorMatrixError)DFTsimplify)ImmutableMatrix)slow)allclosec                     t           } t          j        d          }|                    d          t          j        dik    sJ |                    d          g dk    sJ |                                ddt          g d          t          g d          t          g d	          gfgk    s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          }|                                dt          j        z  dt          j         dt          j        dik    s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 |                                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          }|                                |dt          j        dik    sJ t          ddgddgg          }|                                ddt          ddddg          gfgk    s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fdt          t                              D             }|                                fd t          t                              D             }t          |          t          |          k    sJ t          d!d"          }	t          t          |	          t          |	z  gt           |	z  t          |	          gg          }|                                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 |                                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#          }|                    d$          |_        t#          d% |j        d         d         d         D                       dk    sJ |                    d$          |_        t#          d& |j        d         d         d         D                       dk    sJ t          t          dd'          dgddgg          }|                                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                                           i k    sJ t          g                               d          g k    sJ t          g                                           g k    sJ t'          t(          d+            t'          t(          d,            t'          t(          d-            t'          t(          d.            t'          t(          d/            t'          t(          d0            t          ddgdd'gg          }
t+          |
                    dd1          t,                    sJ t+          |
                    dd1          t.                    sJ t+          |
                    d2 d1          t,                    sJ t+          |
                    d3 d1          t.                    sJ d S )4N   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     [/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/matrices/tests/test_eigen.pyNSztest_eigen.<locals>.NSH   s    1Q77||          r+   )r   r&   r   c                     g | ]Q} |         d          d           |         d         d          fd|         d         d          D             fRS )r   r$   r   c                 (    g | ]} |d           S r$    .0jr8   s     r7   
<listcomp>z)test_eigen.<locals>.<listcomp>.<listcomp>R   #    &&&aAq&&&r9   r?   rA   ir8   rs     r7   rC   ztest_eigen.<locals>.<listcomp>Q   }     
@ 
@ 
@,- 2ad1gq>>22ad1gq>>&&&&1Q471:&&&( 
@ 
@ 
@r9   c                     g | ]Q} |         d          d           |         d         d          fd|         d         d          D             fRS )r   r$   r   c                 (    g | ]} |d           S r>   r?   r@   s     r7   rC   z)test_eigen.<locals>.<listcomp>.<listcomp>U   rD   r9   r?   rE   s     r7   rC   ztest_eigen.<locals>.<listcomp>T   rH   r9   epsreal)	r   r$   r   r   r   r   r$   r$   r   c              3   $   K   | ]}|j         V  d S r3   qrA   rF   s     r7   	<genexpr>ztest_eigen.<locals>.<genexpr>k   $      33qqs333333r9   c              3   $   K   | ]}|j         V  d S r3   rP   rR   s     r7   rS   ztest_eigen.<locals>.<genexpr>m   rT   r9   r)   r*   I   c                  V    t          ddgddgddgg                                          S )Nr   r$   r   r)   r   	eigenvalsr?   r9   r7   <lambda>ztest_eigen.<locals>.<lambda>{   -    6Aq6Aq6Aq6233==?? r9   c                  V    t          ddgddgddgg                                          S )Nr   r   r   r)   r*   r+   rY   r?   r9   r7   r[   ztest_eigen.<locals>.<lambda>}   r\   r9   c                  P    t          g dg dg                                          S )Nr(   r   r*   r+   rY   r?   r9   r7   r[   ztest_eigen.<locals>.<lambda>   '    6999iii011;;== r9   c                  P    t          g dg dg                                          S )Nr    r)   r*   r   rY   r?   r9   r7   r[   ztest_eigen.<locals>.<lambda>   r`   r9   c                  T    t          g dg dg                              d          S )Nr(   r_   Ferror_when_incompleterY   r?   r9   r7   r[   ztest_eigen.<locals>.<lambda>   3    6999iii011;;', < . . r9   c                  T    t          g dg dg                              d          S )Nr    rb   Frd   rY   r?   r9   r7   r[   ztest_eigen.<locals>.<lambda>   rf   r9   )r   r   c                     | S r3   r?   xs    r7   r[   ztest_eigen.<locals>.<lambda>       Q r9   c                     | S r3   r?   ri   s    r7   r[   ztest_eigen.<locals>.<lambda>   rk   r9   )r   r   r   rZ   r   One
eigenvectsleft_eigenvectsZeror   rangelensortedabsr   r	   _eigenvectsmaxr
   r   r   
isinstancedictlist)RMr'   bcdr5   r1r2rK   mr8   rG   s              @@r7   
test_eigenr      s
   A
1A;;;&&15!*4444;;;%%2222<<>>
Q			""			""			""$ 
% 	&' ' ' '
 
Q$$$$$$& 
' 	() ) ) )
 								 	 	A ;;==QquWa!%AFA>>>>><<>>VJJJ''()VJJJ''()VQQq!WWaa1ggq12234	
    VZZZL))*+FKKK=))*+FIII;''()	
    	sAAA 	 	A ;;==Q15!,,,,,BQ 	 	A<<>>1vaRG'<'<&=>?@@@@QFQF8,<,<+=$>#?@@@@			999iii011A	"aA	"aa1gg+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 8 9 	:!fZZZ(()*	
QqS!frBAaCL0A!GQ;?!Q1W+M 2q1Q3w</2A7 8 8 9 	:		A
@ 
@ 
@ 
@ 
@16s1vv
@ 
@ 
@B	A
@ 
@ 
@ 
@ 
@16s1vv
@ 
@ 
@B"::####
T
"
"
"CS1S5%C3s88%' 	( 	(A <<>>VqbfSXXo.45567Cj!v#c#hh'7!&=>>@B	
    FQsU3s88^Q/01123s3xxZVqbfSXXoq%9$:;;<=	
    	q!11122ALL%L00AM33AM!,Q/233333a7777LL$L//AM33AM!,Q/233333q8888!Q#aV,--A<<>>	!Q$r((1*	$a&DHH9Q;!Q3O2PSTRU1V*W*W)XY	!Q$r((1*	$a&8B??T"XXaZ3O2PSTRU1V*W*W)XY[ [ [ [ [
 "::!!R''''"::.."4444"::  ""b(((( ??A A A
??A A A
==? ? ?
==? ? ?
. ./ / / . ./ / / 	AA  Aakk4%k@@$GGGGGakk4$k??FFFFFakk;;kGGNNNNNakk;;kFFMMMMMMMr9   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}|                     dd	          }t          |          }d
 |D             }t          |          }t          ||          D ]\  }}t          ||z
            dk     sJ d S )N)r   333333?r   )r   ?r   )r   r   r   r*   r)   i     T)rationalr   c                 6    g | ]}|                                 S r?   )evalfrA   rj   s     r7   rC   z(test_float_eigenvals.<locals>.<listcomp>   s     (((Qqwwyy(((r9   g&.>)	r   r   r
   r   rp   rZ   rs   ziprt   )r   evalsn_evalss_evalsrj   ys         r7   test_float_eigenvalsr      s    \\\<<<899AAc2%S		"x1~~%	E
 kk4$k77GWooG((%(((GWooGGW%% ! !11Q3xx&     ! !r9   c                      t          dddddt          g          t          t          fd                               d          rJ t          t
          fd                               d          \  } }d S )Nr$   r   r   c                  .                          d          S NT)is_diagonalizabler   s   r7   r[   z"test_eigen_vects.<locals>.<lambda>   s    (;(;D(A(A r9   Tc                  .                          d          S r   diagonalizer   s   r7   r[   z"test_eigen_vects.<locals>.<lambda>   s    d 3 3 r9   )r   r   r   NotImplementedErrorr   r   r   )PDr   s     @r7   test_eigen_vectsr      s    q!aAq\""A
 A A A ABBB ""4(((((
;3333444]]4  FQr9   c                  B   t          d          \  } }dd t                    D             }fdt                    D             }t                    D ]}||         ||         |<   t          |          }|                                }t	          |          k    sJ t                    D ]}|||                  dk    sJ |                    d          }t          |          t          |          k    sJ t          | ddgd|dgd	d
| gg          }|                                }|| d	|dik    sJ |                    d          }t	          |          d
k    sJ |                    |           d	k    sJ |                    |          dk    sJ d S )Nzx y   c                 2    g | ]}t          d |z            S )zx%s)r   rR   s     r7   rC   z#test_issue_8240.<locals>.<listcomp>   s$    >>>&++>>>r9   c                 B    g | ]}d  t                    D             S )c                     g | ]}d S )r   r?   rR   s     r7   rC   z.test_issue_8240.<locals>.<listcomp>.<listcomp>   s    			!			r9   )rq   )rA   rB   r6   s     r7   rC   z#test_issue_8240.<locals>.<listcomp>   s.    1111		U1XX			111r9   r   Tr   r   r$   r   )r   rq   r   rZ   rr   setcount)rj   r   diagonal_variablesr{   rF   rZ   r6   s         @r7   test_issue_8240r      s   5>>DAqA>>U1XX>>>1111a111A1XX ( ($Q'!Qq		AIy>>Q1XX 5 5+A./144444T**Iy>>S!3444444 	Aq	Aq!9q!Qi011AIAq!$$$$T**Iy>>Q??1""""??1""""""r9   c                  "   t          g dg dg dg          } |                                 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          }|                                sJ d S )Nr#   r    r   r$   r   r   r   r   r   rW   r   rW   rW   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   rZ   r   rm   rp   )r{   r   s     r7   test_eigenvalsr      s    							 	 	A ;;==QquWa!%AFA>>>>> 	 	A ;;==r9   c                      t          g dg dg dg          } |                                 }|D ]5\  }}}t          |          dk    sJ | |d         z  ||d         z  k    sJ 6d S Nr#   r    r   r   r   )r   rn   rr   r{   vecsvalmultvec_lists        r7   test_eigenvectsr      s    							 	 	A <<>>D# 0 0T88}}!!!!!}HQK/////0 0r9   c                      t          g dg dg dg          } |                                 }|D ]5\  }}}t          |          dk    sJ |d         | z  ||d         z  k    sJ 6d S r   )r   ro   rr   r   s        r7   test_left_eigenvectsr      s    							 	 	A D# 0 0T88}}!!!!{1}HQK/////0 0r9   c                     t          g dg dg dg          } |                                 | k    sJ |                     d          | k    sJ |                                 | k    sJ |                                 | | | fk    sJ |                     d          | | | fk    sJ |                                 | k    sJ dd l}t	          d          D ]N}g }d}d}t	          ||z            D ]}|                    dd	          }||gz   }t          |||          } t          |           } |j                    \  }	}
}|                                 \  }}}|                                 } |j                    }|	|
z  |z  }||z  |z  }|
                                 |                                 |                                 |                                 |                                 |                                 |                     d          }|                     d          \  }}} |j        d          } |j        d          \  }}}||z  |z  }||z  |z  }|                                 |                                 |                                 |                                 |                                 |                                 | |k    sJ ||k    sJ ||k    sJ |
|k    sJ | |k    sJ ||k    sJ ||k    sJ ||k    sJ Pt	          d          D ]o}g }d}t	          ||z            D ]A}|                    dd	          }|                    dd	          } || t          z  z   }||gz   }Bt          |||          } t          |           } |j                    \  }	}
}|                                 \  }}}|                                 } |j                    }|	|
z  |z  }||z  |z  }|
                                 |                                 |                                 |                                 |                                 |                                 |                     d          }|                     d          \  }}} |j        d          } |j        d          \  }}}||z  |z  }||z  |z  }|                                 |                                 |                                 |                                 |                                 |                                 | |k    sJ ||k    sJ ||k    sJ |
|k    sJ | |k    sJ ||k    sJ ||k    sJ ||k    sJ qt          d
dt	          dd                    } | 	                    d           } |                                 d         |                                 k    sJ |                     d          d         |                     d          k    sJ |                                 \  }!}"}#|!|"z  |#z  | z
  }$t          t          |$                    dk     sJ d S )Nr    r!   r"   F)upperr   r$   i 6ei ʚ;   r-   r      c                      t          |           S r3   )r   )rF   s    r7   r[   z$test_bidiagonalize.<locals>.<lambda>p  s    eAhh r9   g-q=)r   bidiagonalizebidiagonal_decompositionrandomrq   randintr   r   r   	applyfuncrt   rv   )%r{   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sizerM   compr'   r|   r}   diffs%                                        r7   test_bidiagonalizer      s   							 	 	A ??!!!!???''1,,,,??!!!!%%''Aq!94444%%E%22q!Qi??????!!!!MMM1XX 7 7	sSy!! 	0 	0ANN;
;;E%/KK 3[))A/Q/11
B//11
B__Q_"Wr\"Wr\





ooEo**222??S#aoE***22???S#Ci#oCi#oBwwwwRxxxxBwwwwRxxxxCxxxxczzzzCxxxxczzzzz a 7 7td{## 	0 	0A>>+z::D>>+z::D4!8OE%/KK4{++A 0Q/11
B//11
B__Q_"Wr\"Wr\





ooEo**222??S#aoE***22???S#Ci#oCi#oBwwwwRxxxxBwwwwRxxxxCxxxxczzzzCxxxxczzzzzr1eAsmm$$A	&&''A%%''*aoo.?.?????%%E%2215u9U9UUUUU((**GAq!q519q=Ds4yy>>G######r9   c                     t          ddg d          t          t          fd                                           \  } }|                                sJ |t          t
           dgdt
          gg          k    sJ t          ddg d                                          \  } }t          d |                                D                       sJ t          d |                                 D                       sJ                     d	          \  }}||k    sJ t          g d
g dg dg dg                                          \  } }t          | |z  | z            sJ d S )Nr$   r   r%   r   r   c                  0                          d          S )NT
reals_onlyr   r   s   r7   r[   z"test_diagonalize.<locals>.<lambda>z  s     > > r9   r   )r         ?r   r   c              3   @   K   | ]}t          |t                    V  d S r3   rw   r   rA   r5   s     r7   rS   z#test_diagonalize.<locals>.<genexpr>  ,      88z!U##888888r9   c              3   @   K   | ]}t          |t                    V  d S r3   r   r   s     r7   rS   z#test_diagonalize.<locals>.<genexpr>  r   r9   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
;>>>>???==??DAq==??"aa      
 	q!^^^$$A==??DAq88QXXZZ8888888888QXXZZ88888888MMTM**EAr7777	''')9)9)9<<<H	J 	JA==??DAqAaC1r9   c                  ~   t          d          \  } }}t          dd| |||g          }|                                sJ |                                sJ t          ddg d                                          rJ t          ddg d          }|                                sJ |                    d          rJ d S )Nza b cr$   )r   r   r   r   r   Tr   )r   r   is_symmetricr   )r'   r|   r}   r   s       r7   test_is_diagonalizabler     s    gGAq!q!aAq\""A>>     aLLL));;=====q!]]]##A     ""d"3333333r9   c                  d   t          ddg d          t          t          fd           t          ddg d                                          \  } }|k    sJ t          ddg d                                          \  } }|k    sJ t          g dg d	g d
g dg          }|                                \  } }t	          | |z  |                                 z            |k    sJ t          dddg                                          t          dg          t          dg          fk    sJ t          dddg                              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                                          \  } }t          d | D                       sJ t          d |D                       sJ d S )Nr   r$   )rW   r   rW   r   r   
   c                  ,                                      S r3   jordan_formr   s   r7   r[   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   )rN   r$   r   r   )r   r   r$   r)   )r   r   rN   r$   r   F)calc_transformr   r   r   r   r   c                  ,                                      S r3   r   r   s   r7   r[   z"test_jordan_form.<locals>.<lambda>  s     r9   g      ?g      ?g      ?g      ?c              3   L   K   | ]}t          |t                    p|d k    V   dS r   Nr   r   s     r7   rS   z#test_jordan_form.<locals>.<genexpr>  5      99!z!U##-qAv999999r9   c              3   L   K   | ]}t          |t                    p|d k    V   dS r   r   r   s     r7   rS   z#test_jordan_form.<locals>.<genexpr>  r   r9   )	r   r   r   r   r   invr   r
   r   )r   JAr   s      @r7   test_jordan_formr    s   q!+++,,A
!8!8!8!8999 	q!    	 	A
 ==??DAq6666q!    	 	A
 ==??DAq6666            " 	# 	#A ==??DAqAaCK  A%%%%!Q((**vqc{{FA3KK.HHHHH!Q(((>>&!++MMMM 	   "3"3"3___oooWfWfWfghhA
;////000 	Q!78	Q	8: 	; 	;A ==??DAq99q9999999999q9999999999r9   c                     t          dd          } t          ddt          z  gddgg          }|                                ddgk    sJ t	          d          }| |d<   d	|d
<   |                                }t          |          d	dt          |           hk    sJ t          t          |           t          |           gt          |            t          |           gg          }d |                                D             }|t          j
        t          j
        gk    sJ t          ddgddgddgddgg          }|                                t          t          d          dz             t          dt          d          z
            gk    sJ |j                                        t          t          d          dz             t          dt          d          z
            ddgk    sJ d S )Nrj   TrL   r   r   r$   r   )r   r   r*   )r$   r$   c                 6    g | ]}|                                 S r?   )trigsimp)rA   svs     r7   rC   z(test_singular_values.<locals>.<listcomp>  s     888bBKKMM888r9   r)      r/   )r   r   r   singular_valuesr   r   r	   r   r   r   rm   r
   T)rj   r  valss      r7   test_singular_valuesr    s   sAAaC1a&!""A1a&((((AAAdGAdGDt99As1vv&&&&QQ CFF7CFF"3455A88A$5$5$7$7888DAE15>!!!!	
A	
A	
A	
A	
 	 	A 	d3ii"n		tBcN3345 5 5 53  	d3ii"n		tBcN33Q:; ; ; ; ; ;r9   c                  F    t          g dg dg dg          i k    du sJ d S )Nr#   r    r   F)r   r?   r9   r7   test___eq__r    sV    						   $$ $ $ $ $ $r9   c                  n   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 d S )N)r$   r%   r   )r%   r$   r%   )r   r%   r$   TFr*   r)   )r$   r%   r%   )r%   r%   r$   r   r$   r   r-   r'   )positiver|   )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'   r|   s      r7   test_definiter    s    	


KKK455A!T))))%----!U****%....?e####AA  A!T))))%----!U****%....?e#### 	[[[+++67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11A!T))))%----!U****%....?e####Aq	Aq!9q!Qi011A!U****%....!T))))%----?e####AA  A!U****%....!U****%....?d""""	4 	4 	4	2 	2 	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 d S )Nr   )"_is_positive_semidefinite_choleskyr  Tr*   r   Fr    )r   r   r%   r   )r)   r&   )r&   r   r.   )r"  r.      )r.   rW   r   )rW   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  s   GGGGGG			999iii011A--a00D8888			Aq#a%=1bdA,788A--a00E9999			999jjj122A--a00E9999AA  A--a00E9999 	[[[+++677A--a00D8888


JJJ			233A--a00D8888


KKK455A--a00D8888


IIIzzz233A--a00E999999r9   c                  n    t          g dg dg dg dg dg          } |                                 sJ d S )N)r*   rW   r$   )r&   r'  r   r$   r   )r&   r(  r'  r&   r"  )r,   r   r   r.   r&   )r)   r!  r   irN   )r   rn   )r  s    r7   test_issue_20582r)  h  s_     	 	A <<>>r9   c                  D   t          d          } t          g dg dg dg dg          }t           |z  | z                                  }|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 d S )Nt)r   r   r   r   )r   r   r$   r   )r   r$   r$   r   )r   r   r   r)   r   r   rN   r%      r)   r   )r   r   r   r   )r   r   r   r   rW   r$   r   )r   r   r   r   r
   )r+  Hr  s      r7   test_issue_19210r.  t  sz   sAmmm\\\<<<HIIA
a!  ""A@@@2rDHH}-q!d2hh,/?@@@@@@@	B C C EKT!V!QXYZRT!VQXYZ!Q1Qb!A(=%>XYZ!QDHH9Q;q=STUVSVWXSXCX@YZ	L\ E] E]	^ ^ ^ ^ ^ ^ ^r9   c                     t          d                                                              d          } |                                 }|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                                                              d          } |                                 }|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	                                                              d          } |                                 }|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 d S )
Nr   T)complexr   r%   r   r$   r)   r*   )r   as_explicitexpandrn   r   r
   r   r   )r  rn   s     r7   test_issue_20275r3    sj    	A##D#11AJa=
A	!d1gg+aS)	*	*+     a=	1	!d1gg+aS)	*	*+     a=	
A	!rdQC 	!	!"    
 	A##D#11AJa=
A	"sQC!%	&	&'     a=	1	!qcA3$	%	%vsQC!qc.B'C'CD     a=	
A	!rdQC!%	&	&'     	A##D#11AJa=
A	!d1gg+aS1#s3	4	45     a=	1	!A$$q&47719$%sQC!qc:	;	;	!A$$q&47719$%sQC!qc:	;	;	=      r9   c                  n    t          dd          } t          g dd| dgdd| gg          }|j        J d S )Nr|   T)nonzeror  r   )r   r   r  )r|   r   s     r7   test_issue_20752r6    sM    T"""A			Aq!9q!Qi011A%-----r9   c                     dgdz  dgz   x} }g d}|                                 }d|d<   d }g }t          d          D ].}|                     |||           |||          z              /t          d          D ].}|                     |||           || |          z              /t          t	          |                                                                                    d	k    sJ d S )
Nr      r   )r$   r   r   r   r   r   r   r   r   r   r   r   r$   r-   c                 ,    | |d          | d |         z   S r3   r?   )rj   rF   s     r7   rotatez test_issue_25282.<locals>.rotate  s    uq!u}r9   r:   r;   )copyrq   appendsumr   rZ   r   )ddsddsssr:  matrF   s          r7   test_issue_25282rC    s   cBh!nB	-	-	-B	BBqE   C2YY 2 2

66"a==66"a==011112YY 2 2

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