U
    ZÊ¹j‰  ã                   @   s\   d dl mZ d dlmZ d dlmZ d dlmZ dd„ Zdd„ Z	d	d
„ Z
dd„ Zdd„ ZdS )é    )ÚMatrix)ÚRational)Úsymbols)Úsolvec               	   C   sÄ   t dddddgdddddgdd	d
ddgd
ddddggƒ} |  ¡ }|d t dddd
gƒks\t‚|d t ddd	dgƒksxt‚|d t ddddgƒks”t‚t|ƒd
ks¤t‚t j| f|žŽ  ¡ |ksÀt‚d S ©Né   é   r   é   éþÿÿÿéûÿÿÿéÿÿÿÿéøÿÿÿéýÿÿÿé   é   é   éùÿÿÿ)r   ÚcolumnspaceÚAssertionErrorÚlenZhstack©ÚmÚbasis© r   úb/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/matrices/tests/test_subspaces.pyÚtest_columnspace_one   s    ýr   c               	   C   s´   t dddddgdddddgdd	d
ddgd
ddddggƒ} |  ¡ }|d t dddddggƒks`t‚|d t dddd
dggƒks€t‚|d t dddddggƒks t‚t|ƒd
ks°t‚d S r   )r   Zrowspacer   r   r   r   r   r   Útest_rowspace   s    ý   r   c               	   C   s¼   t dddddgdddddgdd	d
ddgd
ddddggƒ} |  ¡ }|d t dddddgƒks^t‚|d t dddddgƒks|t‚tdd„ | |d  D ƒƒsšt‚tdd„ | |d  D ƒƒs¸t‚d S )Nr   r   r   r	   r
   r   r   r   r   r   r   r   r   c                 s   s   | ]}|j V  qd S ©N©Úis_zero©Ú.0Úer   r   r   Ú	<genexpr>.   s     z%test_nullspace_one.<locals>.<genexpr>c                 s   s   | ]}|j V  qd S r   r   r    r   r   r   r#   /   s     )r   Ú	nullspacer   Úallr   r   r   r   Útest_nullspace_one$   s    ýr&   c                  C   sV  t } tddddgddddggƒ}| ¡ \}}|tdd| dƒ d | d	ƒd gdd| d
ƒd | dƒd ggƒksrt‚tdddddgdddddgdddddgdddddgdddddggƒ}|| ¡ d  tdddgd ƒksÜt‚tdddddddgdddddddgdddddddgdddddddggƒ}| ¡ \}}|tdddddddgdddddddgdddddd| dƒd gdddddddggƒk�sŠt‚| ¡ }|d tdddddddgƒk�s¶t‚|d tdddddddgƒk�sÚt‚|d tdddddddgƒk�sþt‚|d tddddd| dƒd dgƒk�s*t‚tddgddgddggƒ}| ¡ �sRt‚d S )Nr	   é   r   r   r   r   r   é   é   é   iúÿÿÿr   r   r   éüÿÿÿr   r
   r   é	   )r   r   Zrrefr   r$   )ÚRÚMÚoutÚtmpr   r   r   r   Útest_nullspace_second1   sB    
ÿ ÿü&ýý$$$,r1   c            
   	   C   s.  t dddddgdddddgdd	d
ddgd
ddddggƒ} |  ¡ }|d t dddd
gƒks\t‚|d t ddd	dgƒksxt‚|d t ddddgƒks”t‚tdƒ\}}}}}t |||||gƒ}tt|ƒƒD ]*}| | ||  }	tt|	|ƒƒdksÄt‚qÄ|  ¡ t|ƒk�st‚t|  ¡ ƒt|  ¡ ƒ | j	k�s*t‚d S )Nr   r   r   r	   r
   r   r   r   r   r   r   r   r   z	a b c d e)
r   r   r   r   Úranger   r   Zrankr$   Úcols)
r.   r   ÚaÚbÚcÚdr"   ÚXÚiÚeqr   r   r   Útest_columnspace_secondX   s     ýr;   N)Zsympy.matricesr   Zsympy.core.numbersr   Zsympy.core.symbolr   Zsympy.solversr   r   r   r&   r1   r;   r   r   r   r   Ú<module>   s   '