Ë
    7^(hö  ã                   ó�   — d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZmZmZmZ d dlmZmZ d	„ Zd
„ Zd„ Zd„ Zy)é    )Úproduct)ÚFunctionÚdiff)ÚRational)ÚS)Úsymbols)Úexp)Úapply_finite_diffÚdifferentiate_finiteÚfinite_diff_weightsÚ_as_finite_diff)ÚraisesÚwarns_deprecated_sympyc            	      ó  ‡ ‡‡— t        d«      \  ŠŠt        d«      Š t        d‰‰z
  ‰‰z   g ‰ ‰‰z
  «       ‰ ‰‰z   «      g‰«       ‰ ‰‰z   «       ‰ ‰‰z
  «      z
  d‰z  z  z
  j                  «       dk(  sJ ‚t        dg d¢ ‰ d«       ‰ d«       ‰ d	«      gd«      t	        d
d«       ‰ d«      z  d ‰ d«      z  z   t
        j                   ‰ d	«      z  z
  z
  j                  «       dk(  sJ ‚t        t        ˆ ˆˆfd„«       y )Nzx hÚfé   é   r   ©é   é   é   r   r   r   éýÿÿÿc                  ó0   •— t        d‰‰g ‰ ‰«      g«      S )Nr   )r
   ©r   ÚhÚxs   €€€úc/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/calculus/tests/test_finite_diff.pyú<lambda>z(test_apply_finite_diff.<locals>.<lambda>   s   ø€ Ô0°°Q¸°F¹Q¸q»T¸FÓC€ ó    )	r   r   r
   Úsimplifyr   r   ÚHalfr   Ú
ValueErrorr   s   @@@r   Útest_apply_finite_diffr#      s  ú€ Ü�5‹>�D€A€qÜ�‹€AÜ˜a ! A¡# q¨¡s ©a°°!±«f±a¸¸!¹³fÐ-=¸qÓAÙˆq�‰s‹V‘A�a˜‘c“F‰]˜Q˜q™SÑ!ñ"ß#+¡8£:°ò3ð 3ð 3ô ˜a¢©Q¨q«T±1°Q³4¹¸1»Ð,>ÀÓBÜ�b˜!‹_™Q˜q›TÑ! A¡a¨£d¡FÑ*¬Q¯V©V±A°a³D©[Ñ8ñ:ß;C¹8»:ÈòKð Kð Kä
Œ:ÕCÕDr   c                  ó>  ‡— t        dg d¢d«      } | d   d   t        dd«      dt        dd«      gk(  sJ ‚g d¢}t        d|t        j                  «      } t	        d«      D ]3  }| d	   |   t        j
                  gt        j                  gd
