
    sg>                     >    d dl mZmZ d dlmZ d dlmZ d Zd Zd Z	y)    )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 y )NnTintegerSn               9   4      u   iD     )r   r   r   old_poly_ring)r   Rr   pqs        X/var/www/html/venv/lib/python3.12/site-packages/sympy/holonomic/tests/test_recurrence.pytest_RecurrenceOperatorr      si   T"A 0 0 3T:EAra4AE2:ad7q!tAvacz2o%%%q5A:!Q$1*q."a%////	Qq!tbd	QA	
A!aQ!AqD&2ad7"2RT"9B">A!EEAPRSTVWSWPWAqDJq5JJ "AI& 	&A6M6    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 y )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 0 3T:EAr	QT1aL!	,B
adAq\1
-CSy= 
	Bby=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  } y )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//2D9DAq	QT1aL!	,BAFFJJ<+A2Y BEzz	Rr   N)
sympy.holonomic.recurrencer   r   sympy.core.symbolr   !sympy.polys.domains.rationalfieldr   r   r"   r+    r   r   <module>r0      s    N % 0	 r   