
    \hX%                     n   S SK r S SKrS SKJr  S SK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Jr  S SKJrJrJr  S S	KJr  S S
KJr  S SKJrJr  \R6                  R9                  S\R:                  \R<                  \R>                  \R@                  \RB                  /5      \R6                  R9                  S\" 5       S4\" S //5      S 4\" S//5      S4/5      S 5       5       r"\R6                  R9                  S/ SQ5      \R6                  R9                  S\" S5      S4\" \S4\S\-  445      S\-  \-  \-
  4\" S5      S4\" S5      S4\" S5      S 4\" S5      S4\" S5      S4\" S5      S 4\" S5      S4\" S 5      S!4\" S"5      S#4\" S$5      S%4\" \\\4S&\\\445      \S-  \\-  -
  4/5      S' 5       5       r#S( r$S) r%\R6                  R9                  S/ S*Q5      \R6                  R9                  S\" S5      S4\" S"5      S#4/5      S+ 5       5       r&S, r'S- r(S. r)S/ r*S0 r+S1 r,S2 r-S3 r.g)4    N)I)Rational)Symbolsymbols)sqrt)Poly)Matrixeyeones)xyz)raises)NonSquareMatrixError)	factorialsubfactorialmethodzM, sol      c                      U " U5      U:X  d   eg N r   Msols      ]/var/www/auris/envauris/lib/python3.13/site-packages/sympy/matrices/tests/test_determinant.pytest_eval_determinantr      s     !9    )	domain-gebareiss	berkowitzbirdlaplacelu))   )   r&   ))r   r   r   r   r&      )r   r+      ))r+   r   r   )r-   r   r-   r&   r   r-   r   r   r   r   r+      i)r   r&   r+   r0   )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+   i  ))r+   r   r   r   )r-   r   r   r   r.   r/   <   ))r   r   r   r   )r   r   r   r   )r3   r4   r5   r   r7   )r<   r=   r>   r?   )r   r   r   r   r+      ))r   r   r   r&   r6   )r&   r   r   r   r0   )r&   r   r   r)   r+   )r+   r&   r)   r   r'   )r   r   r   r   r,   i))r(   r&   r+   r0   r   )r   r+   r0   r   )r   r&   r%   r0   r   )r   r&   r+   r-   r   )r   r&   r+   r0   r)   i-  ))r&   r2   r)   r+   r&   )r   r   r   r   r   )r-   r   r2   r   r&   )r%   r-   r0   r   r+   )r   r   r   r   r   {   )r   r   r   c                 .    UR                  U S9U:X  d   eg Nr   detr   s      r   test_determinantrI      s    p 5553&&&r   c                     ^ [        S5      mU4S jn U " S5      R                  5       S:X  d   eU " S5      R                  5       S:X  d   eU " S5      R                  5       S:X  d   eg )Nac                    > [        [        U 5       VVs/ s H$  n[        U 5       Vs/ s H
  o"TU-  -   PM     snPM&     snn5      $ s  snf s  snnf r   )r	   range)njirK   s      r   <lambda>"test_issue_13835.<locals>.<lambda>Z   sJ    &#(8-#+a -2!H5Hqqs7H5#+- .5 -s   A
AA
A
r   r   r,   r2   )r   rH   )r   rK   s    @r   test_issue_13835rS   X   sU    A	.AQ488:??Q488:??Q488:??r   c                     [        SS[        -  S[        -  S/S[        -  SSS[        -  /S[        -  SSS[        -  -   S[        -  /SS[        -  S[        -  SS[        -  -   //5      n U R                  5       n[        R                  " [        UR                  5       5      5      nX[        S5      -  -
  R                  5       S:X  d   eg )Nr   r4   r   r&   r0   )	r	   r   	eigenvalsrandomchoicelistkeysr
   rH   )r   evtest_evs      r   test_issue_14517r\   a   s    r!t1A&	A!1A&	A!Q1WA&r!t1a!A#g&	( 	)A
 
BmmDO,GA##%***r   )bareisdet_ludet_LUBareisBAREISS	BERKOWITZLUc                 .    UR                  U S9U:X  d   eg rE   rG   r   s      r   test_legacy_detre   m   s      5553&&&r   c                     [        X S 5      $ )Nc                     [        X:H  5      $ r   )intrP   rO   s     r   rQ   !eye_Determinant.<locals>.<lambda>   s
    S[r   r	   rN   s    r   eye_Determinantrm      s    !011r   c                     [        X S 5      $ )Nc                     gNr   r   ri   s     r   rQ   #zeros_Determinant.<locals>.<lambda>   s    Qr   rk   rl   s    r   zeros_Determinantrr      s    !''r   c                    ^^ [        SS/ SQ5      m[        [        U4S j5        [        S5      n [	        S5      nU R
                  " 5       S:X  d   eUR                  5       S:X  d   e[        S5      n[        SS/ 5      m[        SSS/5      n[        SS/ S	Q5      n[        SS/ S
Q5      n[        SSUSSSSSSSSSSSSSSS/5      mSSKJnJ	nJ
nJn	Jn
Jn  [        SSXiU
SX{SSU/	5      n[        SSUSSXSXU/	5      n[        SSUS-  SSXbS-  SXxUS-  /	5      nTR                  5       S:X  d   eUR                  5       S:X  d   eUR                  5       S:X  d   eUR                  5       S:X  d   eTR                  5       SU-  S-
  :X  d   eTR                  SS9SU-  S-
  :X  d   eTR                  SS9SU-  S-
  :X  d   eTR                  SS9SU-  S-
  :X  d   eUR                  5       Xg-  U-  :X  d   eUR                  5       Xg-  U-  :X  d   eUR                  5       S:X  d   e[        [        U4S j5        g )Nr&   r+   r   r&   r+   r0   r   r,   c                  $   > T R                  5       $ r   rG   rK   s   r   rQ   test_det.<locals>.<lambda>   s    r   r   r   r   r   r1   )	r   r&   r+   r0   r   r,   r2   r'   r'   r0   r,   r2   r3   r4   r5   r6   r8   r9   )rP   rO   klmrN   r)   r-      r   rF   r    r!   c                  "   > T R                  SS9$ )Ntest)
iszerofuncrG   es   r   rQ   rw      s    quuu7r   )r	   r   r   rr   rm   rH   r   	sympy.abcrP   rO   rx   ry   rz   rN   
ValueError)r   eyr   bcdrP   rO   rx   ry   rz   rN   fghrK   r   s                  @@r   test_detr      sO   q!'(A
1!A		B557a<<668q==sAq!RAq!aSAq!\"Aq!01Aq!	
Aq!Q1aAr2r2r2>	@A**q!aAq!1a01Aq!aAqQa01Aq!adAq!UAqQU;<A 557a<<557a<<557b==557a<<557acBh555$!b00055	5"acBh...555$!b000557ac!e557ac!e557a<<
:78r   c                     [        / SQ/ SQ/ SQ/5      n U R                  5       S:X  d   e[        SS5       H  n[        X5      R                  5       [        X5      R                  R                  5       s=:X  a  [        U5      :X  d   e   e[        X5      [        U5      -
  R                  5       [        X5      [        U5      -
  R                  R                  5       s=:X  a  [        U5      :X  a  M   e   e   [        S5      u  p#pEn[        X#XEU/5      n U R                  5       U R                  R                  5       s=:X  a  X#-   U-   U-   U-   :X  d   e   eg )Nr*   r0   r   r,   r2   r'   r3   i  r   r6   za_1 a_2 a_3 a_4 a_5)	r	   perrM   r   Tr   r
   r   r   )r   rP   a1a2a3a4a5s          r   test_permanentr      s   	9i01A557c>>1b\Az~~4:<<#3#3#5E1EEEEEQ
3q6!&&(T!ZA->,A,A,E,E,GZ<XY?ZZZZZ  !!67BBB#$A557accggi927R<"#4r#999999r   c                    ^ [        S5      n [        SSU SSSSSSSSS	S
SSSSS/5      n[        / SQSSU -  S-
  SU -  S-
  SU -  S-   /SSU -  S-   SU -  S-   SU -  S-
  /SSU -  S-
  SU -  SU -  S-   //5      nUR                  5       U:X  d   eUR                  SS9U:X  d   eUR                  SS9U:X  d   eUR                  SS9U:X  d   eUR                  S S9U:X  d   e[        SS/ S!Q5      m[        [        U4S" j5        g )#Nr   r0   r   r&   r+   r   r,   r2   r3   r4   r5   r6   r8   r9   )r0   r0   r   L   D   r'   rB   r{         0   H   r    rF   r!   r"   r#   rt   c                  $   > T R                  5       $ r   )adjugaterv   s   r   rQ   test_adjugate.<locals>.<lambda>   s    r   )r   r	   r   r   r   )r   r   adjrK   s      @r   test_adjugater      sP   sAq!	
Aq!Q1aAr2r2r2>	@A 0s1urzBqD1HbdRi0	r!tcz3q519qsRx01r	1bdRi0	2 3C
 ::<3::Y:'3...::[:)S000::V:$+++::Y:'3...q!'(A
!56r   c            
         [         n [        SS/ SQ5      n[        SS/ SQ5      nUR                  5       [        S5      :X  d   eUR	                  U5      [        SSU " S5      S-  U " S5      S-  U " S	5      S
-  /5      :X  d   e[        R
                  " SS5      [        SSSS/5      :X  d   e[        SS5      [        SSSS/5      :X  d   eUR                  5       U:X  d   e[        S5      [        S5      R                  5       :X  d   e[        / SQ/ SQ/ SQ/5      nUR                  5       [        / SQ/ SQ/ SQ/5      :X  d   e[        / SQ/ SQ/ SQ/5      nUR                  5       [        / SQ/ SQ/ SQ/5      :X  d   eg )Nr   r+   r*   )r+   r0   r   r9   '      4   r8   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	   normr   projectzerosr   copyr
   cofactor_matrix)Rv1v2r}   s       r   	test_utilr      sg   A	1i	 B	1i	 B779R   ::b>VAq1R58QrU2XquQw*GHHHH<<11q!f!55551:1q!f----779??q6SV++----9i34D!k:678 8 89i34D![+678 8 8r   c                  p  ^^ [        S5      n [        SSU SSSSSSSSS	S
SSSSS/5      m[        U SS// SQ/ SQ/5      n[        / SQSSU -  S-
  SU -  S-   SU -  S-
  /SSU -  S-
  SU -  S-   SU -  /SSU -  S-   SU -  S-
  SU -  S-   //5      n[        U SS// SQ/ SQ/5      nTR                  SS5      U:X  d   eTR                  S S 5      U:X  d   eTR                  SS5      S!U -  S-
  :X  d   eTR	                  SS5      SU -  S-   :X  d   eTR                  5       U:X  d   eTR                  S"S#9U:X  d   eTR                  S$S#9U:X  d   eTR                  S%S#9U:X  d   eTR                  S&S#9U:X  d   e[        [        U4S' j5        [        [        U4S( j5        [        [        U4S) j5        [        SS/ S*Q5      mTR                  SS5      [        SS//5      :X  d   e[        [        S+ 5        [        [        U4S, j5        [        [        U4S- j5        [        [        U4S. j5        g )/Nr   r0   r   r&   r+   r   r,   r2   r3   r4   r5   r6   r8   r9   )r&   r3   r5   )r6   r8   r9   )r0   r   r   r   r   r   r   r   r   rB   r   r'   r   r   r{   r   r   )r&   r3   r4   r)   ir    rF   r!   r"   r#   c                  (   > T R                  SS5      $ Nr0   r   cofactorr   s   r   rQ   *test_cofactor_and_minors.<locals>.<lambda>   s    qzz!Q/r   c                  (   > T R                  SS5      $ r   minorr   s   r   rQ   r      s    qwwq!}r   c                  (   > T R                  SS5      $ r   )minor_submatrixr   s   r   rQ   r      s    q00A6r   rt   c                  <    [        SS/ 5      R                  SS5      $ rp   )r	   r   r   r   r   rQ   r      s    q!R((A.r   c                  (   > T R                  SS5      $ rp   r   rv   s   r   rQ   r     s    Aq)9r   c                  (   > T R                  SS5      $ rp   r   rv   s   r   rQ   r     s    Ar   c                  $   > T R                  5       $ r   )r   rv   s   r   rQ   r     s    ):):)<r   )	r   r	   r   r   r   r   r   r   r   )r   rz   cmsubrK   r   s       @@r   test_cofactor_and_minorsr      s   sAq!	
Aq!Q1aAr2r2r2>	@A 	
a! 	A 
/	SURZARTBY/
r!tax#a%!)1Q3/
bdRi1Q38RTBY/	1 
2B
 AJ C
 Q"a'''R$+++771a=CECK'''::ar!tcz)))"$$$I."444K0B666F+r111I."444
:/0
:,-
:67q!'(AQ"fq!fX&6666
: / 0
!9:
!67
!<=r   c                     [        S5      [        S5      p[        S5      [        S5      p2SSKJnJnJn  [        SS/ SQ5      n[        S5      R                  U 5      [        U S	-
  S-  U 5      :X  d   e[        S5      R                  U5      [        US	-
  S-  U5      :X  d   eUR                  5       [        U S-  S
U S-  -  -
  SU -  -
  U 5      :X  d   e[        [        S 5        [        SS/ SQ5      nUR                  5       [        U S-  U 5      :X  d   e[        SS/ SQ5      nUR                  5       [        U S-  SU S-  -  -
  SU S-  -  -   SU -  -
  S-   U 5      :X  d   e[        SSU SSXASXVU/	5      nUR                  5       [        US-  X-   U-   US-  -  -
  X0U-  X-  -   X-  -   -  -   X-  U-  -
  U5      :X  d   eg )Nr   r   r   tr   )rK   r   r   r+   )	r   r&   r+   r0   r   r,   r2   r'   r3   r   r:   r&      c                  <    [        S/S//5      R                  5       $ )Nr   r&   )r	   charpolyr   r   r   rQ   test_charpoly.<locals>.<lambda>  s    !qc
);)D)D)Fr   r0   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )-   r   r   r   r      r   r   r   r   W   r   r   r   r   r6      ik"  i i| )r   r   rK   r   r   r	   rm   r   r   r   r   )	r   r   r   r   rK   r   r   rz   rN   s	            r   test_charpolyr     s   #;sq#;sqq!01A1&&q)T1q51*a-@@@@1&&q)T1q51*a-@@@@::<41r!Q$wA 5q9999
!FGq!EFA::<41a=(((q!IJA::<41s1a4x$q!t) ;fQh F PRSTTTTq!aAqQa01A::<41Aq!t| 3a1QSo EA MqQQQQr   )/rV   pytestsympy.core.numbersr   r   sympy.core.symbolr   r   (sympy.functions.elementary.miscellaneousr   sympy.polys.polytoolsr   sympy.matricesr	   r
   r   r   r   r   r   sympy.testing.pytestr   sympy.matrices.exceptionsr   (sympy.functions.combinatorial.factorialsr   r   markparametrize_eval_det_bareiss_eval_det_berkowitz_eval_det_bird_eval_det_laplace_eval_det_lur   rI   rS   r\   re   rm   rr   r   r   r   r   r   r   r   r   r   <module>r      s?       ' / 9 & , ,   ' : L 
f88
633V5H5H$ 
 XqMaSE]AaSE]A$ 
  $B C  qAh!A#h Q3q519&      ! #'(  ! " $%&    ! #&	'
    ! #%&  ! " $%&    ! #&	'
  # $ &)	*
  % & (-	.
  # $ &)	*
 q!Qi!Qi qD1Q3J(c4$ 4j'k4Cn'	+  $J K   ! #'(  % & (-	.
$ 
'
K'2("9H	:7&8&(>TRr   