U
    ZÊ¹j>  ã                   @   sD   d dl mZmZ d dlmZ d dlmZ dd„ Zdd„ Zdd	„ Z	d
S )é    )ÚRecurrenceOperatorsÚRecurrenceOperator)Úsymbols)ÚQQc                  C   s:  t ddd�} tt | ¡dƒ\}}||  | d | ks8t‚|| d  | d d d|   | ks`t‚|d | d  | d d|   d |d  ks�t‚|d | d  ||   d }| d d|   d |d  d| d  d	| d   d
|   d |d   | d d| d   d| d   d|   d |d   }||k�s6t‚d S )NÚnT©ÚintegerÚSné   é   é   é   é   é9   é4   é   éu   iD  é   )r   r   r   Úold_poly_ringÚAssertionError)r   ÚRr	   ÚpÚq© r   úd/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/holonomic/tests/test_recurrence.pyÚtest_RecurrenceOperator   s     (0X
ÿÿÿÿr   c                  C   sn   t ddd�} tt | ¡dƒ\}}t| d ddg|ƒ}t| d d| g|ƒ}||krTt‚|jd }||krjt‚d S )Nr   Tr   r	   r   r   r
   )r   r   r   r   r   r   Z
listofpoly)r   r   r	   ÚrrZrr2Zd2r   r   r   Útest_RecurrenceOperatorEqPoly   s    
r   c                  C   sn   t ddd�} tt | ¡dƒ\}}t| d ddg|ƒ}t|jjg|ƒ}tdƒD ]}||| ks`t‚||9 }qLd S )Nr   Tr   r	   r   r   é
   )	r   r   r   r   r   ÚbaseÚoneÚranger   )r   r   Ú_r   ÚaÚmr   r   r   Útest_RecurrenceOperatorPow"   s    r%   N)
Zsympy.holonomic.recurrencer   r   Zsympy.core.symbolr   Z!sympy.polys.domains.rationalfieldr   r   r   r%   r   r   r   r   Ú<module>   s
   