K i* ddlmZmZmZmZmZmZddlmZddl m Z ddl m Z ddl mZddlmZmZddlmZddlmZmZdd lmZdd lmZd Zd Zd ZdZdZdZ y))find_simple_recurrence_vectorfind_simple_recurrence rationalize"guess_generating_function_rationalguess_generating_functionguess)Product)Function)Rational)S)Symbolsymbols)sympify)RisingFactorial factorial) fibonacci)expcrttdDcgc] }t|c}gdk(sJycc}w)N )r)rranger)ks e/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/concrete/tests/test_guess.py"test_find_simple_recurrence_vectorrs5 (#(9 -aYq\ - /2= >> > -s4c.td}td}ttdDcgc] }t |c}|| ||dzz ||dzzk(sJtd}td}gd}tdD]+}|j d|d zd |d zz d |d zz-t|||d||zd ||dzzzd||dzzz ||d zzk(sJtgddk(sJycc}w)Nanrr)rrrr)ANi) rrr Jrr"rrrUr!?r)r r rrrappend)rrrfis rtest_find_simple_recurrencer/s/ As A !r"CA9Q<"C D 1!a%1QU8# %% %  As AA 2Y91R51R51R5!899 !!qA . 1Q4!Aa!eH*q1q5z)Aa!eH4 66 6 !#8 9<= >> >#DsDcddlm}m}m}t ||dz t j k(sJt |dtddk(sJt |dtddk(sJt |d td d k(sJy) Nrcospimpfr"z0.333333333333333rz-0.333333333333333r)maxcoefficq)mpmathr2r3r4rr Halfr r1s rtest_rationalizer:)s## s2a4y !QVV ++ + s./ 0HQN BB B s/0 1Xb!_ DD D rc *hsC.@ @@ @ctd}ttddDcgc] }t|c}d|zdz|dz |z dzz k(sJycc}w)Nxr!r r"rr)r rrrr=rs r'test_guess_generating_function_rationalr?1ses A -q"/ 09|/ %&qS1W1uqy1}$= ?? ?/sActd}ttddDcgc] }t|c}dd|zdz|dz |z dzz k(sJtgddd|d zd|dzzzd |zz dzz tj zk(sJtt d d|tddzd |dzzd|zz dzz k(sJttd Dcgc] }t|c}d gd d| dzz k(sJttd Dcgc]}|dz c}d g|dzt|z|dz|dzz dk(sJycc}wcc}wcc}w)Nr=r!r ogfr"rr) rrr!)|iiiiZ/ir*zF[3/2, 11/2, 0, -121/2, -363/2, 121, 4719/2, 11495/2, -8712, -178717/2] regf)types)rFlgdegf) r rrrr r9rr rrr>s rtest_guess_generating_functionrI7ss A $q"& '0l& % ',-aC!Gq!teai!m+D FF F $= ??D F AqD1QT6MAaC ! # $qvv- // / %WO&Q  A&AqD1Q3):; << < %E"I%Fqil%FW   !A26  ++ + $59%=aac%=W "#a%QAEAE?K LL L&&G%=sEE Ec td\}}tgddt|dz|d|dz fgk(sJtgdtd|dz gk(sJtgdd d|dz zt d d |dzdz d |zdz z dzzzttt d d |dz tt dd |dz ztt d d|dz tt d d|dz zz |d|dz fzgk(sJtgdgk(sJtd\}}tgd||gtd|dz gk(sJy)Nzi0 i1)rrxF)evaluaterr)rr*ii iTir*)niterr"r!rO)rrrzx y) variables)rrr rr )i0i1r=ys r test_guessrXGs W FB #e 4a"aQSVWQW9Y8Z ZZ Z # $BF)C(D DD D ;1 E BF Xb"%Qq1R46)9 *   ?8Aq>26:?8TUWX>[] \ <  hq!nb1f5ohqRSnVX W 7   !R!V_  J    r !! ! 5>DAq #1v 6?1aRSe;T:U UU Ur;N)!sympy.concrete.guessrrrrrrsympy.concrete.productsr sympy.core.functionr sympy.core.numbersr sympy.core.singletonr sympy.core.symbolr rsympy.core.sympifyr(sympy.functions.combinatorial.factorialsrr%sympy.functions.combinatorial.numbersr&sympy.functions.elementary.exponentialrrr/r:r?rIrXr;rrdsM  ,('"/&Q;6> > A? L Vr;