o
    GZŽh¶  ã                   @   sp   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
mZmZ d dlmZ dd„ Zd	d
„ Zdd„ ZdS )é    )ÚsymbolsÚLambda)ÚSympifyError)ÚKroneckerDelta)ÚMatrix)ÚFunctionMatrixÚ
MatrixExprÚIdentity)Úraisesc                     sî  t dƒ\‰ ‰‰tddtˆ ˆfdƒƒsJ ‚tddtˆ ˆfdƒƒs!J ‚tt‡ ‡fdd„ƒ tt‡ ‡fdd„ƒ tt‡ ‡fdd„ƒ tt‡ ‡fdd„ƒ tt‡ ‡fd	d„ƒ tt‡ ‡fd
d„ƒ tt‡ fdd„ƒ ttdd„ ƒ tt‡ fdd„ƒ tt‡ ‡‡fdd„ƒ tt‡ ‡fdd„ƒ tdddƒtddtˆ ˆfdƒƒksžJ ‚tddtƒ} |  ¡ tdƒ ¡ ks°J ‚| j	d  
tˆ ˆftˆ ˆƒƒ¡sÂJ ‚t dƒ‰tˆˆtˆ ˆfdƒƒsÓJ ‚t ddd‰tt‡ ‡‡fdd„ƒ t ddd‰tt‡ ‡‡fdd„ƒ d S )Nzi j ké   r   c                      ó   t ddtˆ ˆfdƒƒS )Néÿÿÿÿr   ©r   r   © ©ÚiÚjr   ú_/var/www/auris/lib/python3.10/site-packages/sympy/matrices/expressions/tests/test_funcmatrix.pyÚ<lambda>   ó    z*test_funcmatrix_creation.<locals>.<lambda>c                      r   )Nç       @r   r   r   r   r   r   r      r   c                      r   )Nù               @r   r   r   r   r   r   r      r   c                      ó   t ddtˆ ˆfdƒƒS )Nr   r   r   r   r   r   r   r      r   c                      r   )Nr   r   r   r   r   r   r   r      r   c                      r   )Nr   r   r   r   r   r   r   r      r   c                      s   t ddtˆ dƒƒS ©Nr   r   r   r   ©r   r   r   r      s    c                   S   s   t dddd„ ƒS )Nr   c                 S   ó   dS ©Nr   r   r   r   r   r   r      ó    z<test_funcmatrix_creation.<locals>.<lambda>.<locals>.<lambda>©r   r   r   r   r   r      ó    c                      s   t ddtˆ fdƒƒS r   r   r   r   r   r   r      s    c                      s   t ddtˆ ˆˆfdƒƒS r   r   r   )r   r   Úkr   r   r      s    c                      s   t ddˆ ˆ ƒS )Nr   r   r   r   r   r   r      r   zlambda i, j: 0ÚnF)Úintegerc                      ó   t ˆˆtˆ ˆfdƒƒS r   r   r   ©r   r   r!   r   r   r   $   r   T)Únegativec                      r#   r   r   r   r$   r   r   r   &   r   )r   r   r   r
   Ú
ValueErrorr   r   Zas_explicitr	   ÚargsZdummy_eq)Úmr   )r   r   r    r!   r   Útest_funcmatrix_creation	   s4   
ÿ$r)   c                  C   sª   t dƒ\} }tddt| |f| | ƒƒ}|d dksJ ‚|d dks#J ‚|jdks*J ‚|j|j  kr7dks:J ‚ J ‚t|ƒtdddd	„ ƒksHJ ‚t|| | tƒsSJ ‚d S )
Nzi,jé   )é   r+   r   )r+   r   r   )r*   r*   c                 S   s   | | S ©Nr   r   r   r   r   r   0   s    z!test_funcmatrix.<locals>.<lambda>)	r   r   r   ÚshapeÚrowsÚcolsr   Ú
isinstancer   )r   r   ÚXr   r   r   Útest_funcmatrix)   s    r2   c                  C   s,   t ddtƒ} |  dd„ dd„ ¡| ksJ ‚d S )Nr*   c                 S   r   )NTr   ©Úxr   r   r   r   6   r   z$test_replace_issue.<locals>.<lambda>c                 S   s   | S r,   r   r3   r   r   r   r   6   r   )r   r   Úreplace)r1   r   r   r   Útest_replace_issue4   s    r6   N)Z
sympy.corer   r   Zsympy.core.sympifyr   Zsympy.functionsr   Zsympy.matricesr   Zsympy.matrices.expressionsr   r   r	   Zsympy.testing.pytestr
   r)   r2   r6   r   r   r   r   Ú<module>   s     