+
    i*                     2   ^ RI HtHt ^ RIHtHt ^ RIHt ^ RIH	t	 ^ RI
t
R tR tR]! . RO.]4      ]! . RO. R O.]4      3R	]! R!]4      ]! R!]4      3R
]! R"]4      ]! R!]4      3R]! R#]4      ]! ^]4      3R]! R$]4      ]! ^]4      3R]! ^^.^^..]4      ]! R#]4      3R]! ^^.^^..]4      ]! R%^..]4      3R]! ^.^..]4      ]! R&]4      3R]! ^^..]4      ]! R%^..]4      3R]! . R'O. R(O. R)O. R*O. R+O.]4      ]! . R,O. R-O. R.O. R/O. R0O.]4      3.
tR tR tR tR t]
P$                  P'                  R]4      R 4       t]
P$                  P'                  R]4      R 4       t]
P$                  P'                  R]4      R 4       t]
P$                  P'                  R]4      R 4       t]
P$                  P'                  R]4      R 4       t]
P$                  P'                  R]4      R 4       t]
P$                  P'                  R]4      R 4       tR# )1    )ZZMatrix)DMDomainMatrix)DDM)SDMNc                 J    \         P                  ! W4      P                  4       # N)r   zerosto_dense)shapeKs   &&g/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/polys/matrices/tests/test_nullspace.py<lambda>r      s    ++E5>>@    c                 J    \         P                  ! W4      P                  4       # r
   )r   eyer   )nr   s   &&r   r   r   	   s    <##A)224r   zz_1zz_2zz_3zz_4zz_5zz_6zz_7zz_8zz_9zz_10c                   \        V \        4      '       d   V P                  4       # \        V \        4      '       d9   \        \	        V 4      V P
                  V P                  4      P                  4       # \        V \        4      '       d9   \        \        V 4      V P
                  V P                  4      P                  4       # Q h)z#Convert the answer to DomainMatrix.)	
isinstancer   r   r   listr   domainr   dict)Aanss   &&r   _to_DMr&   i   s    !\""zz|	As		DGQWWahh7@@BB	As		DGQWWahh7@@BBur   c                   V P                  4       p V P                  '       d   V # . p\        V P                  ^ ,          4       Fj  p\	        \        V P                  ^,          4      4       F>  pWV3,          '       g   K  VP                  WR3,          WV3,          ,          4        Kh  	  Q h	  \        P                  ! V!  # )z8Normalize the nullspace by the rightmost non-zero entry.:NNN)to_fieldis_zero_matrixranger   reversedappendr   vstack)nullrowsijs   &   r   _divide_lastr2   u   s    ==?DD4::a=!%

1./AqDzzDAJd34 0
 5 " %%r   c                P    \        W4      p V P                  4       w  r#W18X  g   Q hR# )z/Check that the primitive of the answer matches.N)r&   	primitive)r.   null_anscont	null_prims   &&  r   _check_primitiver8      s&    $!Dnn&OD   r   c                B    \        W4      p \        V4      pW8X  g   Q hR# )zCheck the divided answer.N)r&   r2   )r.   r5   null_ans_norms   && r   _check_dividedr;      s"    $!D *M   r   zname, A, A_nullc                 P   VP                  4       pVP                  4       pV'       d   \        P                  ! V!  pM!\        P                  ! VP
                  ^ 4      pVP                  4       P                  4       P                  4       pVP                  4       p\        WB4       R# )r   N)	to_Matrix	nullspacer   hstackr   colsto_DMr(   r   	transposer;   )namer$   A_nullA_null_colsA_null_founds   &&&  r   test_Matrix_nullspacerG      sw    	A++-K }}k2||AFFA.%%'002;;=L  ))+L<(r   c                 |    VP                  4       P                  4       pVP                  R R7      p\        W24       R# T)divide_lastN)r(   r   r>   r;   rC   r$   rD   rF   s   &&& r   test_dm_dense_nullspacerL      s.    	

A;;4;0L<(r   c                 |    VP                  4       P                  4       pVP                  R R7      p\        W24       R# rI   )r(   	to_sparser>   r;   rK   s   &&& r   test_dm_sparse_nullspacerO      s.    	

 A;;4;0L<(r   c                 |    VP                  4       P                  4       pVP                  4       w  r4\        W24       R # r
   )r(   to_ddmr>   r;   rC   r$   rD   rF   _s   &&&  r   test_ddm_nullspacerT      +    	

AkkmOL<(r   c                 |    VP                  4       P                  4       pVP                  4       w  r4\        W24       R # r
   )r(   to_sdmr>   r;   rR   s   &&&  r   test_sdm_nullspacerX      rU   r   c                 \    VP                  4       pVP                  4       p\        W24       R # r
   )r   r>   r8   rK   s   &&& r    test_dm_dense_nullspace_fracfreerZ      s     	

A;;=L\*r   c                 \    VP                  4       pVP                  4       p\        W24       R # r
   )rN   r>   r8   rK   s   &&& r   !test_dm_sparse_nullspace_fracfreer\      s     	A;;=L\*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   r   r]   r   r   r   r   r   r   r   )
rb   r   r   r   r   r   r]   r   r   r   )
r   rb   r   r   r   r   r   r]   r   r   )
r   r   r   rb   r   r   r   r   r]   r   )
r   r   r   r   rb   r   r   r   r   r]   )sympyr   r   sympy.polys.matricesr   r   sympy.polys.matrices.ddmr   sympy.polys.matrices.sdmr   pytestr   r   NULLSPACE_EXAMPLESr&   r2   r8   r;   markparametrizerG   rL   rO   rT   rX   rZ   r\    r   r   <module>rl      s    1 ( ( @4, 		ZL"		Z
 		vr		vr	 	fbfb 	fbAr
 	fbAr
 	
QFF	fb	 	
QFF	
RG9b	 	
QCC	fb	 	
QF8R
RG9b 	
*****	, .0		1
 	.....	0 24		5yJ Z	&&!! *,>?) @)& *,>?) @) *,>?) @) *,>?) @) *,>?) @) *,>?+ @+ *,>?+ @+r   