§
    OŠtjÞ  ã                  ó¢   — d dl mZ d dlmZ d dlmZmZ d dlm	Z	m
Z
mZmZ  edd¦  «        dfd„Z edd¦  «        fd	„Z edd¦  «        fd
„ZdS )é    )Úannotations)Úfloor)ÚZZÚQQ)ÚDMRankErrorÚDMShapeErrorÚDMValueErrorÚDMDomainErroré   é   Fc                óÔ  ‡‡‡‡‡‡‡‡‡‡‡‡‡— t          dd¦  «        ‰k    s‰t          dd¦  «        k    rt          d¦  «        ‚| j        d         | j        d         k    rt          d¦  «        ‚| j        t
          k    rt          d¦  «        ‚| j        d         Š| j        d         Šd}|                      ¦   «         }|                      ‰‰ft           ¦  «        Š|                      ‰‰ft           ¦  «        Šd„ t          ‰¦  «        D ¦   «         Št          dd¦  «        Š‰r|  
                    ‰t
          ¦  «        nd }d	}ˆfd
„Šdˆˆˆfd„Šdˆˆfd„Šdd„}dˆˆˆˆfd„}t          ‰¦  «        D ]žŠd„ |‰         D ¦   «         ‰‰<   t          ‰¦  «        D ]eŠ ||‰‰‰f¦  «        }		 |	‰‰         z  ‰‰         ‰<   n# t          $ r t          |¦  «        ‚w xY wˆˆˆˆfd„t          ‰¦  «        D ¦   «         ‰‰<   Œf |‰‰‰‰f¦  «        ‰‰<   ŒŸ|‰k     �rø ‰||dz
  ¦  «        s ||‰|||dz
  f¦  «          ‰|¦  «        r:t          |dz
  dd¦  «        D ]}
 ‰||
¦  «        s ||‰|||
f¦  «         Œ|dz  }�nŠ‰|         |dz
           }‰|         |dz  ‰|dz
           z  z   }	 ‰|dz
           |z  }n# t          $ r t          |¦  «        ‚w xY w||z  ‰|         |dz
  <   ‰|         |z  ‰|<   |‰|dz
  <   ||dz
           ||         c||<   ||dz
  <   ‰|dz
           d |dz
  …         ‰|         d |dz
  …         c‰|         d |dz
  …<   ‰|dz
           d |dz
  …<   t          |dz   ‰¦  «        D ]_Š‰‰         |         }‰‰         |dz
           ||z  z
  ‰‰         |<   ‰|         |dz
           ‰‰         |         z  |z   ‰‰         |dz
  <   Œ`‰r||dz
           ||         c||<   ||dz
  <   t          |dz
  d¦  «        }|‰k     �°øt          ˆfd„t          d‰¦  «        D ¦   «         ¦  «        sJ ‚t          ˆfd„t          ‰¦  «        D ¦   «         ¦  «        sJ ‚||fS )Né   r   z!delta must lie in range (0.25, 1)r   z/input matrix must have shape (m, n) with m <= nzinput matrix domain must be ZZc                ó.   — g | ]}t          d d¦  «        ‘ŒS ©r   r   )r   )Ú.0Ú_s     úV/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/polys/matrices/lll.pyú
<listcomp>z_ddm_lll.<locals>.<listcomp>   s    € Ð)Ð)Ð)˜1�b��A‰hŒhÐ)Ð)Ð)ó    é   z-input matrix contains linearly dependent rowsc                óB   •— t          t          | ‰z   ¦  «        ¦  «        S ©N)r   Úmfloor)ÚxÚhalfs    €r   Úclosest_integerz!_ddm_lll.<locals>.closest_integer   s   ø€ Ý•&˜˜T™Ñ"Ô"Ñ#Ô#Ð#r   ÚkÚintÚreturnÚboolc                ó^   •— ‰|          ‰‰|          | dz
           dz  z
  ‰| dz
           z  k    S )Nr   r   © )r   ÚdeltaÚg_starÚmus    €€€r   Úlovasz_conditionz"_ddm_lll.<locals>.lovasz_condition   s5   ø€ Ø�aŒy˜e b¨¤e¨A°©E¤l°aÑ&7Ñ7¸6À!ÀaÁ%¼=ÑHÒIÐIr   Újc                óB   •— t          ‰|          |         ¦  «        ‰k    S r   )Úabs)r   r'   r   r%   s     €€r   Úmu_smallz_ddm_lll.<locals>.mu_small!   s   ø€ Ý�2�a”5˜”8‰}Œ} Ò$Ð$r   Úrowsútuple[int, int]c                ór   ‡ ‡‡— t          ˆˆ ˆfd„t          ‰ j        d         ¦  «        D ¦   «         ¦  «        S )Nc              3  ój   •K  — | ]-}‰‰d                   |         ‰‰d                  |         z  V — Œ.dS )r   r   Nr"   )r   Úzr+   r   Úys     €€€r   ú	<genexpr>z-_ddm_lll.<locals>.dot_rows.<locals>.<genexpr>%   s@   øè è € ÐLÐL°Q�1�T˜!”W”:˜a”= 1 T¨!¤W¤:¨a¤=Ñ0ÐLÐLÐLÐLÐLÐLr   r   )ÚsumÚrangeÚshape)r   r0   r+   s   ```r   Údot_rowsz_ddm_lll.<locals>.dot_rows$   s<   øøø€ ÝÐLÐLÐLÐLÐLÐL½%ÀÄÈÄ
