
    \h                         S SK Jr  S SKJrJrJrJr  S SKJrJ	r	  S SK
Jr  S SKJr  S SKJr  S SKJr  S SKJr  S S	KJr  \" S
5      r\" S5      rS rS rS rg)    )MatrixSymbol)DiagonalMatrix
DiagonalOf
DiagMatrixdiagonalize_vector)Qask)Symbol)KroneckerDelta)Matrix)MatMul)Identity)raisesnmc                    ^ [        S[        [        5      n [        U 5      mTR                  b   eTR
                  [        [        4:X  d   e[        S[        [        5      n [        U 5      mTR                  [        :X  d   eTR
                  [        [        4:X  d   eTS   S:X  d   eTS   U S   :X  d   e[        S5      n[        S5      n[        SSS5      n [        U 5      X4   nUS:w  d   eUR                  USUS05      U S   :X  d   eUR                  USUS	05      S:X  d   eUR                  US	US	05      U S   :X  d   e[        [        R                  " T5      5      (       d   e[        S[        S5      n [        U 5      mTR                  S:X  d   eTR
                  [        S4:X  d   eTS
[        4   [        S
[        5      U S
[        4   -  :X  d   eTS[        4   S:X  d   e[        [        U4S j5        [        SS[        5      n [        U 5      mTR                  S:X  d   eTR
                  S[        4:X  d   eT[        S
4   [        [        S
5      U [        S
4   -  :X  d   eT[        S4   S:X  d   e[        [        U4S j5        [        S[        [        5      n [        U 5      mTR                  b   eTR
                  [        [        4:X  d   eT[        S4   S:w  d   e[        SSS5      n [        S5       Vs/ s H  n[        U 5      U   PM     snU S   SSSSU S   SSSSU S   S/:X  d   e[        [        SSS5      5      [        [        SSS
5      5      -  R
                  S:X  d   eg s  snf )Nx)      r   r   r   ij   r   r   r   r   c                     > T [         S4   $ Nr   r   Ds   f/var/www/auris/envauris/lib/python3.13/site-packages/sympy/matrices/expressions/tests/test_diagonal.py<lambda>%test_DiagonalMatrix.<locals>.<lambda>,   s    qAw    c                     > T S[         4   $ r   r   r   s   r    r!   r"   4   s    qAwr#         r   r   )r   r   )r   r   r   r   diagonal_lengthshaper
   subsr	   r   diagonalr   r   
IndexErrorrange)r   r   r   ijr   s       @r    test_DiagonalMatrixr/      s{   S!QAqA$$$77q!fS!QAqA!!!77q!fT7a<<T7agsAsAS!QA		14	 B7N777Aa1:!D')))77Aa1:!###77Aa1:!D')))qzz!}S!QAqA!!!77q!fQT7nQ*1QT72222QT7a<<
:'S!QAqA!!!77q!fQT7nQ*1QT72222QT7a<<
:'S!QAqA$$$77q!fQT7a<<S!QA*/)4)QN1a )4	$Aq!QtWaAq!D'19> > > >
 	|CA./|CA./	016&A A A	 5s   Nc                  >   [        S[        [        5      n [        U 5      nUR                  [        S4:X  d   eUR                  [        :X  d   eUS   US   s=:X  a
  U S   :X  d   e   e[        S[        [
        5      n [        U 5      nUR                  S:X  d   eUR                  b   eUS   US   s=:X  a
  U S   :X  d   e   e[        [        SSS5      5      nUR                  S	:X  d   e[        [        S[        S5      5      nUR                  S	:X  d   e[        [        SS[        5      5      nUR                  S	:X  d   e[        S[        [
        5      n [        S5       Vs/ s H  n[        U 5      U   PM     snU S
   U S   U S   U S   /:X  d   eg s  snf )Nr   r   r   r   r   r'   )Nr   r%   r   )r   r   r   r   )r   r   )r   r   r   r)   r(   r   r-   )r   dr   s      r    test_DiagonalOfr3   F   s   S!QA1A77q!f!!!T7ad%ag%%%%%S!QA1A77i$$$T7ad%ag%%%%%<Q*+A77f<Q*+A77f<Q*+A77fS!QA&+Ah/hJqM!h/	$4!D'1T73, , , ,/s   (Fc            	      :   [        S[        S5      n [        U 5      nUR                  [        [        4:X  d   eUS   S:X  d   eUS   U S   :X  d   e[        SSS5      n[	        U5      n[        U[         5      (       d   eX!:X  d   e[	        [        S5      5      [        S5      :X  d   e[        [        S5      5      R                  5       [        S5      :X  d   e[        [        [        S5      5      [        5      (       d   e[        U 5      R                  [        U 5      :X  d   e[	        U R                  5      [        U 5      :X  d   e[        U 5      nUS   U S   :X  d   eUS   U S	   :X  d   eUS   S:X  d   eUS[        4   U S   [        S[        5      -  :X  d   e[        S
S[        5      n[        U5      nUS   US   :X  d   eUS   US   :X  d   eUS   S:X  d   eUS[        4   US[        4   [        S[        5      -  :X  d   e[        SSS5      n[        U5      nUR                  5       [        US   SS/SUS	   S/SSUS   //5      :X  d   e[        SSS5      n[        U5      nUR                  5       [        US   SS/SUS   S/SSUS   //5      :X  d   e[        SU-  5      nUR                  SU-  4:X  d   eUR                  5       S[        U5      -  :X  d   e[        UR                  5       [        5      (       d   e[        SSS5      R                  5       n[        U5      n[        US   SS/SUS	   S/SSUS   //5      n	UR                  5       U	:X  d   e[        UR                  5      nUR                  5       U	:X  d   eg )Nr   r   )r   r   r   r   ar   r   )r   r   zvr1   )r   r   )r   r   r   r)   r   
isinstancer   doitTr   r   as_explicitr   argsr   )
r   r2   r5   dxr6   dzr7   dvexprresults
             r    test_DiagMatrixrB   ^   s   S!QA1A77q!fT7a<<T7agS!QA1Aa&&&&6M6hqk*hqk999hqk"'')Xa[888j!-z:::: a=??jm+++acc"jm333	ABd8qwd8qwd8q==ad8qw~a33333S!QA	ABd8qwd8qwd8q==ad8qAw~a33333S!QA	AB>>v	
4!Q	
AdGQ	
Aqw'      	S!QA	AB>>v	
4!Q	
AdGQ	
Aqw'      
AaCB77qsf779*Q-'''bggi((((S!Q++-Aa=D	
4!Q	
AdGQ	
Aqw F
 99;&   acc?D99;&   r#   N)sympy.matrices.expressionsr   #sympy.matrices.expressions.diagonalr   r   r   r   sympy.assumptions.askr   r	   sympy.core.symbolr
   (sympy.functions.special.tensor_functionsr   sympy.matrices.denser   !sympy.matrices.expressions.matmulr   "sympy.matrices.expressions.specialr   sympy.testing.pytestr   r   r   r/   r3   rB    r#   r    <module>rM      sH    3 j j * $ C ' 4 7 ' 3K
3K3Al,0>!r#   