U
    L?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(t‚tddtˆ ˆfdƒƒsBt‚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>t‚tddtƒ} |  ¡ t	dƒ ¡ ksdt‚| j
d  tˆ ˆftˆ ˆƒƒ¡sŠt‚t dƒ‰tˆˆtˆ ˆfdƒƒs®t‚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   úb/var/www/html/venv/lib/python3.8/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   ÚAssertionErrorr
   Ú
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s6t‚|d dksFt‚|jdksTt‚|j|j  krldksrn t‚t|ƒtdddd	„ ƒksŽt‚t|| | t	ƒs¤t‚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   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(t‚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   Úreplacer    )r,   r   r   r   Útest_replace_issue4   s    r1   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-   r1   r   r   r   r   Ú<module>   s    