Ñ:KÔ:KÐLÑLÔLÑLÔLÐLr   c                ó°  •‡ ‡‡‡‡—  ‰‰‰d                  ‰d                  ¦  «        Šˆˆˆfd„t          ‰¦  «        D ¦   «         ‰‰d         <   ˆˆˆfd„t          ‰d         ¦  «        D ¦   «         ‰‰d                  d ‰d         …<   ‰‰d                  ‰d         xx         ‰z  cc<   ‰r(ˆ ˆˆfd„t          ‰¦  «        D ¦   «         ‰ ‰d         <   d S d S )Nr   r   c                óh   •— g | ].}‰‰d                   |         ‰‰‰d                  |         z  z
  ‘Œ/S r   r"   )r   r/   Úrr+   r0   s     €€€r   r   z0_ddm_lll.<locals>.reduce_row.<locals>.<listcomp>)   s;   ø€ ÐJÐJÐJ¸A�a˜˜Qœ”j ”m a¨!¨D°¬G¬*°Q¬-Ñ&7Ñ7ÐJÐJÐJr   c                óh   •— g | ].}‰‰d                   |         ‰‰‰d                  |         z  z
  ‘Œ/S r   r"   )r   r/   r%   r8   r+   s     €€€r   r   z0_ddm_lll.<locals>.reduce_row.<locals>.<listcomp>*   s;   ø€ Ð ]Ð ]Ð ]È  D¨¤G¤¨Q¤°!°b¸¸a¼´kÀ!´nÑ2DÑ!DÐ ]Ð ]Ð ]r   c                óh   •— g | ].}‰‰d                   |         ‰‰‰d                  |         z  z
  ‘Œ/S r   r"   )r   r/   ÚTr8   r+   s     €€€r   r   z0_ddm_lll.<locals>.reduce_row.<locals>.<listcomp>-   s;   ø€ ÐNÐNÐNÀ˜!˜D œGœ* Qœ-¨!¨a°°Q´¬j¸¬mÑ*;Ñ;ÐNÐNÐNr   ©r3   )	r;   r%   r0   r+   r8   r   ÚmÚnÚreturn_transforms	   ````@€€€€r   Ú
