
    g!&h                         d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	m
Z
mZ d dlmZmZmZ d dlmZ d Zd Zd	 Zd
 Zd Zy)    )ZZQQ)DM)DomainMatrix)DMRankErrorDMValueErrorDMShapeErrorDMDomainError)_ddm_lllddm_lllddm_lll_transform)raisesc            
         t        g dg dg dg dgt              t        g dg dg dg dgt              ft        g d	g d
g dgt              t        g d
g dg dgt              ft        g dg dg dg dgt              t        g dg dg dg dgt              fg} t        dd      }| D ]Y  \  }}t        |j                  j                         |      d   }||j                  j                         k(  sJ t        |j                  j                         |      }||j                  j                         k(  sJ t        |j                  j                         |d      \  }}||j                  j                         k(  sJ |j                  |j                  j                               |j                  j                         k(  sJ t        |j                  j                         |      \  }}||j                  j                         k(  sJ |j                  |j                  j                               |j                  j                         k(  sJ |j                  j                  |      }||j                  k(  sJ |j                  j                  |      \  }}||j                  k(  sJ |j                  |j                        |j                  k(  sJ |j                  j                         j                  |      }||j                  j                         k(  sJ |j                  j                         j                  |      \  }}||j                  j                         k(  sJ |j                  |j                  j                               |j                  j                         k(  sJ |j                  |      }||k(  sJ |j                  |      \  }}||k(  sJ |j                  |      |k(  rZJ  y )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         y/var/www/pru.catia.catastroantioquia-mas.com/valormas/lib/python3.12/site-packages/sympy/polys/matrices/tests/test_lll.pytest_lllr?   	   s    $###% ')* #"$%' )+,		
  "$  !"$&		
 !"%!# %'( !""(* ,./		
'< q!HE 0 "8*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"8    c                  0   t        g dg dg dg dgt              t        g dg dg dg dgt              t        g d	g d
g dgt              g} | D ]  t        t        fd       t        t        fd       t        t        fd       t        t        fd       t        t        fd       t        t        fd       t        t        fd       t        t        fd       t        t        fd       t        t        fd        y )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         j                  j                               S Nr   r3   r4   	not_basiss   r>   <lambda>z+test_lll_linear_dependent.<locals>.<lambda>]   s    HY]]-A-A-C$D r@   c                  J    t         j                  j                               S rF   )r   r3   r4   rH   s   r>   rJ   z+test_lll_linear_dependent.<locals>.<lambda>^   s    GIMM,@,@,B$C r@   c                  8     j                   j                         S rF   r3   r6   rH   s   r>   rJ   z+test_lll_linear_dependent.<locals>.<lambda>_   s    IMM$5$5$7 r@   c                  T     j                   j                         j                         S rF   r3   r8   r6   rH   s   r>   rJ   z+test_lll_linear_dependent.<locals>.<lambda>`   s    IMM$8$8$:$>$>$@ r@   c                  $     j                         S rF   r6   rH   s   r>   rJ   z+test_lll_linear_dependent.<locals>.<lambda>a   s    IMMO r@   c                  N    t         j                  j                         d      S NT)r2   rG   rH   s   r>   rJ   z+test_lll_linear_dependent.<locals>.<lambda>b   s    HY]]-A-A-CVZ$[ r@   c                  J    t         j                  j                               S rF   )r   r3   r4   rH   s   r>   rJ   z+test_lll_linear_dependent.<locals>.<lambda>c   s    $5imm6J6J6L$M r@   c                  8     j                   j                         S rF   r3   r7   rH   s   r>   rJ   z+test_lll_linear_dependent.<locals>.<lambda>d   s    IMM$?$?$A r@   c                  T     j                   j                         j                         S rF   r3   r8   r7   rH   s   r>   rJ   z+test_lll_linear_dependent.<locals>.<lambda>e   s    IMM$8$8$:$H$H$J r@   c                  $     j                         S rF   r7   rH   s   r>   rJ   z+test_lll_linear_dependent.<locals>.<lambda>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{=>
?r@   c                  H    t        j                  dt               t        dd      t        dd      t        dd      t        dd      t        dd      fD ]  t	        t
         fd       t	        t
         fd       t	        t
         fd	       t	        t
         fd
       t	        t
         fd       t	        t
         fd       t	        t
         fd       t	        t
         fd       t	        t
         fd       t	        t
         fd        y )Nr   r   r   rD   r   r   d   c                  2    t         j                        S Nr/   r   r3   dummy_matrixwrong_deltas   r>   rJ   z&test_lll_wrong_delta.<locals>.<lambda>l   s    Xl.>.>k%R r@   c                  2    t         j                        S ra   r   r3   rc   s   r>   rJ   z&test_lll_wrong_delta.<locals>.<lambda>m   s    W\-=-=[%Q r@   c                  <     j                   j                        S ra   rM   rc   s   r>   rJ   z&test_lll_wrong_delta.<locals>.<lambda>n   s    \%5%5%9%9%9%L r@   c                  X     j                   j                         j                        S ra   rO   rc   s   r>   rJ   z&test_lll_wrong_delta.<locals>.<lambda>o   s$    \%5%5%<%<%>%B%B%B%U r@   c                  (     j                        S ra   rQ   rc   s   r>   rJ   z&test_lll_wrong_delta.<locals>.<lambda>p   s    \%5%5K%5%H r@   c                  4    t         j                  d      S )NTr1   rb   rc   s   r>   rJ   z&test_lll_wrong_delta.<locals>.<lambda>q   s    Xl.>.>kdh%i r@   c                  2    t         j                        S ra   r   r3   rc   s   r>   rJ   z&test_lll_wrong_delta.<locals>.<lambda>r   s    %6|7G7G{%[ r@   c                  <     j                   j                        S ra   rV   rc   s   r>   rJ   z&test_lll_wrong_delta.<locals>.<lambda>s   s    \%5%5%C%C+%C%V r@   c                  X     j                   j                         j                        S ra   rX   rc   s   r>   rJ   z&test_lll_wrong_delta.<locals>.<lambda>t   s%    \%5%5%<%<%>%L%LS^%L%_ r@   c                  (     j                        S ra   rZ   rc   s   r>   rJ   z&test_lll_wrong_delta.<locals>.<lambda>u   s    \%?%?k%?%R r@   )r   onesr   r   r   r   rc   s   @@r>   test_lll_wrong_deltarr   i   s    $$VR0L2q	2a8R1Xr!QxCL 
T|RS|QR|LM|UV|HI|ij|[\|VW|_`|RS
Tr@   c                      t        j                  dt               t        t         fd       t        t         fd       t        t         fd       t        t         fd       t        t         fd       t        t         fd       t        t         fd       t        t         fd	       t        t         fd
       t        t         fd       y )N)rD   r   c                  .    t         j                        S rF   rb   wrong_shape_matrixs   r>   rJ   z&test_lll_wrong_shape.<locals>.<lambda>z   s    *<*@*@!A r@   c                  .    t         j                        S rF   rg   ru   s   r>   rJ   z&test_lll_wrong_shape.<locals>.<lambda>{   s    );)?)?!@ r@   c                  8     j                   j                         S rF   rM   ru   s   r>   rJ   z&test_lll_wrong_shape.<locals>.<lambda>|   s    !3!7!7!;!;!= r@   c                  T     j                   j                         j                         S rF   rO   ru   s   r>   rJ   z&test_lll_wrong_shape.<locals>.<lambda>}   s     !3!7!7!>!>!@!D!D!F r@   c                  $     j                         S rF   rQ   ru   s   r>   rJ   z&test_lll_wrong_shape.<locals>.<lambda>~   s    !3!7!7!9 r@   c                  2    t         j                  d      S rS   rb   ru   s   r>   rJ   z&test_lll_wrong_shape.<locals>.<lambda>   s    *<*@*@SW!X r@   c                  .    t         j                        S rF   rm   ru   s   r>   rJ   z&test_lll_wrong_shape.<locals>.<lambda>   s    !23E3I3I!J r@   c                  8     j                   j                         S rF   rV   ru   s   r>   rJ   z&test_lll_wrong_shape.<locals>.<lambda>   s    !3!7!7!E!E!G r@   c                  T     j                   j                         j                         S rF   rX   ru   s   r>   rJ   z&test_lll_wrong_shape.<locals>.<lambda>   s     !3!7!7!>!>!@!N!N!P r@   c                  $     j                         S rF   rZ   ru   s   r>   rJ   z&test_lll_wrong_shape.<locals>.<lambda>   s    !3!A!A!C r@   )r   rq   r   r   r	   ru   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                      t        j                  dt               t        t         fd       t        t         fd       t        t         fd       t        t         fd       t        t         fd       t        t         fd       t        t         fd       t        t         fd	       t        t         fd
       t        t         fd       y )Nr^   c                  .    t         j                        S rF   rb   wrong_domain_matrixs   r>   rJ   z'test_lll_wrong_domain.<locals>.<lambda>   s    (+>+B+B"C r@   c                  .    t         j                        S rF   rg   r   s   r>   rJ   z'test_lll_wrong_domain.<locals>.<lambda>   s    '*=*A*A"B r@   c                  8     j                   j                         S rF   rM   r   s   r>   rJ   z'test_lll_wrong_domain.<locals>.<lambda>   s    "5"9"9"="="? r@   c                  T     j                   j                         j                         S rF   rO   r   s   r>   rJ   z'test_lll_wrong_domain.<locals>.<lambda>   s     "5"9"9"@"@"B"F"F"H r@   c                  $     j                         S rF   rQ   r   s   r>   rJ   z'test_lll_wrong_domain.<locals>.<lambda>   s    "5"9"9"; r@   c                  2    t         j                  d      S rS   rb   r   s   r>   rJ   z'test_lll_wrong_domain.<locals>.<lambda>   s    (+>+B+BUY"Z r@   c                  .    t         j                        S rF   rm   r   s   r>   rJ   z'test_lll_wrong_domain.<locals>.<lambda>   s    "34G4K4K"L r@   c                  8     j                   j                         S rF   rV   r   s   r>   rJ   z'test_lll_wrong_domain.<locals>.<lambda>   s    "5"9"9"G"G"I r@   c                  T     j                   j                         j                         S rF   rX   r   s   r>   rJ   z'test_lll_wrong_domain.<locals>.<lambda>   s     "5"9"9"@"@"B"P"P"R r@   c                  $     j                         S rF   rZ   r   s   r>   rJ   z'test_lll_wrong_domain.<locals>.<lambda>   s    "5"C"C"E r@   )r   rq   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\   rr   r   r    r@   r>   <module>r      s;    & # : b b I I 'B8J?6TEGr@   