z  z   k(  rŒ3J ‚ | d   d	   t        j                  gdz  k(  sJ ‚| d   d   t        j                  t        j                  t        dd«      gt        j                  gdz  z   k(  sJ ‚| d   d   t        j                  t        dd«      t        dd«      t        dd«      t        dd«      gt        j                  gdz  z   k(  sJ ‚| d   d   t        j                  t        dd«      t        dd«      t        dd«      t        dd«      t        dd«      t        dd«      gt        j                  gdz  z   k(  sJ ‚| d   d
   t        j                  t        dd«      t        dd«      t        dd«      t        dd«      t        dd«      t        dd«      t        dd«      t        dd«      g	k(  sJ ‚t	        d«      D ]!  }| d   |   t        j                  gdz  k(  rŒ!J ‚ | d   d   t        d«       t        j
                  t        j
                  gt        j                  gdz  z   k(  sJ ‚| d   d   t        dd«      t        dd«      t        dd«      t        dd«      t        dd«      gt        j                  gdz  z   k(  sJ ‚| d   d   t        dd«      t        dd«      t        dd«      t        dd«      t        dd«      t        dd«      t        dd«      gt        j                  gdz  z   k(  sJ ‚| d   d
   t        dd«      t        d
d«      t        d
d«      t        dd«      t        dd«      t        d
d«      t        d
d«      t        dd«      t        dd«      g	k(  sJ ‚t	        d«      D ]!  }| d   |   t        j                  gdz  k(  rŒ!J ‚ | d   d   t        j                  t        j
                   t        j
                  t        j                  t        dd«      gt        j                  gdz  z   k(  sJ ‚| d   d   t        j                  t        dd
«      t        dd
«      t        j
                  t        j
                   t        dd
«      t        dd
«      gt        j                  gdz  z   k(  sJ ‚| d   d
   t        j                  t        dd «      t        d!d «      t        d"d#«      t        d$d#«      t        dd%«      t        dd%«      t        d&d'«      t        d(d'«      g	k(  sJ ‚t	        d«      D ]!  }| d   |   t        j                  gdz  k(  rŒ!J ‚ | d   d   t        d«      t        d«       t        d«       t        j
                  t        j
                  gt        j                  gdz  z   k(  sJ ‚| d   d   t        d)d«      t        dd«      t        dd«      t        d«      t        d«      t        dd«      t        dd«      gt        j                  gdz  z   k(  sJ ‚| d   d
   t        d*d
«      t        d+d,«      t        d+d,«      t        d"d«      t        d"d«      t        dd«      t        dd«      t        d&d'«      t        d&d'«      g	k(  sJ ‚t	        dd«      D ��cg c]V  }t        t	        | dz  dz   d	d«      «      t        t	        d|dz  dz   d«      «      z   D �cg c]  }|t        d«      z  ‘Œ c}‘ŒX }}}t	        d«      D �cg c]  }t        ddddd-œ|   ||   d	«      ‘Œ } }| d	   d	   d   t        j                  t        j                  gk(  sJ ‚| d   d	   d   t        dd.«      t        dd.«      t        dd.«      t        dd.«      gk(  sJ ‚| d   d	   d   t        dd/«      t        d0d/«      t        d1d2«      t        d1d2«      t        d0d/«      t        dd/«      gk(  sJ ‚| d   d	   d&   t        dd3«      t        d4d3«      t        d5d3«      t        d6d3«      t        d6d3«      t        d5d3«      t        d4d3«      t        dd3«      gk(  sJ ‚| d	   d   d   t        j
                   t        j
                  gk(  sJ ‚| d   d   d   t        dd7«      t        d8d
«      t        dd
«      t        dd7«      gk(  sJ ‚| d   d   d   t        dd9«      t        d:d;«      t        d<d=«      t        d1d=«      t        d0d;«      t        dd9«      gk(  sJ ‚| d   d   d&   t        dd>«      t        dd?«      t        d@dA«      t        dBdC«      t        d6dC«      t        d5dA«      t        d4d?«      t        dd>«      gk(  sJ ‚t        t        dD„ «       t        t        dE„ «       t        dF«      Št        t        ˆfdG„«       y c c}w c c}}w c c}w )HNr   r   r   r   r   éÿÿÿÿ)	r   r   r%   r   éþÿÿÿé   r   é   éüÿÿÿr(   r   é   é	   r   r'   r&   é   é   é<   r)   éi   i  éûÿÿÿiÏÿÿÿé   éZ   i3ÿÿÿéH   i;  i0  ióÿÿÿé   iÃÿÿÿé   é=   é©   éx   iWÿÿÿé
   r   éð   iùÿÿÿé   é[   i†ÿÿÿé   )r   r   r   r'   é   é   içÿÿÿéK   é€   i   é1   iÿÿÿiÉ  é   i÷ÿÿÿi€  é   i€  iµÿÿÿé@   i   i   éõ   i   i7ûÿÿi   c                  ó   — t        dddg«      S )Nr%   r   r   ©r   © r   r   r   z*test_finite_diff_weights.<locals>.<lambda>l   s   € Ô2°2¸¸1°vÓ>€ r   c                  ó   — t        dddg«      S )Ng333333ó?r   r   rH   rI   r   r   r   z*test_finite_diff_weights.<locals>.<lambda>m   s   € Ô2°3¸¸A¸Ó?€ r   r   c                  ó    •— t        ‰ ddg«      S )Nr   r   rH   )r   s   €r   r   z*test_finite_diff_weights.<locals>.<lambda>o   s   ø€ Ô2°1°q¸!°fÓ=€ r   )r   r   r   ÚZeroÚrangeÚOner!   Úlistr   r"   r   )ÚdÚxlÚiÚjr   s       @r   Útest_finite_diff_weightsrT      s
  ø€ ä˜Ašy¨!Ó,€AØˆQ‰4�‰7”x  A“¨¬8°B¸«?Ð;Ò;Ð;Ð;ò 
)€Bô 	˜A˜r¤1§6¡6Ó*€Aô �1‹Xò /ˆØ�‰t�A‰wœ1Ÿ5™5˜'¤Q§V¡V H¨Q¡JÑ.Ó.Ð.Ð.ð/ð ˆQ‰4�‰7”q—v‘v�h˜q‘jÒ Ð Ð ØˆQ‰4�‰7”q—v‘vœqŸv™v¤x°°A£Ð7¼1¿6¹6¸(À1¹*ÑDÒDÐDÐDØˆQ‰4�‰7”q—v‘vœx¨¨1›~¬x¸¸A«ÄÈÈRÓ@PÔRZÐ[\Ð^`ÓRaÐbÔfg×flÑflÐemÐnoÑeoÑoÒoÐoÐoØˆQ‰4�‰7”q—v‘vœx¨¨1›~¬x¸¸A«ÄÈÈRÓ@PÔRZÐ[\Ð^`ÓRaÜ  2“¬°°RÓ(8ð:Ü=>¿V¹V¸HÀQ¹JñGò Gð Gð GàˆQ‰4�‰7”q—v‘vœx¨¨1›~¬x¸¸A«ÄÈÈQÃÔQYÐZ[Ð]^ÓQ_Ü  3Ó'¬°"°cÓ):¼HÀRÈÓ<MÌxÐXYÐ[^ÓO_ðaò að að aô �1‹Xò %ˆØ�‰t�A‰wœ1Ÿ6™6˜( 1™*Ó$Ð$Ð$ð%àˆQ‰4�‰7œ˜!›�uœaŸe™e¤Q§U¡UÐ+¬q¯v©v¨h°q©jÑ8Ò8Ð8Ð8ØˆQ‰4�‰7”x  A“¬°°A«¼ÀÀA»ÌÐQSÐUWÓHXÔZbÐceÐgiÓZjÐkÔop×ouÑouÐnvÐwxÑnxÑxÒxÐxÐxØˆQ‰4�‰7”x  RÓ(¬(°1°a«.¼(À1Àa».Ì(ÐSUÐWYÓJZÔ\dÐegÐikÓ\lÜ  2“¬°°B«ð9Ü<=¿F¹F¸8ÀA¹:ñFò Fð Fð FàˆQ‰4�‰7”x  bÓ)¬8°A°q«>¼8ÀAÀq»>Ì8ÐTVÐXYË?Ô\dÐegÐijÓ\kÜ  3Ó'¬°!°SÓ)9¼8ÀBÈÓ;LÌhÐWYÐ[^ÓN_ðaò að að aô �1‹Xò %ˆØ�‰t�A‰wœ1Ÿ6™6˜( 1™*Ó$Ð$Ð$ð%àˆQ‰4�‰7”q—v‘v¤§¡˜v¤q§u¡u¬a¯f©f´h¸rÀ1³oÐFÌ!Ï&É&ÈÐRSÉÑSÒSÐSÐSØˆQ‰4�‰7”q—v‘vœx¨¨QÓ/´¸"¸a³Ä!Ç%Á%Ì!Ï%É%ÈÜ  A“¬°°A«ð8Ü;<¿6¹6¸(À1¹*ñEò Eð Eð EàˆQ‰4�‰7”q—v‘vœx¨¨RÓ0´(¸2¸rÓ2BÄHÈSÐRUÓDVÔX`ÐaeÐgjÓXkÜ  BÓ'¬°!°R«¼(À1ÀcÓ:JÌHÐUWÐY\ÓL]ð_ò _ð _ð _ô �1‹Xò %ˆØ�‰t�A‰wœ1Ÿ6™6˜( 1™*Ó$Ð$Ð$ð%àˆQ‰4�‰7”q˜“tœa ›d˜U¤Q q£T E¬1¯5©5´!·%±%Ð8¼A¿F¹F¸8ÀA¹:ÑEÒEÐEÐEØˆQ‰4�‰7”x  A“¬°°aÓ(8¼(À3ÈÓ:JÌAÈaËDÔRSÐTUÓRVÜ  A“¬°°Q«ð9Ü<=¿F¹F¸8ÀA¹:ñFò Fð Fð FàˆQ‰4�‰7”x  A“¬°°rÓ(:¼HÀTÈ2Ó<NÔPXÐY\Ð^`ÓPaÔckÐloÐqsÓctÜ  A“¬°°Q«¼À!ÀSÓ9IÌ8ÐTUÐWZÓK[ð]ò ]ð ]ð ]ô ˜˜A“;÷
 Øô  ¤ q b¨¡d¨1¡f¨a°Ó 3Ó4´T¼%ÀÀ1ÀQÁ3ÀqÁ5È!Ó:LÓ5MÑMÖ
N�aˆ1ŒQˆq‹T‹6Ô
Nð 
 €Bñ 
 ô
 �A‹hö	Ø	
ô 
  q¨Q°1Ñ5°aÑ8¸"¸Q¹%ÀÕ	Cð 	€Að 	ð ˆQ‰4�‰7�1‰:œ!Ÿ&™&¤!§&¡&Ð)Ò)Ð)Ð)ØˆQ‰4�‰7�1‰:œ( 2 rÓ*¬H°Q¸«O¼XÀaÈ»_ÌhÐWYÐ[]ÓN^Ð_Ò_Ð_Ð_ØˆQ‰4�‰7�1‰:œ( 1 cÓ*¬H°S¸#Ó,>ÄÈÈSÓ@QÔS[Ð\^Ð`cÓSdÜ" 3¨Ó,¬h°q¸#Ó.>ð@ò @ð @ð @àˆQ‰4�‰7�1‰:œ( 2 tÓ,¬h°r¸4Ó.@Ä(È4ÐQUÓBVÔX`ÐaeÐgkÓXlÜ" 4¨Ó.´¸¸tÓ0DÄhÈrÐSWÓFXÔZbÐceÐgkÓZlðnò nð nð nð ˆQ‰4�‰7�1‰:œ1Ÿ5™5˜&¤!§%¡%˜Ò(Ð(Ð(ØˆQ‰4�‰7�1‰:œ( 1 b›/¬8°B¸«?¼HÀQÈ»NÌHÐUWÐY[ÓL\Ð]Ò]Ð]Ð]ØˆQ‰4�‰7�1‰:œ( 2 sÓ+¬X°b¸#Ó->ÄÈÈbÓ@QÜ" 2 rÓ*¬H°S¸#Ó,>ÄÈÈCÓ@PðRò Rð Rð RàˆQ‰4�‰7�1‰:œ( 1 dÓ+¬X°c¸4Ó-@Ü" 3¨Ó-¬x¸¸tÓ/DÜ" 4¨Ó.´¸¸tÓ0DÜ" 2 tÓ,¬h°r¸4Ó.@ðBò Bð Bð Bô Œ:Ñ>Ô?Ü
Œ:Ñ?Ô@Ü�‹€AÜ
Œ:Ó=Õ>ùò= Oùó 
 ùò	s   Û9AhÜ:hÝhÝ$hèhc            
      óL  — t        d«      } t        d«      }t        d«      }t         || «      j                  | «      | dz
  | dz
  | | dz   | dz   g«        ||  || «      dz  z    ||  || «      dz  z   «      dz  z
  «        ||  || «      dz  z   «      z   ||  || «      dz  z    ||  || «      dz  z   «      dz  z   «       ||  || «      dz  z   «      z  z   }t         || «      | «      j	                   || «      |  || «      dz  z   ¬«      }||z
  j                  «       dk(  sJ ‚y )Nr   r   Údxr   r   )ÚpointsÚx0r   )r   r   r   r   Úas_finite_differencer    )r   r   rV   Údf_trueÚdf_tests        r   Útest_as_finite_diffr\   r   s)  € Ü�‹€AÜ�‹€AÜ	�$‹€Bä‘A�a“D—I‘I˜a“L 1 Q¡3¨¨!©¨Q°°!±°Q°q±SÐ"9Ô:ñ �‘2�a“5˜‘7‘™2˜a¡ 1£ a¡™i›=¨™?Ñ*Ó+Ð+©b°±2°a³5¸±7±«mÑ;Ù�!‘B�q“E˜!‘G‘)™B˜q¡ A£ q¡™y›M¨!™OÑ+Ó,©r°!±B°q³E¸!±G±)«}Ñ<ñ=€Gä‘1�Q“4˜‹m×0Ñ0¹¸1»À!ÁBÀqÃEÈ!ÁGÁ)Ð0ÓL€GØ�gÑ×'Ñ'Ó)¨QÒ.Ð.Ñ.r   c            	      ó
  ‡‡‡— t        d«      \  Š} }t        d«      Št        «       5  t         ‰‰| «      t	        d«      z   ‰| d¬«      }d d d «       t        ‰| gddg«      D ��cg c]  \  }}||t        j                  z  z   ‘Œ c}}\  }}}} ‰||«       ‰||«      z    ‰||«      z
   ‰||«      z
  }	|	z
  j                  «       dk(  sJ ‚t        d	«      Št        «       5  t         ‰‰«       ‰‰«      z  dz   ‰d¬«      }
