
    \h                         S SK JrJr  S SKJr  S SKJr  S SKJrJ	r	J
r
Jr  S SKJrJrJr  S SKJr  S rS rS	 rS
 rS rg)    )ZZQQ)DM)DomainMatrix)DMRankErrorDMValueErrorDMShapeErrorDMDomainError)_ddm_lllddm_lllddm_lll_transform)raisesc            
         [        / SQ/ SQ/ SQ/ SQ/[        5      [        / SQ/ SQ/ SQ/ SQ/[        5      4[        / S	Q/ S
Q/ SQ/[        5      [        / S
Q/ SQ/ SQ/[        5      4[        / SQ/ SQ/ SQ/ SQ/[        5      [        / SQ/ SQ/ SQ/ SQ/[        5      4/n [        SS5      nU  GH;  u  p#[        UR                  R                  5       US9S   nXCR                  R                  5       :X  d   e[        UR                  R                  5       US9nXCR                  R                  5       :X  d   e[        UR                  R                  5       USS9u  pEXCR                  R                  5       :X  d   eUR                  UR                  R                  5       5      UR                  R                  5       :X  d   e[        UR                  R                  5       US9u  pEXCR                  R                  5       :X  d   eUR                  UR                  R                  5       5      UR                  R                  5       :X  d   eUR                  R                  US9nXCR                  :X  d   eUR                  R                  US9u  pEXCR                  :X  d   eUR                  UR                  5      UR                  :X  d   eUR                  R                  5       R                  US9nXCR                  R                  5       :X  d   eUR                  R                  5       R                  US9u  pEXCR                  R                  5       :X  d   eUR                  UR                  R                  5       5      UR                  R                  5       :X  d   eUR                  US9nXC:X  d   eUR                  US9u  pEXC:X  d   eUR                  U5      U:X  a  GM<   e   g )N)   r   r   r   i@)r   r   r   r   i  )r   r   r   r   i  )r   r   r   r   i  )
      )   r   r   )r      r   r   r   )iir   	   )   4   i  )      r   )"   iFr   )   ir   )   r   is  )r    r   i   )ir    7   i  )   i     i  )W   1   i     )i#  +      S   )iCi  iHi!      deltar   Tr0   return_transform)r   r   r   r   repto_ddmr   matmulr   llllll_transformto_sdm)normal_test_datar0   basis_dm
reduced_dmreduced	transforms         [/var/www/auris/envauris/lib/python3.13/site-packages/sympy/polys/matrices/tests/test_lll.pytest_lllr?   	   s    $###% ')* #"$%' )+,		
  "$  !"$&		
 !"%!# %'( !""(* ,./		
'< q!HE 08<<..0>qA..//1111(,,--/u=..//1111%hll&9&9&;5[_`..//1111 3 3 56*..:O:O:QQQQ.x||/B/B/DER..//1111 3 3 56*..:O:O:QQQQ,,"""/..(((%\\77e7D..(((-???,,%%'++%+8..//1111%\\002@@u@M..//1111 3 3 56*..:O:O:QQQQ,,U,+$$$%33%3@$$$)Z777E !1    c                  H  ^ [        / SQ/ SQ/ SQ/ SQ/[        5      [        / SQ/ SQ/ SQ/ SQ/[        5      [        / S	Q/ S
Q/ SQ/[        5      /n U  H  m[        [        U4S j5        [        [        U4S j5        [        [        U4S j5        [        [        U4S j5        [        [        U4S j5        [        [        U4S j5        [        [        U4S j5        [        [        U4S j5        [        [        U4S j5        [        [        U4S j5        M     g )N)r   r   r   r   )r   r   r   r   )   r   r   r   )r   rB   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   rB   r   r.   )r   r   )   r.   r   )r   r   rB   c                  J   > [        T R                  R                  5       5      $ Nr   r3   r4   	not_basiss   r>   <lambda>+test_lll_linear_dependent.<locals>.<lambda>]   s    HY]]-A-A-C$Dr@   c                  J   > [        T R                  R                  5       5      $ rF   )r   r3   r4   rH   s   r>   rJ   rK   ^   s    GIMM,@,@,B$Cr@   c                  8   > T R                   R                  5       $ rF   r3   r6   rH   s   r>   rJ   rK   _   s    IMM$5$5$7r@   c                  T   > T R                   R                  5       R                  5       $ rF   r3   r8   r6   rH   s   r>   rJ   rK   `   s    IMM$8$8$:$>$>$@r@   c                  $   > T R                  5       $ rF   r6   rH   s   r>   rJ   rK   a   s    IMMOr@   c                  H   > [        T R                  R                  5       SS9$ NT)r2   rG   rH   s   r>   rJ   rK   b   s    HY]]-A-A-CVZ$[r@   c                  J   > [        T R                  R                  5       5      $ rF   )r   r3   r4   rH   s   r>   rJ   rK   c   s    $5imm6J6J6L$Mr@   c                  8   > T R                   R                  5       $ rF   r3   r7   rH   s   r>   rJ   rK   d   s    IMM$?$?$Ar@   c                  T   > T R                   R                  5       R                  5       $ rF   r3   r8   r7   rH   s   r>   rJ   rK   e   s    IMM$8$8$:$H$H$Jr@   c                  $   > T R                  5       $ rF   r7   rH   s   r>   rJ   rK   f   s    I$;$;$=r@   )r   r   r   r   )linear_dependent_test_datarI   s    @r>   test_lll_linear_dependentr]   N   s    
O 	 	L 	 	J	" 0	{DE{CD{78{@A{34{[\{MN{AB{JK{=> 0r@   c                  b  ^ ^ [         R                  " S[        5      m [        SS5      [        SS5      [        SS5      [        SS5      [        SS5      4 H  m[	        [
        U U4S j5        [	        [
        U U4S j5        [	        [
        U U4S	 j5        [	        [
        U U4S
 j5        [	        [
        U U4S j5        [	        [
        U U4S j5        [	        [
        U U4S j5        [	        [
        U U4S j5        [	        [
        U U4S j5        [	        [
        U U4S j5        M     g )Nr   r   r   rD   r   r   d   c                  ,   > [        T R                  TS9$ Nr/   r   r3   dummy_matrixwrong_deltas   r>   rJ   &test_lll_wrong_delta.<locals>.<lambda>l   s    Xl.>.>k%Rr@   c                  ,   > [        T R                  TS9$ rb   r   r3   rd   s   r>   rJ   rg   m   s    W\-=-=[%Qr@   c                  6   > T R                   R                  TS9$ rb   rN   rd   s   r>   rJ   rg   n   s    \%5%5%9%9%9%Lr@   c                  R   > T R                   R                  5       R                  TS9$ rb   rP   rd   s   r>   rJ   rg   o   s"    \%5%5%<%<%>%B%B%B%Ur@   c                  "   > T R                  TS9$ rb   rR   rd   s   r>   rJ   rg   p   s    \%5%5K%5%Hr@   c                  .   > [        T R                  TSS9$ )NTr1   rc   rd   s   r>   rJ   rg   q   s    Xl.>.>kdh%ir@   c                  ,   > [        T R                  TS9$ rb   r   r3   rd   s   r>   rJ   rg   r   s    %6|7G7G{%[r@   c                  6   > T R                   R                  TS9$ rb   rW   rd   s   r>   rJ   rg   s   s    \%5%5%C%C+%C%Vr@   c                  R   > T R                   R                  5       R                  TS9$ rb   rY   rd   s   r>   rJ   rg   t   s#    \%5%5%<%<%>%L%LS^%L%_r@   c                  "   > T R                  TS9$ rb   r[   rd   s   r>   rJ   rg   u   s    \%?%?k%?%Rr@   )r   onesr   r   r   r   rd   s   @@r>   test_lll_wrong_deltart   i   s    $$VR0L2q	2a8R1Xr!QxCL|RS|QR|LM|UV|HI|ij|[\|VW|_`|RS Mr@   c                    ^  [         R                  " S[        5      m [        [        U 4S j5        [        [        U 4S j5        [        [        U 4S j5        [        [        U 4S j5        [        [        U 4S j5        [        [        U 4S j5        [        [        U 4S j5        [        [        U 4S	 j5        [        [        U 4S
 j5        [        [        U 4S j5        g )N)rD   r   c                  .   > [        T R                  5      $ rF   rc   wrong_shape_matrixs   r>   rJ   &test_lll_wrong_shape.<locals>.<lambda>z   s    *<*@*@!Ar@   c                  .   > [        T R                  5      $ rF   ri   rw   s   r>   rJ   ry   {   s    );)?)?!@r@   c                  8   > T R                   R                  5       $ rF   rN   rw   s   r>   rJ   ry   |   s    !3!7!7!;!;!=r@   c                  T   > T R                   R                  5       R                  5       $ rF   rP   rw   s   r>   rJ   ry   }   s    !3!7!7!>!>!@!D!D!Fr@   c                  $   > T R                  5       $ rF   rR   rw   s   r>   rJ   ry   ~   s    !3!7!7!9r@   c                  ,   > [        T R                  SS9$ rT   rc   rw   s   r>   rJ   ry      s    *<*@*@SW!Xr@   c                  .   > [        T R                  5      $ rF   ro   rw   s   r>   rJ   ry      s    !23E3I3I!Jr@   c                  8   > T R                   R                  5       $ rF   rW   rw   s   r>   rJ   ry      s    !3!7!7!E!E!Gr@   c                  T   > T R                   R                  5       R                  5       $ rF   rY   rw   s   r>   rJ   ry      s    !3!7!7!>!>!@!N!N!Pr@   c                  $   > T R                  5       $ rF   r[   rw   s   r>   rJ   ry      s    !3!A!A!Cr@   )r   rs   r   r   r	   rw   s   @r>   test_lll_wrong_shaper   x   s    %**626
<AB
<@A
<=>
<FG
<9:
<XY
<JK
<GH
<PQ
<CDr@   c                    ^  [         R                  " S[        5      m [        [        U 4S j5        [        [        U 4S j5        [        [        U 4S j5        [        [        U 4S j5        [        [        U 4S j5        [        [        U 4S j5        [        [        U 4S j5        [        [        U 4S	 j5        [        [        U 4S
 j5        [        [        U 4S j5        g )Nr_   c                  .   > [        T R                  5      $ rF   rc   wrong_domain_matrixs   r>   rJ   'test_lll_wrong_domain.<locals>.<lambda>   s    (+>+B+B"Cr@   c                  .   > [        T R                  5      $ rF   ri   r   s   r>   rJ   r      s    '*=*A*A"Br@   c                  8   > T R                   R                  5       $ rF   rN   r   s   r>   rJ   r      s    "5"9"9"="="?r@   c                  T   > T R                   R                  5       R                  5       $ rF   rP   r   s   r>   rJ   r      s    "5"9"9"@"@"B"F"F"Hr@   c                  $   > T R                  5       $ rF   rR   r   s   r>   rJ   r      s    "5"9"9";r@   c                  ,   > [        T R                  SS9$ rT   rc   r   s   r>   rJ   r      s    (+>+B+BUY"Zr@   c                  .   > [        T R                  5      $ rF   ro   r   s   r>   rJ   r      s    "34G4K4K"Lr@   c                  8   > T R                   R                  5       $ rF   rW   r   s   r>   rJ   r      s    "5"9"9"G"G"Ir@   c                  T   > T R                   R                  5       R                  5       $ rF   rY   r   s   r>   rJ   r      s    "5"9"9"@"@"B"P"P"Rr@   c                  $   > T R                  5       $ rF   r[   r   s   r>   rJ   r      s    "5"C"C"Er@   )r   rs   r   r   r
   r   s   @r>   test_lll_wrong_domainr      s    &++FB7
=CD
=BC
=?@
=HI
=;<
=Z[
=LM
=IJ
=RS
=EFr@   N)sympy.polys.domainsr   r   sympy.polys.matricesr   !sympy.polys.matrices.domainmatrixr   sympy.polys.matrices.exceptionsr   r   r	   r
   sympy.polys.matrices.lllr   r   r   sympy.testing.pytestr   r?   r]   rt   r   r    r@   r>   <module>r      s;    & # : b b I I 'B8J?6TEGr@   