§
    OŠtj>  ã                   ó@   — d dl mZmZ d dlmZ d dlmZ d„ Zd„ Zd„ Z	dS )é    )ÚRecurrenceOperatorsÚRecurrenceOperator)Úsymbols)ÚQQc                  ó  — t          dd¬¦  «        } t          t          j        | ¦  «        d¦  «        \  }}|| z  | dz   |z  k    sJ ‚|| dz  z  | dz  dz   d| z  z   |z  k    sJ ‚|dz  | dz  z  | dz  d| z  z   dz   |dz  z  k    sJ ‚|dz  | dz  z  || z  z   dz  }| dz  d| z  z   dz   |dz  z  d| dz  z  d	| dz  z  z   d
| z  z   dz   |dz  z  z   | dz  d| dz  z  z   d| dz  z  z   d| z  z   dz   |dz  z  z   }||k    sJ ‚d S )NÚnT©ÚintegerÚSné   é   é   é   é   é9   é4   é   éu   iD  é   )r   r   r   Úold_poly_ring)r   ÚRr   ÚpÚqs        úc/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/holonomic/tests/test_recurrence.pyÚtest_RecurrenceOperatorr      s�  € Ý�˜TÐ"Ñ"Ô"€AÝ¥Ô 0°Ñ 3Ô 3°TÑ:Ô:�E€A€rØˆa‰4�A˜‘E˜2‘:ÒÐÐÐØˆa�‰d‰7�q˜!‘t˜A‘v˜a ™c‘z 2‘oÒ%Ð%Ð%Ð%Øˆq‰5��A‘‰:˜!˜Q™$  1¡™* q™.¨"¨a©%Ñ/Ò/Ð/Ð/Ð/Ø	ˆQ‰ˆq�!‰t‰�b˜‘dÑ	˜QÑ€AØ	
ˆA‰��!‘‰�a‰˜˜Q™Ñ ! A q¡D¡&¨2¨a°©d©7Ñ"2°R¸±TÑ"9¸BÑ">ÀÀAÁÑ!EÑEÈÈAÉÐPRÐSTÐVWÑSWÑPWÉØˆAˆq‰D‰ñJØ�q‘5ñJØñJØ " A¡ñI&ñ 	&€Aà�Š6ˆ6ˆ6ˆ6ˆ6ˆ6ó    c                  ó  — t          dd¬¦  «        } t          t          j        | ¦  «        d¦  «        \  }}t	          | dz  ddg|¦  «        }t	          | dz  d| g|¦  «        }||k    rJ ‚|j        d         }||k    rJ ‚d S )Nr   Tr	   r   r   r   r   )r   r   r   r   r   Ú
listofpoly)r   r   r   ÚrrÚrr2Úd2s         r   Útest_RecurrenceOperatorEqPolyr"      s�   € Ý�˜TÐ"Ñ"Ô"€AÝ¥Ô 0°Ñ 3Ô 3°TÑ:Ô:�E€A€rÝ	˜Q ™T 1 a˜L¨!Ñ	,Ô	,€BÝ
˜a ™d A q˜\¨1Ñ
-Ô
-€CØ�SŠyˆyˆyˆ=ð 
Œ˜Ô	€BØ�bŠyˆyˆyˆ=ˆyˆyr   c                  ó  — t          dd¬¦  «        } t          t          j        | ¦  «        d¦  «        \  }}t	          | dz  ddg|¦  «        }t	          |j        j        g|¦  «        }t          d¦  «        D ]}|||z  k    sJ ‚||z  }Œd S )Nr   Tr	   r   r   r   é
   )r   r   r   r   r   ÚbaseÚoneÚrange)r   r   Ú_r   ÚaÚms         r   Útest_RecurrenceOperatorPowr+   "   s›   € Ý�˜TÐ"Ñ"Ô"€AÝ�rÔ/°Ñ2Ô2°DÑ9Ô9�D€A€qÝ	˜Q ™T 1 a˜L¨!Ñ	,Ô	,€BÝ˜AœFœJ˜<¨Ñ+Ô+€AÝ�2‰YŒYð ð ˆØ�B˜‘EŠzˆzˆzˆzØ	ˆR‰ˆˆðð r   N)
Úsympy.holonomic.recurrencer   r   Úsympy.core.symbolr   Ú!sympy.polys.domains.rationalfieldr   r   r"   r+   © r   r   ú<module>r0      sx   ðØ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NØ %Ð %Ð %Ð %Ð %Ð %Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0ð	ð 	ð 	ðð ð ð ð ð ð ð r   