d d d «        ‰‰t        j                  z
  «        ‰‰t        j                  z   «      z    ‰‰«      z   ‰‰t        j                  z
  «        ‰‰t        j                  z   «      z    ‰‰«      z  z   }
|z
  j                  «       dk(  sJ ‚t         ‰‰«      ‰d
z  z   dz   ‰‰dz
  ‰dz   g¬«      } ‰‰dz   «      ‰dz   d
z  z    ‰‰dz
  «      z
  ‰dz
  d
z  z
  dz  }||z
  j                  «       dk(  sJ ‚t        t        ˆˆˆfd„«       t         ‰‰«       ‰‰«      j                  ‰«      z  ‰«      } ‰‰«        ‰‰dz   «      z    ‰‰t        j                  z   «      z   ‰‰«       ‰‰dz
  «      z
   ‰‰t        j                  z
  «      z  z
  }||k(  sJ ‚t         ‰‰«       ‰‰«      j                  ‰«      j                  ‰«      z  ‰«      } ‰‰t        d
d«      z
  «      d ‰‰t        j                  z
  «      z  z
   ‰‰t        j                  z   «      z    ‰‰t        j                  z
  «      z    ‰‰t        j                  z
  «      d ‰‰t        j                  z   «      z  z
   ‰‰t        d