reduce_rowz_ddm_lll.<locals>.reduce_row'   s  øøøøøø€ ØˆO˜B˜t AœwœK¨¨Q¬Ô0Ñ1Ô1ˆØJÐJÐJÐJÐJÐJÅÀqÁÄÐJÑJÔJˆˆ$ˆqŒ'‰
Ø ]Ð ]Ð ]Ð ]Ð ]Ð ]ÍeÐTXÐYZÔT[ÉnÌnÐ ]Ñ ]Ô ]ˆˆ4�Œ7Œ�H�T˜!”W�HÑØ
ˆ4�Œ7Œ�D˜”GÐÐÔ Ñ!ÐÐÑØð 	OØNÐNÐNÐNÐNÐNÅUÈ1ÁXÄXÐNÑNÔNˆAˆd�1Œg‰JˆJˆJð	Oð 	Or   c                óB   — g | ]}t          j        |t          ¦  «        ‘ŒS r"   )r   Úconvert_fromr   )r   r/   s     r   r   z_ddm_lll.<locals>.<listcomp>0   s$   € Ð:Ð:Ð:°•R”_ Q­Ñ+Ô+Ð:Ð:Ð:r   c                óh   •— g | ].}‰‰         |         ‰‰         ‰         ‰‰         |         z  z
  ‘Œ/S r"   r"   )r   r/   Úir'   r%   Úy_stars     €€€€r   r   z_ddm_lll.<locals>.<listcomp>7   s;   ø€ ÐRÐRÐRÀA˜ œ 1œ¨¨1¬¨a¬°6¸!´9¸Q´<Ñ(?Ñ?ÐRÐRÐRr   éÿÿÿÿc              3  ó.   •K  — | ]} ‰|¦  «        V — Œd S r   r"   )r   rD   r&   s     €r   r1   z_ddm_lll.<locals>.<genexpr>T   s/   øè è € Ð8Ð8 qÐÐ Ñ"Ô"Ð8Ð8Ð8Ð8Ð8Ð8r   c              3  óT   •K  — | ]"}t          |¦  «        D ]} ‰||¦  «        V — ŒŒ#d S r   r<   )r   rD   r'   r*   s      €r   r1   z_ddm_lll.<locals>.<genexpr>U   s@   øè è € ÐBÐB !½¸q¹¼ÐBÐB°Aˆxˆx˜˜1‰~Œ~ÐBÐBÐBÐBÐBÐBÐBr   )r   r   r   r    )r   r   r'   r   r   r    )r+   r,   )r   r	   r4   r   Údomainr   r
   ÚcopyÚzerosr3   ÚeyeÚZeroDivisionErrorr   ÚmaxÚall)r   r#   r?   r   r0   r;   Úlinear_dependent_errorr5   r@   Úrow_dotÚlÚnuÚalphaÚbetaÚxir   r$   r   rD   r'   r&   r=   r%   r*   r>   rE   s    ``            @@@@@@@@@@@r   Ú_ddm_lllrW   	   sÁ  øøøøøøøøøøøøø€ Ý	ˆ!ˆQ�x„x�5ÒÐ˜E¥R¨¨1¡X¤XÒ-Ð-ÝÐ>Ñ?Ô?Ð?Ø„wˆq„z�A”G˜A”JÒÐÝÐLÑMÔMÐMØ„x•2‚~€~ÝÐ<Ñ=Ô=Ð=Ø	Œ�Œ
