
    Rie                         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eee          Zd	 Zd
 Zd Zd Zd ZdS )    )_MinimalMatrix_CastableMatrix)MatrixSubspaces)Matrix)Rational)symbols)solvec                       e Zd ZdS )SubspaceOnlyMatrixN)__name__
__module____qualname__     Clib/python3.11/site-packages/sympy/matrices/tests/test_subspaces.pyr   r      s        Dr   r   c                     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    sJ t          |          dk    sJ t          j        | g|R                                  |k    sJ 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   lenhstackmbasiss     r   test_columnspace_oner,      s    0000000000002 	3 	3A
 MMOOE8vmmm,,,,,,8vnnn------8vnnn------u::????=#U###//11U::::::r   c                  B   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    sJ d S )Nr   r   r   r    r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   rowspacer   r'   r)   s     r   test_rowspacer/      s    0000000000002 	3 	3A
 JJLLE8v/0000008v///01111118v/000000u::??????r   c                  h   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         z  D                       sJ t          d
 | |d         z  D                       sJ d S )Nr   r   r   r    r   )r   r   r   r   r   r   )r   r   r   r   r   c              3   $   K   | ]}|j         V  d S Nis_zero.0es     r   	<genexpr>z%test_nullspace_one.<locals>.<genexpr>3   $      --Qqy------r   c              3   $   K   | ]}|j         V  d S r2   r3   r5   s     r   r8   z%test_nullspace_one.<locals>.<genexpr>4   r9   r   )r   	nullspacer   allr)   s     r   test_nullspace_oner=   )   s    0000000000002 	3 	3A
 KKMME8v...//////8v000111111--!E!H*----------!E!H*----------r   c                  
   t           } t          g dg dg          }|                                \  }}|t          dd | d           dz   | d          dz  gdd | d          dz   | d	          dz  gg          k    sJ t          g d
g dg dg dg dg          }||                                d         z  t          dddgdz            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z  gg dg          k    sJ |                                }|d         t          g d          k    sJ |d         t          g d          k    sJ |d         t          g d          k    sJ |d         t          ddddd | d          dz  dg          k    sJ t          ddgddgddgg          }|                                sJ 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   rC   r   r   r   r   r   )r   	   r   r   r!   r!   r   )r   r   r   r   r   rE   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+   s        r   test_nullspace_secondrK   6   s   A 	  	 AvvxxHC&1a!!A$$r11R5584a!!A$$r'11R55846 7 7 7 7 7 7 	$$$$$$$$$$$$$$$	& 	' 	'A
 Q[[]]11qc!e!4!44444))))))))))))+ 	, 	,A vvxxHC&//////aAq!QQqTT!V4///1 2 2 2 2 2 2 KKMME8v4445555558v3334444448v5556666668vq!Q1aaeeAgq9:::::: 	AAA'((A;;==r   c                     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    sJ t          d          \  }}}}}t          |||||g          }t          t	          |                    D ]3}| |z  ||         z
  }	t	          t          |	|                    dk    sJ 4|                                 t	          |          k    sJ t	          |                                           t	          |                                           z   | 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	   rankr;   cols)
rH   r+   abcdr7   Xieqs
             r   test_columnspace_secondrW   ]   s   $$$$$$$$$$$$& 	' 	'A MMOOE8vmmm,,,,,,8vnnn------8vnnn------ K((MAq!Q1aAA3u:: & &Q3uQx<5Q<<  A%%%%% 6688s5zz!!!!q{{}}AMMOO 4 44>>>>>>r   N)sympy.matrices.commonr   r   sympy.matrices.matricesr   sympy.matricesr   sympy.core.numbersr   sympy.core.symbolr   sympy.solversr	   r   r,   r/   r=   rK   rW   r   r   r   <module>r^      s    A A A A A A A A 3 3 3 3 3 3 ! ! ! ! ! ! ' ' ' ' ' ' % % % % % %      	 	 	 	 	/ 	 	 	; ; ;  . . .$ $ $N? ? ? ? ?r   