d«      z   «      z    ‰‰t        j                  z   «      z  z   }||k(  sJ ‚ ‰‰«      j                  ‰«       ‰‰«      j                  ‰«      z  }t        |‰|z
  ‰‰|z   g¬«      }d ‰‰«      z  |z   ‰| ‰z   «      d|z  z  z   d
 ‰|‰z   «      z  d|z  z  z   d ‰‰«      z  |z   ‰| ‰z   «      d|z  z  z   d
 ‰|‰z   «      z  d|z  z  z   z  d|z  z  d ‰‰«      z  |z  d
 ‰| ‰z   «      z  d|z  z  z
   ‰|‰z   «      d|z  z  z
  d ‰‰«      z  |z  d
 ‰| ‰z   «      z  d|z  z  z
   ‰|‰z   «      d|z  z  z
  z  d|z  z  z
  }||k(  sJ ‚y # 1 sw Y   �Œ¥xY wc c}}w # 1 sw Y   �ŒÿxY w)Nzx y hr   é*   T)Úevaluater%   r   r   Úgr'   )rW   r   c                  óN   •— t         ‰ ‰«       ‰‰«      z  ‰‰dz
  ‰dz   g¬«      S )Nr   )Úpints)r   )r   r`   r   s   €€€r   r   z+test_differentiate_finite.<locals>.<lambda>“   s-   ø€ Ô2±1°Q³4¹¸!»±9¸aØ:;¸A¹#¸qÀ¹s¸ôE€ r   r&   )r   r   r   r   r	   r   r   r!   r    r   Ú	TypeErrorr   r   )Úyr   Úres0ÚvÚsignÚxmÚxpÚymÚypÚref0Úres1Úref1Úres2Úref2Úres3Úref3Úres4Úref4Ú	res5_exprÚres5Úref5r   r`   r   s                        @@@r   Útest_differentiate_finiterx   €   sý  ú€ Ü�gÓ�G€A€qˆ!Ü�‹€AÜ	Ó	!ñ LÜ#¡A a¨£G¬c°"«gÑ$5°q¸!ÀdÔKˆ÷Lä5<¸aÀ¸VÀbÈ!ÀWÓ5M×N©'¨!¨T�a˜$œqŸv™v™+“oÓN�N€BˆˆB�ÙˆR�‹9‘q˜˜R“yÑ ¡1 R¨£9Ñ,©q°°R«yÑ8€DØ�4‰K×!Ñ!Ó# qÒ(Ð(Ð(ä�‹€AÜ	Ó	!ñ FÜ#¡A a£D©¨1«¡I°¡N°AÀÔEˆ÷Fáˆq”1—6‘6‰z‹]ˆN™Q˜q¤1§6¡6™z›]Ñ*©A¨a«DÑ0Ùˆq”1—6‘6‰z‹]ˆN™Q˜q¤1§6¡6™z›]Ñ*©A¨a«DÑ0ñ1€Dà�4‰K×!Ñ!Ó# qÒ(Ð(Ð(ä¡ !£ q¨!¡t¡¨bÑ 0°!¸Q¸q¹SÀ!ÀAÁ#¸JÔG€DÙˆa�!‰e‹H˜˜A™ ‘zÑ!¡A a¨!¡e£HÑ,°°A±¸©zÑ9¸1Ñ<€DØ�4‰K×!Ñ!Ó# qÒ(Ð(Ð(Ü
