U
    ZÊ¹jÃ  ã                   @   sÒ   d dl mZmZmZ d dlmZmZmZmZ 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 edd	d
�\ZZZZZedeeƒZedeeƒZedeeƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Z dS )é    )ÚadjointÚ	conjugateÚ	transpose)ÚMatrixSymbolÚAdjointÚtraceÚ	Transpose)ÚeyeÚMatrix)ÚQ)Úrefine)ÚS)Úsymbolsz	n m l k pT)ÚintegerÚAÚBÚCc                  C   s”  t dttƒ} ttƒttƒks t‚ttƒjttfks6t‚ttt ƒjt	tfksPt‚tttƒƒtksdt‚t
tttƒƒtƒszt‚tttƒƒtttƒƒks–t‚tttƒƒttƒks®t‚ttdƒƒ ¡ tdƒksÊt‚ttdƒƒ ¡ tdƒksæt‚ttddgddggƒƒ ¡ tddgddggƒk�st‚tt| ƒƒt| ƒk�s6t‚tt| ƒƒt| ƒk�sPt‚t| ƒd | d k�sjt‚ttt ƒ ¡ ttƒttƒ k�s�t‚d S )	NÚSqé   é   é   é   é   )r   r   )r   r   )r   Únr   r   r   ÚAssertionErrorÚshapeÚmr   ÚlÚ
isinstancer   r   r   r	   Zdoitr   r
   r   )r   © r   ún/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/matrices/expressions/tests/test_transpose.pyÚtest_transpose   s    6r!   c                  C   sZ   ddl m}  tdƒ}tdddƒ}tdddƒ}|| |ƒ|  j| |ƒ|j |j ksVt‚d S )Nr   )ÚcosÚxÚMr   ÚN)Z(sympy.functions.elementary.trigonometricr"   r   r   ÚTr   )r"   r#   r$   r%   r   r   r    Útest_transpose_MatAdd_MatMul)   s
    r'   c                   C   s   t tjt t¡ƒtkst‚d S )N)r   r   r&   r   Z	symmetricr   r   r   r   r    Útest_refine4   s    r(   c                  C   s6   t dddƒ} | t| jƒkst‚| t| jjƒks2t‚d S )Nr   r   )r   r   r&   r   )r   r   r   r    Útest_transpose1x18   s    r)   c                  C   s~   ddl m}  tdddƒ}tdddƒ}tdd„ tdƒD ƒƒ}| dƒ}|j| | }| ||||i¡}| ¡ td	ggƒkszt‚d S )
Nr   )ÚIdentityÚvr   r   r   c                 S   s   g | ]}|d  ‘qS )r   r   )Ú.0Úir   r   r    Ú
<listcomp>A   s     z#test_issue_9817.<locals>.<listcomp>é   )	Úsympy.matrices.expressionsr*   r   r
   Úranger&   ZxreplaceZas_explicitr   )r*   r+   r   r#   ÚXZ	quadraticZsubbedr   r   r    Útest_issue_9817=   s    r3   N)!Zsympy.functionsr   r   r   r0   r   r   r   r   Zsympy.matricesr	   r
   Zsympy.assumptions.askr   Zsympy.assumptions.refiner   Zsympy.core.singletonr   Zsympy.core.symbolr   r   r   r   ÚkÚpr   r   r   r!   r'   r(   r)   r3   r   r   r   r    Ú<module>   s   