o
    o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 g dg dg dg dg} |  }|d t g dks J |d t g dks,J |d	 t g d
ks8J t|dks@J t j| g|R   |ksOJ d S )N      r   r      r   r         r   r      r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   columnspacelenhstackmbasis r   w/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/sympy/matrices/tests/test_subspaces.pytest_columnspace_one   s   "r!   c                  C   s   t g dg dg dg dg} |  }|d t g dgks!J |d t g dgks.J |d t g d	gks;J t|d
ksCJ d S )Nr   r
   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r	   r	   r   )r   rowspacer   r   r   r   r    test_rowspace   s   r#   c                  C   s   t g dg dg dg dg} |  }|d t g dks J |d t g dks,J td	d
 | |d  D s;J tdd
 | |d  D sJJ d S )Nr   r
   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   c                 s       | ]}|j V  qd S Nis_zero.0er   r   r    	<genexpr>.       z%test_nullspace_one.<locals>.<genexpr>c                 s   r$   r%   r&   r(   r   r   r    r+   /   r,   )r   	nullspaceallr   r   r   r    test_nullspace_one$   s   "r/   c                  C   s  t } tg dg dg}| \}}|tdd| d d | dd gdd| dd | d	d ggks5J tg d
g dg dg dg dg}|| d  tdddgd ks[J tg dg dg dg dg}| \}}|tg dg ddddddd| dd gg dgksJ | }|d tg dksJ |d tg dksJ |d tg dksJ |d tddddd| dd dgksJ tddgddgddgg}| sJ d S )N)r	      r   r   )r   r   r   r   r   r   r            )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   )r   r   r   r   r   r	   )r   r   r   r   r   r   r   )r   r4   r   r   r   r   r   )r   	   r   r   r   r   r   )r   r   r   r   r   r6   r   )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   )r   r   rrefr-   )RMouttmpr   r   r   r    test_nullspace_second1   sB    &
*r<   c            
      C   s  t g dg dg dg dg} |  }|d t g dks J |d t g dks,J |d	 t g d
ks8J td\}}}}}t |||||g}tt|D ]}| | ||  }	tt|	|dkseJ qP|  t|kspJ t|  t|   | jksJ d S )Nr   r
   r   r   r   r   r   r   r   r   z	a b c d e)	r   r   r   ranger   r   rankr-   cols)
r9   r   abcdr*   Xieqr   r   r    test_columnspace_secondX   s    &rG   N)sympy.matricesr   sympy.core.numbersr   sympy.core.symbolr   sympy.solversr   r!   r#   r/   r<   rG   r   r   r   r    <module>   s    '