Œ9õ Eô Fô  ¡ !£¡Q q£T§Y¡Y¨q£\Ñ 1°1Ó5€DÙˆq‹TˆE‘A�a˜!‘e“HÑ™a ¤A§F¡F¡
›mÑ+©q°«t±a¸¸A¹³h©ÁÀ!ÄaÇfÁfÁ*ÃÑ.MÑM€DØ�4Š<Ðˆ<ä¡ !£¡Q q£T§Y¡Y¨q£\×%6Ñ%6°qÓ%9Ñ 9¸1Ó=€DÙ�”H˜Q “NÑ"Ó# a©¨!¬a¯f©f©*«¡oÑ5¹¸!¼a¿f¹f¹*»ÑEÁqÈÌQÏVÉVÉÃ}ÑTÐUÙ�”A—F‘F‘
‹m˜a¡ !¤a§f¡f¡*£™oÑ-±°!´h¸qÀ!³nÑ2DÓ0EÑEÁqÈÌQÏVÉVÉÃ}ÑTñU€Dà�4Š<Ðˆ<á�!“—	‘	˜!“™Q˜q›TŸY™Y q›\Ñ)€IÜ 	°1°Q±3¸¸1¸Q¹3°-Ô@€DØ‰q�‹t‰G�A‰I™˜1˜"˜q™&›	 1 Q¡3™Ñ'¨!©A¨a°!©e«H©*°a¸±cÑ*:Ñ:¸RÁÀ!Ã¹WÀQ¹YÉÈAÈ2ÐPQÉ6ËÐTUÐVWÑTWÉÑ=XØ‰q��Q‘‹x‰Z˜˜1™Ññ>ñ Ø ! !¡ñ%Ø()©!¨A«$©¨q©°1±Q¸°r¸A±v³Y±;ÀÀ!ÁÑ3DÑ(DÙˆQ�‰U‹8�Q�q‘S‰>ñ)Ø™a ›d™F 1™H q©¨A¨2°©6«¡{°A°a±CÑ'8Ñ8¹1¸QÀ¹U»8ÀQÀqÁS¹>ÑIñ(KØLMÈaÉCñ(QñQ€Dð �4Š<Ð‰<÷CLñ LüãN÷
Fñ Fús   ¨#S.Á& S;Ã#!TÓ.S8ÔTN)Ú	itertoolsr   Úsympy.core.functionr   r   Úsympy.core.numbersr   Úsympy.core.singletonr   Úsympy.core.symbolr   Ú&sympy.functions.elementary.exponentialr	   Úsympy.calculus.finite_diffr
   r   r   r   Úsympy.testing.pytestr   r   r#   rT   r\   rx   rI   r   r   ú<module>r�      s>   ðÝ ç 0Ý 'Ý "Ý %Ý 6÷ó ÷ @òEòU?òp/ó$r   