K i>>ddlmZmZddlmZddlmZdZdZdZ y))RecurrenceOperatorsRecurrenceOperator)symbols)QQctdd}ttj|d\}}||z|dz|zk(sJ||dzz|dzdzd|zz|zk(sJ|dz|dzz|dzd|zzdz|dzzk(sJ|dz|dzz||zzdz}|dzd|zzdz|dzzd|dzzd |dzzzd |zzd z|dzzz|dzd |dzzzd |dzzzd|zzdz|dzzz}||k(sJy)NnTintegerSn94uiD)rrr old_poly_ring)rRr pqs k/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/holonomic/tests/test_recurrence.pytest_RecurrenceOperatorrsiT"A  0 0 3T :EAr a4AE2:   ad7q!tAvacz2o %% % q5A:!Q$1*q."a%/ // / Qq!tbd QA A!aQ!AqD&2ad7"2RT"9B">A!EEAPRSTVWSWPW AqDJq5JJ "AI& &A 6M6ctdd}ttj|d\}}t |dzddg|}t |dzd|g|}||k(rJ|j d}||k(rJy)NrTr r r rr )rrrrr listofpoly)rrr rrrr2d2s rtest_RecurrenceOperatorEqPolyr"sT"A  0 0 3T :EAr QT1aL! ,B adAq\1 -CSy=  Bby=yrctdd}ttj|d\}}t |dzddg|}t |j j g|}tdD]}|||zk(sJ||z}y)NrTr r r r )rrrrrbaseonerange)rr_rams rtest_RecurrenceOperatorPowr+"sT"A r//2D 9DAq QT1aL! ,BAFFJJ<+A 2YBEzz RrN) sympy.holonomic.recurrencerrsympy.core.symbolr!sympy.polys.domains.rationalfieldrrr"r+rrr0sN%0   r