§
    OŠtj*  ã                   ó¾   — d dl mZmZmZmZ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mZ d dlmZ d dlmZmZ d d	lmZ d d
lmZ d„ Zd„ Zd„ Zd„ Zd„ Zd„ Z dS )é    )Úfind_simple_recurrence_vectorÚfind_simple_recurrenceÚrationalizeÚ"guess_generating_function_rationalÚguess_generating_functionÚguess)ÚProduct)ÚFunction)ÚRational)ÚS)ÚSymbolÚsymbols)Úsympify)ÚRisingFactorialÚ	factorial©Ú	fibonacci)Úexpc                  ób   — t          d„ t          d¦  «        D ¦   «         ¦  «        g d¢k    sJ ‚d S )Nc                 ó,   — g | ]}t          |¦  «        ‘ŒS © r   ©Ú.0Úks     ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/concrete/tests/test_guess.pyú
<listcomp>z6test_find_simple_recurrence_vector.<locals>.<listcomp>   s   € Ð-Ð-Ð-˜a�Y�q‰\Œ\Ð-Ð-Ð-ó    é   )é   éÿÿÿÿr    )r   Úranger   r   r   Ú"test_find_simple_recurrence_vectorr"      sK   € Ý(Ø-Ð-¥5¨¡9¤9Ð-Ñ-Ô-ñ/ô /Ø2=°+°+ò>ð >ð >ð >ð >ð >r   c                  óš  — t          d¦  «        } t          d¦  «        }t          d„ t          d¦  «        D ¦   «         ¦  «         | |¦  «          | |dz   ¦  «        z
   | |dz   ¦  «        z   k    sJ ‚t          d¦  «        }t          d¦  «        }g d¢} t          d¦  «        D ]8}|                      d	| d
         z  d| d         z  z
  d| d         z  z   ¦  «         Œ9t          | ||¬¦  «        d ||¦  «        z  d ||dz   ¦  «        z  z   d	 ||dz   ¦  «        z  z
   ||dz   ¦  «        z   k    sJ ‚t          g d¢¦  «        dk    sJ ‚d S )NÚaÚnc                 ó,   — g | ]}t          |¦  «        ‘ŒS r   r   r   s     r   r   z/test_find_simple_recurrence.<locals>.<listcomp>   s   € Ð"CÐ"CÐ"C°A¥9¨Q¡<¤<Ð"CÐ"CÐ"Cr   r   r   é   )r   r   r   é   é   r    é   éþÿÿÿé   éýÿÿÿ)ÚAÚNiøÿÿÿ)r   r'   r(   éJ   r   r*   r   r   r'   éU   é   r)   é?   r   )r
   r   r   r!   Úappend)r$   r%   ÚfÚir   s        r   Útest_find_simple_recurrencer7      s�  € Ý�‰Œ€AÝˆs‰Œ€AÝ!Ð"CÐ"C½¸r¹¼Ð"CÑ"CÔ"CÑDÔDØ	
ˆˆ1‰Œˆ���!�a‘%‘”Ñ˜1˜1˜Q ™U™8œ8Ñ#ò%ð %ð %ð %õ 	�‰Œ€AÝˆs‰Œ€AØˆ	ˆ	€AÝ�2‰YŒYÐ9Ð9ˆ˜Ÿš  1 R¤5¡¨¨1¨R¬5©¡°°1°R´5±Ñ!8Ñ9Ô9Ð9Ð9Ý! ! q¨AÐ.Ñ.Ô.Ø
ˆ1ˆ1ˆQ‰4Œ4‰�!�A�A�a˜!‘e‘H”H‘*Ñ˜q   1 q¡5¡¤™zÑ)¨A¨A¨a°!©e©H¬HÑ4ò6ð 6ð 6ð 6å!ð #8ð #8ð #8ñ 9ô 9Ø<=ò>ð >ð >ð >ð >ð >r   c                  ój  — ddl m} m}m} t	           | |dz  ¦  «        ¦  «        t
          j        k    sJ ‚t	           |d¦  «        ¦  «        t          dd¦  «        k    sJ ‚t	           |d¦  «        ¦  «        t          dd¦  «        k    sJ ‚t	          |d¬	¦  «        t          d