€AØ	Œ�Œ
€AØ	€AØ	�Š‰Œ€AØ�WŠW�a˜�V�RÑ Ô €FØ	
�Š�!�Q��Ñ	Ô	€BØ)Ð)¥ a¡¤Ð)Ñ)Ô)€FÝˆa�‰8Œ8€DØ(Ð2ˆ�Šˆa•‰Œˆ¨d€AØLÐð$ð $ð $ð $ð $ðJð Jð Jð Jð Jð Jð Jð Jð%ð %ð %ð %ð %ð %ð %ðMð Mð Mð MðOð Oð Oð Oð Oð Oð Oð Oð Oõ �1‰XŒXð 	5ð 	5ˆØ:Ð:°Q°q´TÐ:Ñ:Ô:ˆˆq‰	Ý�q‘”ð 	Sð 	SˆAØ�h˜q &¨1¨a¨&Ñ1Ô1ˆGð:Ø" V¨A¤YÑ.��1”�a‘�øÝ$ð :ð :ð :Ý!Ð"8Ñ9Ô9Ð9ð:øøøàRÐRÐRÐRÐRÐRÐRÍÈqÉÌÐRÑRÔRˆF�1‰IˆIØ�H˜V V¨a°¨VÑ4Ô4ˆˆq‰	ˆ	Ø
ˆaŠ%‰%Øˆx˜˜1˜q™5Ñ!Ô!ð 	-ØˆJ�q˜"˜a ! Q¨¡U Ñ,Ô,Ð,ØÐ˜AÑÔð 	Ý˜1˜q™5 " bÑ)Ô)ð 1ð 1�Ø�x  1‘~”~ð 1Ø�J˜q " a¨!¨Q¨Ñ0Ô0Ð0øØ�‰FˆA‰Aà�A”�q˜1‘u”ˆBØ˜1”I  a¡¨&°°Q±¬-Ñ 7Ñ7ˆEð:Ø˜a !™e”} uÑ,��øÝ$ð :ð :ð :Ý!Ð"8Ñ9Ô9Ð9ð:øøøà ™9ˆBˆqŒE�!�a‘%‰LØ˜qœ	 DÑ(ˆF�1‰IØ!ˆF�1�q‘5‰MØ˜q 1™uœX q¨¤tˆNˆAˆa‰D�!�A˜‘E‘(Ø/1°!°a±%¬y¸¸!¸a¹%¸Ô/@À"ÀQÄ%ÈÈÈQÉÈÄ-Ð,ˆBˆqŒE�&�1�q‘5�&‰M˜2˜a !™eœ9 V a¨!¡e VÑ,Ý˜1˜q™5 !‘_”_ð <ð <�Ø˜”U˜1”X�Ø˜aœ5  Q¡œ<¨"¨r©'Ñ1��1”�a‘Ø! !œu Q¨¡Uœ|¨b°¬e°A¬hÑ6¸Ñ;��1”�a˜!‘e‘�Øð 0Ø!" 1 q¡5¤¨1¨Q¬4���!‘�a˜˜A™‘hÝ�A˜‘E˜1‘”ˆAð5 ˆaŠ%‰%õ6 Ð8Ð8Ð8Ð8­E°!°Q©K¬KÐ8Ñ8Ô8Ñ8Ô8Ð8Ð8Ð8ÝÐBÐBÐBÐB¥u¨Q¡x¤xÐBÑBÔBÑBÔBÐBÐBÐBØˆaˆ4€Ks   Æ+G Ç GÊ,J; Ê;Kc                ó2   — t          | |d¬¦  «        d         S )NF©r#   r?   r   ©rW   ©r   r#   s     r   Úddm_lllr\   Y   s   € Ý�A˜U°UÐ;Ñ;Ô;¸AÔ>Ð>r   c                ó&   — t          | |d¬¦  «        S )NTrY   rZ   r[   s     r   Úddm_lll_transformr^   ]   s   € Ý�A˜U°TÐ:Ñ:Ô:Ð:r   N)Ú
__future__r   Úmathr   r   Úsympy.polys.domainsr   r   Úsympy.polys.matrices.exceptionsr   r   r	   r
   rW   r\   r^   r"   r   r   ú<module>rc      sß   ðØ "Ð "Ð "Ð "Ð "Ð "à  Ð  Ð  Ð  Ð  Ð  à &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ø bÐ bÐ bÐ bÐ bÐ bÐ bÐ bÐ bÐ bÐ bÐ bð �b˜˜A‘h”h°ð Mð Mð Mð Mð` �R˜˜1‘X”Xð ?ð ?ð ?ð ?ð  "˜r ! Q™xœxð ;ð ;ð ;ð ;ð ;ð ;r   