U
    L?h                     @   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stt|d
kstt j| f|  |kstd S N      r               )r   columnspaceAssertionErrorlenZhstackmbasis r   U/var/www/html/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st|d t dddddggkstt|d
kst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 sttdd | |d  D st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st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st| }|d tdddddddgkst|d tdddddddgkst|d tdddddddgkst|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            ir   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sttd\}}}}}t |||||g}tt|D ]*}| | ||  }	tt|	|dkst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   '