L iNTddlZddlZddlZddlZddlZddlZddlmZm Z GddejZ GddZ GddZ d Zd ZGd d Z dd ddZdZdZde_de_dZdZde_dZde_y)N) MapWrapper_FunctionWrapperc*eZdZdZfdZdZxZS)LRUDictc||_yN)_LRUDict__max_size)selfmax_sizes _/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/integrate/_quad_vec.py__init__zLRUDict.__init__ s "c||v}t||||r|j|yt||jkDr|j dyy)NF)last)super __setitem__ move_to_endlenr popitem)r keyvalue existing_key __class__s r rzLRUDict.__setitem__sOt  C'    S ! Y ( LLeL $)rctr)NotImplementedError)r others r updatezLRUDict.updates !##r)__name__ __module__ __qualname__r rr __classcell__)rs@r rr s#%$rrc"eZdZdZdZdZdZy)SemiInfiniteFuncz9 Argument transform from (start, +-oo) to (0, 1) c||_||_|dkrdnd|_tjj dz|_y)Nr?)_func_start_sgnsys float_infomin_tmin)r funcstartinftys r r zSemiInfiniteFunc.__init__!s7  !)B ^^'', rct|j||jz zdz}|dk(rtjSd|z S)Nr&r)r*r)npinf)r xzs r get_tzSemiInfiniteFunc.get_t)s6 IIT[[ )A - 666M1u rc||jkry|j|jd|z z|z z}|j|}|j||z z|z SNr&)r.r)r*r(r tr5fs r __call__zSemiInfiniteFunc.__call__0sU tzz> dii1q51A55A 1 A99A&* *rNrrr __doc__r r7r>rr r#r#s-+rr#c"eZdZdZdZdZdZy)DoubleInfiniteFuncz6 Argument transform from (-oo, oo) to (-1, 1) cV||_tjjdz|_y)Nr')r(r+r,r-r.)r r/s r r zDoubleInfiniteFunc.__init__=s! ^^'', rc6|dkrdnd}|t|dzz S)Nrr%r&)abs)r r5ss r r7zDoubleInfiniteFunc.get_tCs"a%BQCFQJrct||jkrydt|z |z }|j|}||z |z Sr9)rFr.r(r;s r r>zDoubleInfiniteFunc.__call__GsB q6DJJ SVq A 1 AEQ; rNr?rArr rCrC9s-  rrCc>tjt|Sr)r3amaxrF)r5s r _max_normrKPs 773q6?rc tj|S#t$r*t|drt |j cYSYywxYw)N __sizeof__@)r+ getsizeof TypeErrorhasattrintrM)objs r _get_sizeofrTTsD}}S!!  3 %s~~'( ( s.A  A ceZdZdZdZy)_Bunchc f|j|_|jjdi|y)NrA)keys _Bunch__keys__dict__r)r kwargss r r z_Bunch.__init___s&kkm  &v&rcXdjfdjD}d|dS)Nz, c3XK|]!}|dtj|#yw)=N)reprrZ).0kr s r z"_Bunch.__repr__..ds0$ 01qc4 a()* +$ s'*z_Bunch())joinrY)r key_value_pairss` r __repr__z_Bunch.__repr__cs4))$ 59[[$  )++rN)rrr r rfrArr rVrV^s ',rrVrA)argsc   @t|}t|}| rt| ts| f} t|| }t ||||||| | dn| |  } t j |rJt j|r5t|||@| t@fd| D| d<t@ddfi| St j |rWt j|rBt|||@| t@fd | D| d<t@ddfi| }|d f|ddzSt j|r|t j|rg||krd nd}t|@| d t@fd | Dz| d<nd | d<||k7rt@d dfi| }nt@ddfi| }|d|zf|ddzSt j |rt j |std |d|ttt jjd}t|r|}n||}d}d} t t t"t$d| }| ||fg}n[|}g}t)| D]6}t|}||cxkr|krnn||k(r"|j+||f|}8|j+||fd}d}d}d}g}d}|D]\}} ||| ||\}!}"}#||j,z }|qt|!tt.zr(|tt jjfvrt0}|!}t|"}t|#}|t3|!z}$t5|$}n||!z }||"z }||#z }t7j6|!||| f<|j+|" || ft9j:|d}%d}&d}'d}(|%d|&d|'d|(di})t=|5}*|&}+|rot?||kr`tA||||z},g}-d}.tC|D]g}/|snc|/dkDr |.||,dz z kDrnQt9jD|}0|0\}1}}|jG||fd}2|-j+|1 |||2f|||f|.|1 z }.i|*tH|-D]M}3|3\}4}5}6}7}8||8z }||4z }||5z }||6z }|7D]*}9|9\}} }!}"|!||| f<t9jJ||" || f,Ot?||k\r(tA||||z},||,dz kr|%}+nG||kr|'}+n?t j |rt j |s|(}+n|rt?||kr`ddd|}||z}"| rt jL|}:t jN|:jPt jR|:jT};t jV|Dt jV|D}?||"|?fS||"fS#t&$r}td| |d}~wwxYw#1swY=xYwcc}>> from scipy.integrate import quad_vec >>> import numpy as np >>> import matplotlib.pyplot as plt >>> alpha = np.linspace(0.0, 2.0, num=30) >>> f = lambda x: x**alpha >>> x0, x1 = 0, 2 >>> y, err = quad_vec(f, x0, x1) >>> plt.plot(alpha, y) >>> plt.xlabel(r"$\alpha$") >>> plt.ylabel(r"$\int_{0}^{2} x^\alpha dx$") >>> plt.show() When using the argument `workers`, one should ensure that the main module is import-safe, for instance by rewriting the example above as: .. code-block:: python from scipy.integrate import quad_vec import numpy as np import matplotlib.pyplot as plt alpha = np.linspace(0.0, 2.0, num=30) x0, x1 = 0, 2 def f(x): return x**alpha if __name__ == "__main__": y, err = quad_vec(f, x0, x1, workers=2) Ngk15) epsabsepsrelnorm cache_sizelimitworkerspoints quadrature full_output)r0r1c3@K|]}j|ywrr7r`xpf2s r rbzquad_vec.. $CbRXXb\$Crprr&c3@K|]}j|ywrrtrus r rbzquad_vec..rxryr%)rc3@K|]}j|ywrrtrus r rbzquad_vec..s+JRBHHRL+Jryzinvalid integration bounds a=z, b=)Nmax2)Ngk21ri trapezoidzunknown quadrature zTarget precision reached.zTarget precision not reached.z* ( q5W|c!e';; ==3$,! Q(,,aVT:!!"lAq'2Ay+NK<' ($$$7D >9>6dJ4'$ *,>A&'OBB/1NB8,NN9tRn=> >9~.&&?)C"CD#a%'#C.0(CKK -"++n2M"aC NU23j C  'C**S/ rvvW]]CHH/8:*+-00!A$!uE:AHP )4QAaD545HHI>qqtQqTl>? E"i/ (o ) )# %S$SzQ F.zn=>AEF~33v:4>s7&Y :E3Y*#!Y7* Y<Z Y'Y""Y'*Y4c|\}}}}|\}}}}d||zz} t|dddkDr%tj|j|}||| ||\} } } |j} || |||\}}}| |jz } ||||||\}}}| |jz } t|dddkDr|j j } | |z|z }| |z|z }| |z}|| | | f| |||ff}||||| fS)Nr'rmr)getattr functools lru_cachermr cache_infomisses)rgrr=rrold_errrrrcs1err1round1rs2err2round2_rrr subintervalss r rrsC*.'HaK%GQ7 q1u A{L!,q0 7I   6 6 7 :"1aI6Bf  ! !F"1aI6Bf k"""F#Aq!Y7 A+&&&{L!,q0&& 7W D $; D&J2t$q!R&67L z< 77rcXd||zz}||}||}||}d||z z|d|zz|zz}dt||z zt||dt||zzt||zzdz} d||z z||zz} dt|| |z z} || | fS)z( Composite trapezoid quadrature r'g?rgؗҬ?AFGI RBG $B iR() )C sI r rcdgt|z}d||zz}d||z z} d} d} tt|D]6} ||| || zz} | || <|| }| || zz } | |t| zz } 8d}tt|D]} ||| |d| zdzzz }d}| dz }tt|D]} ||| t|| |z zz }t|| |z | z}t||| z}|dk7r|dk7r|t dd|z|z d zz}t j j}t|d |z| z| z}|t j jkDr t||}| | z||fS) z* Generic Gauss-Kronrod quadrature r:r'rr&g@rg?g?2) rrrFrr-r+r,epsilonr|)rrr=rr5wvfvrhs_ks_k_absiffvvs_gs_k_dabsy0rdabsepsrs r _quadrature_gkrs s1vB q1u A q1u A CG 3q6]   q1QqT6z]1 qT rBw2B<   C 3q6]" qtb1qk!!"H sB 3q6]+AaD3r!urz?**+  39/* +C 8a<( )D qySAXSsSy4/#566 .. CiS1 w 678I3>>%%%#y! s7C ""rc 0d}d}d}t|||||||S)z9 Gauss-Kronrod 21 quadrature with error estimate )g*'il?g*>*?g?g^?gbltu?g"?g @?gj ?g7^)U?gzxP?rgzxPÿg7^)Uҿgj ۿg @g"gbltug^gg*>*g*'il) b_?x8!?1 ?Uz;?p?rrrrr)?[?B@v?碙?"75?牳׷?珁?-]+?Hi&>?la{F?o?g|+!?rrrrrr r r r r rrrr=rr5rrs r rr,s0  /A. .A .A, !Q9aA 66rc 0d}d}d}t|||||||S)z9 Gauss-Kronrod 15 quadrature with error estimate )g M?g)b|_?g>'?g֡㛟?g$:?gb]?gw .?r:gw .ʿgb]ٿg$:g֡㛟g>'g)b|_g M)Wm?D=q?=+No?g/<׿?rrr)ptg[|?a{&?HӺ?F?\}f?ah]?؜*?g O?r rrrrrrrrs r rrps0  /A" .A .A !Q9aA 66r) gN~hg:0yE>r}gחAi'r&NNF)r+rr collectionsrnumpyr3scipy._lib._utilrr OrderedDictrr#rCrKrTrVrrrrmrrrrrArr r&s 9$k%%$"++8. , ,HMOTWWt 8:($) !"0#f>7B/7dr