d¦  «        k    sJ ‚d S )Nr   ©ÚcosÚpiÚmpfr*   z0.333333333333333r   z-0.333333333333333r    éú   )Úmaxcoeffic  éq   )Úmpmathr:   r;   r<   r   r   ÚHalfr   r9   s      r   Útest_rationalizerB   )   sÍ   € Ø#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ý�s�s˜2˜a™4‘y”yÑ!Ô!¥Q¤VÒ+Ð+Ð+Ð+Ý�s�sÐ.Ñ/Ô/Ñ0Ô0µH¸QÀ±N´NÒBÐBÐBÐBÝ�s�sÐ/Ñ0Ô0Ñ1Ô1µX¸bÀ!±_´_ÒDÐDÐDÐDÝ�r cÐ*Ñ*Ô*­h°s¸CÑ.@Ô.@Ò@Ð@Ð@Ð@Ð@Ð@r   c                  ó¤   — t          d¦  «        } t          d„ t          dd¦  «        D ¦   «         ¦  «        d| z  dz   | dz   | z
  dz   z  k    sJ ‚d S )NÚxc                 ó,   — g | ]}t          |¦  «        ‘ŒS r   r   r   s     r   r   z;test_guess_generating_function_rational.<locals>.<listcomp>3   s.   € ð /ð /ð /Øõ 09¸©|¬|ð /ð /ð /r   r)   r(   r*   r'   r   )r   r   r!   ©rD   s    r   Ú'test_guess_generating_function_rationalrG   1   sz   € Ýˆs‰Œ€AÝ-ð /ð /Ý�q˜"‘”ð/ñ /ô /ñ  ô  Ø%& q¡S¨1¡W°°1±¨u°q©y¸1©}Ñ$=ò?ð ?ð ?ð ?ð ?ð ?r   c                  óÞ  — t          d¦  «        } t          d„ t          dd¦  «        D ¦   «         ¦  «        d         d| z  dz   | dz   | z
  dz   z  k    sJ ‚t          g d	¢¦  «        d         d| d
z  d| dz  z  z   d
| z  z
  dz   z  t          j        z  k    sJ ‚t          t          d¦  «        ¦  «        d         | t          dd¦  «        z   d| dz  z  d| z  z
  dz   z  k    sJ ‚t          d„ t          d¦  «        D ¦   «         dg¬¦  «        d         d|  dz   z  k    sJ ‚t          d„ t          d¦  «        D ¦   «         dg¬¦  «        | dz   t          | ¦  «        z  | dz   | dz   z  dœk    sJ ‚d S )NrD   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r   r   r   s     r   r   z2test_guess_generating_function.<locals>.<listcomp>9   s.   € ð &ð &ð &Øõ '0°¡l¤lð &ð &ð &r   r)   r(   Úogfr*   r'   r   )r   r'   r)   é   é)   é|   i  i°  i×  iZ/  i˜  r2   zF[3/2, 11/2, 0, -121/2, -363/2, 121, 4719/2, 11495/2, -8712, -178717/2]é   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r   )r   r   s     r   r   z2test_guess_generating_function.<locals>.<listcomp>A   s   € Ð%FÐ%FÐ%F°q¥i°¡l¤lÐ%FÐ%FÐ%Fr   r   Úegf)Útypesc                 ó   — g | ]}|d z   ‘ŒS )r   r   r   s     r   r   z2test_guess_generating_function.<locals>.<listcomp>C   s   € Ð%=Ð%=Ð%=¨a a¨¡cÐ%=Ð%=Ð%=r   )rP   Úlgdegf)r   r   r!   r   rA   r   r   r   rF   s    r   Útest_guess_generating_functionrT   7   s  € Ýˆs‰Œ€AÝ$ð &ð &Ý�q˜"‘”ð&ñ &ô &ñ  ô  Ø %ô'Ø,-¨a©C°!©G°q¸!±t°e¸a±iÀ!±mÑ+DòFð Fð Fð Få$Ø=Ð=Ð=ñ?ô ?Ø?DôFà	
