a
    kº”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ƒƒsBJ ‚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sdJ ‚| 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                      s   t ddtˆ ˆfdƒƒS )Néÿÿÿÿr   ©r   r   © ©ÚiÚjr   ú^/var/www/auris/lib/python3.9/site-packages/sympy/matrices/expressions/tests/test_funcmatrix.pyÚ<lambda>   ó    z*test_funcmatrix_creation.<locals>.<lambda>c                      s   t ddtˆ ˆfdƒƒS )Nç       @r   r   r   r   r   r   r      r   c                      s   t ddtˆ ˆfdƒƒS )Nù               @r   r   r   r   r   r   r      r   c                      s   t ddtˆ ˆfdƒƒS )Nr   r   r   r   r   r   r   r      r   c                      s   t ddtˆ ˆfdƒƒS )Nr   r   r   r   r   r   r   r      r   c                      s   t ddtˆ ˆfdƒƒS )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      r   c                   S   s   t dddd„ ƒS )Nr   c                 S   s   dS ©Nr   r   r   r   r   r   r      r   z<test_funcmatrix_creation.<locals>.<lambda>.<locals>.<lambda>©r   r   r   r   r   r      r   c                      s   t ddtˆ fdƒƒS r   r   r   r   r   r   r      r   c                      s   t ddtˆ ˆˆfdƒƒS r   r   r   )r   r   Úkr   r   r      r   c                      s   t ddˆ ˆ ƒS )Nr   r   r   r   r   r   r      r   zlambda i, j: 0ÚnF)Úintegerc                      s   t ˆˆtˆ ˆfdƒƒS r   r   r   ©r   r   r   r   r   r   $   r   T)Únegativec                      s   t ˆˆtˆ ˆfdƒƒS 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s6J ‚|d dksFJ ‚|jdksTJ ‚|j|j  krldksrn J ‚t|ƒtdddd	„ ƒksŽJ ‚t|| | tƒs¤J ‚d S )
Nzi,jé   )é   r%   r   )r%   r   r   )r$   r$   c                 S   s   | | S ©Nr   r   r   r   r   r   0   r   z!test_funcmatrix.<locals>.<lambda>)	r   r   r   ÚshapeÚrowsÚcolsr   Ú
isinstancer   )r   r   ÚXr   r   r   Útest_funcmatrix)   s    r,   c                  C   s,   t ddtƒ} |  dd„ dd„ ¡| ks(J ‚d S )Nr$   c                 S   s   dS )NTr   ©Úxr   r   r   r   6   r   z$test_replace_issue.<locals>.<lambda>c                 S   s   | S r&   r   r-   r   r   r   r   6   r   )r   r   Úreplace)r+   r   r   r   Útest_replace_issue4   s    r0   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#   r,   r0   r   r   r   r   Ú<module>   s    