
    \h                     8   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
  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  S S
KJrJr  S SKJr  \" / SQ/ SQ/ SQ/5      r\" / SQ/ SQ/ SQ/5      r\" \" S5      5      rS rS rS rS r S r!S r"S r#S r$S r%S r&g)    )product)Equality
Unequality)S)sympify)	integrate)Matrixeyezeros)ImmutableMatrix)SparseMatrix)ImmutableDenseMatrixImmutableSparseMatrix)xy)raises)                  )      	   r   c                      [         R                  [        R                  s=:X  a  S:X  d   e   e[         S   [        S   s=:X  a  S:X  d   e   e[         S   [        S   s=:X  a  S:X  d   e   eg )N)r   r   )r   r   r   r   r   r   )IMshapeISM     [/var/www/auris/envauris/lib/python3.13/site-packages/sympy/matrices/tests/test_immutable.pytest_creationr%      se    88syy*F*****d8s4y%A%%%%%d8s4y%A%%%%%r#   c                      [        [        5         S[        S'   S S S 5        [        [        5         S[        S'   S S S 5        g ! , (       d  f       N0= f! , (       d  f       g = f)Nr   r   )r   	TypeErrorr   r!   r"   r#   r$   test_immutabilityr(      sA    			4 
			D	 
	 
			s   
A
A
A
A#c                     [         SS S 24   [        / SQ/5      :X  d   e[         S S2S S24   [        SS/SS//5      :X  d   e[        SS S 24   [        / SQ/5      :X  d   e[        S S2S S24   [        SS/SS//5      :X  d   eg )Nr   r   r   r   r   )r   r   r!   r   r"   r#   r$   test_slicingr*   !   s    ad8+YK8888bqb"1"f:-1v1v.>????q!t9-yk::::rr2A2v;/!Q!Q0@AAAAr#   c                  p   [        SS/SS//5      n [        SS/[        S//5      n[        [        * [        [        -  /[        [        -   * [        S-  //5      nUR                  [        S5      U :X  d   e[        U-  R                  [        S5      SU -  :X  d   e[        [	        S5      -  U-   R                  [        S5      S[	        S5      -  U -   :X  d   eUR                  [        S/[        S//5      U :X  d   eUR                  [        S4[        S4/5      U :X  d   eUR                  [        S[        S05      U :X  d   eUR                  [        [        S-
  [        [        S-
  0SS9[        S[        -
  [        S-
  [        S-
  -  /S[        -
  [        -
  [        S-
  S-  //5      :X  d   eg )	Nr   r   r   r   T)simultaneous)r   r   r   subsr
   )ABCs      r$   	test_subsr3   (   s   !Q!Q()A!Q!Q()A1"acq1uXq!t$456A66!Q<1aC::aqs"""c!fHqLq!$#a&144466Ar7QG$%***66Ar7QG$%***661b!R.!Q&&&661a!eQA&T6:!a%!a%!a%1AEAIAz3JKLM M Mr#   c                     SS/SS//n [        U 5      n[        U5      UR                  5       s=:X  a  [        U 5      :X  d   e   eSSSSS.n [	        SSU 5      n[        U5      UR                  5       s=:X  a  [        SSU 5      :X  d   e   eg )Nr   r   r   r   ))r   r   )r   r   )r   r   )r   r   )r	   r   as_immutabler   r   r   )dataXs     r$   test_as_immutabler8   6   s    FQFDtA1:)B_T-BBBBBBq!Q7DQ4 A1:)N-B1a-NNNNNNr#   c                     [        SS/SS//5      n [        S/S//5      nU R                  5       u  p#[        U5      [        U5      4[         [         4:X  d   e[        U R                  U5      5      [         :X  d   e[        U R	                  U5      5      [         :X  d   e[        SS/SS//5      n U R
                  U :X  d   eU R                  (       d   e[        U R                  5       5      [         :X  d   eU R                  5       u  pE[        U5      [        U5      4[         [         4:X  d   e[        SS/SS//5      n U R                  5       (       d   eU R                  5       S:X  d   eU R                  S5      S:X  d   e[        U R                  5       S   S   S   5      [         :X  d   e[        [        SS5      R                  5       R                  5       S   5      [         :X  d   e[        SS/SS//5      n [        U R!                  U5      5      [         :X  d   e[        U R
                  R#                  U5      5      [         :X  d   e[        U R%                  SS5      5      [         :X  d   eg )	Nr   r   r   r   r   r   r   )r   QRdecompositiontypeLUsolveQRsolveTis_symmetriccholeskyLDLdecompositionis_diagonalizabledetnorm
eigenvectsr   r5   	nullspacelower_triangular_solveupper_triangular_solveminor_submatrix)r7   YqrLDs         r$   test_function_return_typesrP   @   s/    	!Q!Q()A!qc
#ADAGT!W/?!CCCC		!000		!000!Q!Q()A33!8O8>>>

000DAGT!W/?!CCCC!Q!Q()A    557b==66!9>>q!!$Q'(O;;;a((*446q9:oMMM!Q!Q()A((+,???**1-./AAA!!!Q'(O;;;r#   c                  X   [        [        S5      5      n [        SS[        S5      5      n[        X-   [         5      (       d   e[        X-  [         5      (       d   e[        U S-  [         5      (       d   e[        SU -  [         5      (       d   e[        US-  [         5      (       d   eg )Nr   r   r   )r   r
   range
isinstance)r7   r0   s     r$   test_immutable_evaluationrT   f   s    AA1eAh'Aae_----ae_----a!e_----a!e_----adO,,,,r#   c                  H    [        SSS 5      R                  5       S:X  d   eg )Nr   c                 
    X-   $ )Nr"   )ijs     r$   <lambda>!test_deterimant.<locals>.<lambda>q   s    aer#   r   )r   rD   r"   r#   r$   test_deterimantr[   p   s#    1a!3488:a???r#   c                     [        [        [        5      [        R                  L d   e[	        [        [        5      [        R
                  L d   e[        [        [        R                  SS5      5      [        R
                  L d   e[	        [        [        R                  SS5      5      [        R                  L d   e[        [        S5      [        R
                  L d   e[	        [        S5      [        R                  L d   e[        [        [        /5      n [        U [        5      [        R
                  L d   e[	        U [        5      [        R                  L d   e[        X R                  [        S5      5      R                  [        S5      [        R                  L d   e[	        X R                  [        S5      5      R                  [        S5      [        R
                  L d   e[        X R                  [        S5      5      R                  [        S5      [        R
                  L d   e[	        X R                  [        S5      5      R                  [        S5      [        R                  L d   eg )Nr   r   r   )
r   r   r   truer   falser/   r   r   r   )Ms    r$   test_Equalityr`   t   s   Bqvv%%%b"(((B1&!''111b"''!Q-(AFF222B?agg%%%b!&&&AAAr?agg%%%a&&&Avva|$))!Q/166999a1&++Aq1QWW<<<Avva|$))!Q/177:::a1&++Aq1QVV;;;r#   c            	         ^  [        [        [        5      m T R                  [        R                  :X  d   e[	        U 4S j[        [        S5      [        S5      5       5       5      (       d   eg )Nc              3   Z   >#    U  H   u  pTX4   S U-   SU-  -   [         -  :H  v   M"     g7f)r   r   N)r   ).0rW   rX   intIMs      r$   	<genexpr>!test_integrate.<locals>.<genexpr>   s5      -+ 37!uQT{q1uqs{Ao-+s   (+r   )r   r   r   r    allr   rR   )rd   s   @r$   test_integraterh      sX    b!E;;"((""" -a%(+- - - - -r#   N)'	itertoolsr   sympy.core.relationalr   r   sympy.core.singletonr   sympy.core.sympifyr   sympy.integrals.integralsr   sympy.matrices.denser	   r
   r   sympy.matrices.immutabler   sympy.matricesr   r   r   	sympy.abcr   r   sympy.testing.pytestr   r   r!   ieyer%   r(   r*   r3   r8   rP   rT   r[   r`   rh   r"   r#   r$   <module>rt      s     8 " & / 5 5 4 '0  '9i;<Y	9=>CF#&BMO<L-@< -r#   