ˆAˆq‰D�1�Q˜‘T‘6‰M˜A˜a™CÑ !Ñ#Ñ	$¥q¤vÑ-ò/ð /ð /ð /õ %¥WØOñ&Qô &Qñ 	ô 	à	ôà�  A™œÑ&¨¨A¨q©D©°1°Q±3©¸Ñ):Ñ;ò<ð <ð <ð <õ %Ð%FÐ%F½EÀ"¹I¼IÐ%FÑ%FÔ%FØˆWðñ ô ØôØ ! A 2¨¡6¡
ò+ð +ð +ð +å$Ð%=Ð%=µ5¸±9´9Ð%=Ñ%=Ô%=ØˆWðñ ô Ø"# a¡%­¨Q©¬¡¸AÀ¹EÀAÈÁE¹?ÐKÐKòLð Lð Lð Lð Lð Lr   c                  óN  — t          d¦  «        \  } }t          g d¢d¬¦  «        t          |dz   |d| dz
  f¦  «        gk    sJ ‚t          g d¢¦  «        t          d| dz
  ¦  «        gk    sJ ‚t          g d¢d¬	¦  «        d| dz
  z  t	          d
d¦  «        | dz  dz  d| z  dz  z
  dz   z  z  t          t          t	          dd¦  «        |dz
  ¦  «        t          t	          dd¦  «        |dz
  ¦  «        z  t          t	          dd¦  «        |dz
  ¦  «        t          t	          dd¦  «        |dz
  ¦  «        z  z  |d| dz
  f¦  «        z  gk    sJ ‚t          g d¢¦  «        g k    sJ ‚t          d¦  «        \  }}t          g d¢||g¬¦  «        t          d|dz
  ¦  «        gk    sJ ‚d S )Nzi0 i1)r   r'   é   é   éx   F)Úevaluater   r'   )r   r'   é   é*   i­  i  iìT i¨�¥ r2   )Úniteré   é   r*   r)   rZ   )r   r   r'   zx y)Ú	variables)r   r   r	   r   r   )Úi0Úi1rD   Úys       r   Ú
test_guessrc   G   s  € Ý�WÑÔ�F€BˆÝÐ#Ð#Ð#¨eÐ4Ñ4Ô4½ÀÀaÁÈ"ÈaÐQSÐVWÑQWÈÑ9YÔ9YÐ8ZÒZÐZÐZÐZÝÐ#Ð#Ð#Ñ$Ô$­¸¸BÀ¹FÑ)CÔ)CÐ(DÒDÐDÐDÐDÝÐ;Ð;Ð;À1ÐEÑEÔEØ	ˆB�‰F‰•X˜b "Ñ%Ô%¨¨Q©¨q©°1°R±4¸±6Ñ)9Ø	ñ*
ñ ñ 	Ý•?¥8¨A¨q¡>¤>°2¸±6Ñ:Ô:½?Í8ÐTUÐWXÉ>Ì>Ð[]Ø
ñ\ñ <ô <ñ Ý�h q¨!™nœn¨b°1©fÑ5Ô5µoÅhÈqÐRSÁnÄnÐVXØ	ñW
ñ 7ô 7ñ ñà�!�R˜!‘Vˆ_ñô ñ	ðJò ð ð ð õ
 ���ÑÔ˜rÒ!Ð!Ð!Ð!Ý�5‰>Œ>�D€A€qÝÐ#Ð#Ð#°°1¨vÐ6Ñ6Ô6½?È1ÈaÐRSÉeÑ;TÔ;TÐ:UÒUÐUÐUÐUÐUÐUr   N)!Úsympy.concrete.guessr   r   r   r   r   r   Úsympy.concrete.productsr	   Úsympy.core.functionr
   Úsympy.core.numbersr   Úsympy.core.singletonr   Úsympy.core.symbolr   r   Úsympy.core.sympifyr   Ú(sympy.functions.combinatorial.factorialsr   r   Ú%sympy.functions.combinatorial.numbersr   Ú&sympy.functions.elementary.exponentialr   r"   r7   rB   rG   rT   rc   r   r   r   ú<module>rn      st  ðð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð ,Ð +Ð +Ð +Ð +Ð +Ø (Ð (Ð (Ð (Ð (Ð (Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø "Ð "Ð "Ð "Ð "Ð "Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ø &Ð &Ð &Ð &Ð &Ð &Ø QÐ QÐ QÐ QÐ QÐ QÐ QÐ QØ ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6ð>ð >ð >ð
>ð >ð >ð Að Að Að?ð ?ð ?ðLð Lð Lð Vð Vð Vð Vð Vr   