a
    {d                     @   s   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
 d dlmZ G dd deeeZd	d
 Zdd Zdd Zdd Zdd ZdS )    )_MinimalMatrix_CastableMatrix)MatrixSubspaces)Matrix)Rational)symbols)solvec                   @   s   e Zd ZdS )SubspaceOnlyMatrixN)__name__
__module____qualname__ r   r   l/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/sympy/matrices/tests/test_subspaces.pyr	      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sXJ |d	 tg d
kspJ t|dksJ tj| g|R   |k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	   columnspacer   lenZhstackmbasisr   r   r   test_columnspace_one   s    r'   c                  C   s   t g dg dg dg dg} |  }|d tg dgksBJ |d tg dgks\J |d tg d	gksvJ t|d
ksJ d S )Nr   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r	   Zrowspacer   r#   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sXJ td	d
 | |d  D svJ tdd
 | |d  D sJ d S )Nr   r   r   r   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>3       z%test_nullspace_one.<locals>.<genexpr>c                 s   s   | ]}|j V  qd S r)   r*   r,   r   r   r   r/   4   r0   )r	   	nullspacer   allr$   r   r   r   test_nullspace_one)   s    r3   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sjJ tg d
g dg dg dg dg}|| d  tdddgd ksJ 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sJ | }|d tg dks@J |d tg dksZJ |d tg dkstJ |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   r8   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   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   )r   r   Zrrefr1   )RMouttmpr&   r   r   r   test_nullspace_second6   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sXJ |d	 t g d
kspJ td\}}}}}t |||||g}tt|D ]*}| | ||  }	tt|	|dksJ q|  t|ksJ t|  t|   | jksJ d S )Nr   r   r   r   r   r   r   r    r   r!   z	a b c d e)	r   r"   r   ranger#   r   Zrankr1   cols)
r<   r&   abcdr.   Xieqr   r   r   test_columnspace_second]   s     rI   N)Zsympy.matrices.commonr   r   Zsympy.matrices.matricesr   Zsympy.matricesr   Zsympy.core.numbersr   Zsympy.core.symbolr   Zsympy.solversr   r	   r'   r(   r3   r?   rI   r   r   r   r   <module>   s   '