a
    t@8bX  ã                   @   s"  d dl mZ d dlmZ d dlmZmZ d dlmZ d dl	m
Z
mZmZmZ d dlmZ d dlmZ d dlmZ d d	lmZmZ d d
lmZmZ d dlmZ d dlmZmZmZ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+ d dl,m-Z- d dl*m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6 d dl7m8Z8m9Z9m:Z: edƒ\Z;Z<Z=eddd\Z>Z?Z@edƒedƒ ZAZBdd„ ZCdd„ ZDdd „ ZEd!d"„ ZFd#d$„ ZGd%d&„ ZHe:d'd(„ ƒZIe:d)d*„ ƒZJd+d,„ ZKd-d.„ ZLd/d0„ ZMd1d2„ ZNd3d4„ ZOe9d5d6„ ƒZPd7d8„ ZQd9d:„ ZRd;d<„ ZSd=d>„ ZTd?d@„ ZUdAdB„ ZVdCS )Dé    )ÚSum)ÚAdd)Ú
DerivativeÚFunction)ÚMul)ÚIÚRationalÚooÚpi)ÚS)Úsymbols)Ú	factorial)ÚexpÚlog)ÚacoshÚasech)Úsqrt)ÚacosÚasinÚatanÚcosÚsin)Úairyai)Úerf)Úgamma)Ú	integrate)Úfps)ÚO)	Úrational_algorithmÚFormalPowerSeriesÚFormalPowerSeriesProductÚFormalPowerSeriesComposeÚFormalPowerSeriesInverseÚsimpleDEÚrational_independentÚexp_reÚhyper_re)ÚraisesÚXFAILÚslowzx y zzn m kT)ZintegerÚfÚrc                  C   s  dt d d t d   } t| t tƒdt d   d ttd ƒttƒ  ddfksVJ ‚dt  t d  t d  t d t d   } t| t tƒddt d   d t d dfks®J ‚ttt tt   tt   t d   } t| t tƒtt d   t tt  tt d  t tt   ddfks J ‚t dt  t d   } t| t tƒd u sJJ ‚t| t tddtd	dƒtd
ƒd  t d  td
ƒ d t	j
  td
ƒ d t	j
 t d  td
ƒd t	j
   ddfksÊJ ‚dt d dt   d  } t| t tƒd u søJ ‚t| t tddtd	t t d   d td	t t d   d  ddfksHJ ‚tdt  ƒ} t| t tƒd	t   t ddfks|J ‚tt ƒ} t| t tƒd u sšJ ‚t| t tddttt   d tt t   d  t ddfksàJ ‚t tt ƒ tdt d  ƒd  } t| t tƒd u sJ ‚t| t tddttt d   d tt t d   d  ttd   ddfkslJ ‚tdt  dt   ƒd tt ƒ } t| t tƒd u s¢J ‚t| t tddd	t   d ttt   d  tt t   d  t	j
 t ddfksþJ ‚ttt ƒt tƒd u sJ ‚d S )Né   é   r   é   iñÿÿÿé   T©Úfulléÿÿÿÿé   é
   )Úxr   Úkr   ÚzÚyÚmr   r   r   ÚHalfr   r   r   r   ©r*   © r<   ú=lib/python3.9/site-packages/sympy/series/tests/test_formal.pyÚtest_rational_algorithm   sx    
,ÿ(
ÿ$
:ÿ
ÿÿþýÿ
8ÿ

ÿ
.ÿ
 ,
ÿÿÿ
 4ÿÿÿÿ
r>   c                  C   s   t } | g tƒg ksJ ‚| ttƒttƒgtƒttƒttƒgks@J ‚| td ttƒtttƒ td gtƒtd td  tttƒ ttƒ gksŽJ ‚| tjtttƒ ttƒttƒt ttƒttƒtgtƒtd tttƒ ttƒ ttƒt ttƒ ttƒgksüJ ‚d S )Nr-   r.   r,   )r$   r5   r   r   r   ZOner   )Zrir<   r<   r=   Útest_rational_independentP   s    *$"ÿ42ÿr?   c                  C   s4  t ttƒttƒD ],} | ttƒ tttƒtƒ dfks8J ‚ q>qt ttƒttƒD ],} | ttƒtttƒttƒ dfksvJ ‚ q|qNt tdt ƒttƒD ]:} | td tttƒtdƒ tttƒtƒ dfksÆJ ‚ qÌqt ttƒttƒD ]F} | ttttƒtƒ td d tttƒttƒ  dfksJ ‚ q$qÜt ttƒttƒ ttƒD ]F} | dttƒ dtttƒƒ  tttƒttƒ dfkszJ ‚ q„q<t dt dt  t ttƒD ]D} | dt ttƒ td d tttƒtƒ  dfksÜJ ‚ qæq t t	tƒttƒD ]8} | t ttƒ tttƒttƒ dfks&J ‚ q0qöd S )Nr,   r-   )
r#   r   r5   r*   r   r   r   r   Únr   )ZDEr<   r<   r=   Útest_simpleDEZ   s.    $$2.ÿ:
 8
,rA   c                  C   sv  t tƒ tt tƒtƒ } t| ttƒttƒ ttd ƒ ks>J ‚t tƒtt tƒttƒ } t| ttƒttƒttd ƒ kszJ ‚t tƒtt tƒtƒ tt tƒttƒ } t| ttƒttƒttd ƒ ttd ƒ ksÐJ ‚tt tƒtƒtt tƒttƒ } t| ttƒttƒttd ƒ ksJ ‚tt tƒtdƒtt tƒtdƒ tt tƒƒ } t| ttƒttƒttd ƒ ttd ƒ ksrJ ‚d S )Nr,   r-   r.   r/   )r*   r5   r   r%   r+   r6   ©Údr<   r<   r=   Útest_exp_ret   s    &$&0&,rD   c                  C   sÆ  t tƒtt tƒttƒ } t| ttƒttƒtd td  ttd ƒ  ksLJ ‚t t tƒ tt tƒttƒ } t| ttƒtd td  ttd ƒ ttƒ ksžJ ‚dt tƒ dtt tƒtƒ  tt tƒttƒ } t| ttƒdt d ttd ƒ td td  ttd ƒ  dttƒ  ksJ ‚dt t tƒ td d tt tƒtƒ  } t| ttƒtttƒ dt ttd ƒ  t d ttd ƒ  ksJ ‚td d tt tƒtƒ ttd d  tt tƒttƒ  } t| ttƒttd  t ttƒ dt td td   d ttd ƒ  ksJ ‚td d tt tƒtdƒ dt tt tƒttƒ  tt tƒtƒ } t| ttƒttd  td  dt td   t ttƒ t td  td  ttd ƒ  ksÂJ ‚d S )	Nr,   r-   r.   éþÿÿÿr4   r/   é	   é(   )r*   r5   r   r&   r+   r6   r@   rB   r<   r<   r=   Útest_hyper_re…   s0    44.
>ÿ
*
4ÿ
:
>ÿ
2ÿ
. ÿÿrH   c                  C   s2  t dƒdksJ ‚t dtƒdks"J ‚t dtdddks8J ‚t dtdddksNJ ‚t dt dtd   ƒdt dtd   ks~J ‚t tdt ƒdddtdt ƒks¤J ‚t td t d ƒ} t| tƒsÆJ ‚| jtd t d ksàJ ‚| d dksðJ ‚| d td ksJ ‚|  d	¡td t d ttd	 ƒ ks2J ‚|  ¡ td t d ksPJ ‚t tdt ƒƒ} t| tƒspJ ‚| jtdt ƒksˆJ ‚|  	tt
¡| ksžJ ‚| d d
… dttd  d td d td	  d	 gksÚJ ‚|  t¡tksîJ ‚|  d¡ttd d  td d  td	 d	  td
 d
  ks2J ‚| jjd }| jtd|   t|  | |dtfƒksnJ ‚| jd d| d d
…  }}t|ƒD ],\}}|d
kr¨ q¾|| |ksJ ‚qttƒ  t¡} t| tƒsÜJ ‚|  ¡ ttd d  td
 d  ttd ƒ ksJ ‚ttdd„ ƒ ttdd„ ƒ d S )Nr,   r-   ú+©Údirú-F)ZhyperÚrationalr   r/   r3   r.   é   r2   ©r@   éx   c                   S   s   t tt ƒS ©N)r   r8   r5   r<   r<   r<   r=   Ú<lambda>Ä   ó    ztest_fps.<locals>.<lambda>c                   S   s   t tddS )Nr   rJ   )r   r5   r<   r<   r<   r=   rR   Å   rS   )r   r5   r   Ú
isinstancer   ÚfunctionÚtruncater   Ú
polynomialZsubsr8   Zas_leading_termÚakÚ	variablesÚinfiniter   r	   Ú	enumerater   r'   ÚNotImplementedErrorÚ
ValueError)r*   r6   ZftÚsÚiÚtr<   r<   r=   Útest_fpsŸ   s@    0&,<D0
6ra   c                  C   sr  t dt ƒdt ksJ ‚t td t d td  ddtd t d td  ksTJ ‚dtd d td   } t | tƒ ¡ tddƒttddƒ  dtd  d	  d
td  d  dtd  d  dtd  d  ttd ƒ ksâJ ‚dt td  td  td td   } t | tƒ ¡ tjttddƒ  dtd  d	  d
td  d  dtd  d  dtd  d  ttd ƒ ks~J ‚tdt td   } t | tdd ¡ ttd  dtd   dtd   dtd   ttd ƒ ksæJ ‚dtd dt  d  } t | tdd ¡ tjtd  td d  td d	  td d	  ttd ƒ ksTJ ‚tdt ƒ} t | tƒ ¡ ttd d  td d  td d  td d  ttd ƒ ks´J ‚t | tdd ¡ t | tdd ¡ ksÞJ ‚t | tdƒ ¡ tdƒtddƒ td d d  td d d  td d d  td d d  td  ttd d tdfƒ ksdJ ‚t | tddd ¡ tdƒtddƒ t d d d  t d d d  t d d d  t d d d  td  ttd d tdfƒ ksöJ ‚ttƒ} t | tdd ¡ ttd d  td d  ttd ƒ ks>J ‚t | tddd ¡ t | tddd ¡ kslJ ‚t | tddd ¡ tdƒtddƒ dtd d  d  dtd d  d  dtd d  d  dtd d  d  td  ttd d tdfƒ ksJ ‚t | tdddd ¡ tdƒtddƒ dt d d  d  dt d d  d  dt d d  d  dt d d  d  td  ttd d tdfƒ ksªJ ‚tttƒ tdtd  ƒd  } t | tdd ¡ td d td d   ttd ƒ ksJ ‚tdt dt  ƒd ttƒ } t | tddjd!d"dtd  d dtd#  d#  ttd! ƒ ksnJ ‚d S )$Nr,   r-   r.   r2   rJ   r3   r/   é   é   é1   é   é   é    iA  é@   rN   éq   éñ   Tr0   é   éQ   éD  é¿  )r1   rK   é   é   iw  iq  é)   i	=  é   r4   rO   é   )	r   r5   rV   r   r   r   r:   r   r   r;   r<   r<   r=   Útest_fps__rationalÈ   s¨    <Fÿ
ÿÿ(Bÿ
ÿÿ
:ÿ
<ÿ
>ÿ
*0ÿÿÿÿÿ
4ÿÿÿÿÿ
@ÿ
8ÿÿÿÿÿ
<ÿÿÿÿÿ
 < rt   c                  C   sº  t tƒ} t| tƒ ¡ ttd d  td d  ttd ƒ ksBJ ‚ttƒ} t| tƒ ¡ dtd d  td d  ttd ƒ ks„J ‚ttƒ} t| tƒ ¡ dt td d  td d  td d  td d  ttd ƒ ksâJ ‚ttƒ} t| tƒ ¡ ttd d  td d  ttd ƒ ks&J ‚tttƒƒ} t| tƒ ¡ tt	d ƒttt	d ƒ  td tt	d ƒ d  td tt	d ƒ d  dtd  tt	d ƒ d  td tt	d ƒ d  ttd ƒ ksÒJ ‚tt
tƒƒ} t| tƒ ¡ tt ttd  d  ttd  d	  ttd ƒ ks&J ‚tdt ƒ} t| tƒ ¡ t	d t td d  td d  ttd ƒ ksvJ ‚tttƒ tdtd  ƒd  } t| td
d ¡ td d td d  ttd ƒ ksÒJ ‚tdt ƒ} t| td
d ¡ ttd d  td d  td d  td d  ttd ƒ ks6J ‚ttd ƒ} t| tƒ ¡ dtddƒ ttddƒƒ dt	  dtddƒ td  dttddƒƒ   ttd ƒ ks®J ‚ttƒt tƒ } t| tƒ ¡ ttd  td d  td d  ttd ƒ ksJ ‚ttƒt tƒ t } t| tƒ ¡ dt td d  td d  td d  ttd ƒ ksbJ ‚t tƒttƒ } t| tƒ ¡ tdtd  d  dtd  d  ttd ƒ ks¶J ‚d S )Nr.   rN   r3   rP   r,   r-   r/   é   rc   F©rM   rr   é   éZ   é   )r   r5   r   rV   r   r   r   r   r   r
   r   r   r   r   r   r   r;   r<   r<   r=   Útest_fps__hyperü   sX    ::Bÿ<Jÿÿ
ÿÿ
HD <>ÿ
"&ÿ
ÿÿ
DLrz   c                  C   sz  t d tt ƒ } t| t ƒ ¡ dt d  ddt d    tddƒ t d d  t d d  tt d ƒ kslJ ‚t d tt ƒ } t| t d	d
 ¡ t d t d d  tt d ƒ ks²J ‚ttt ƒƒt  } t| t ƒ ¡ t t d d  t d d  t d d  t d d  tt d ƒ ksJ ‚t d ttt ƒƒ } t| t ƒ ¡ t d t d d  t d d  t d d  tt d ƒ ksvJ ‚d S )Néûÿÿÿr,   r/   rN   r-   rP   é°  é€‰ Frv   r.   r3   ru   éÐ  é€  )	r5   r   r   rV   r   r   r   r   r   r;   r<   r<   r=   Útest_fps_shift,  s     Hÿÿ>ÿ
6ÿr€   c                  C   s˜  t tt ƒ tdt d  ƒd  } t| t ƒ ¡ t d d t d d  tt d ƒ ksVJ ‚tt ƒtt ƒ tt ƒ tdt  ƒ } t| t ƒ ¡ t dt d  d  t d d  t d d  tt d ƒ ksÄJ ‚dt  tt ƒ } t| t ƒ ¡ dt  t  t d d  t d d  tt d ƒ ksJ ‚tt ƒtt ƒ dt d   } t| t ƒ ¡ d	t d d  d
t d  d  dt d  d  dt d  d  tt d ƒ ks”J ‚d S )Nr,   r-   r/   rr   rN   r.   r3   rP   rE   rs   ro   ru   éw   )	r5   r   r   r   rV   r   r   r   r   r;   r<   r<   r=   Útest_fps__Add_expr>  s     6$JDJÿr‚   c                  C   sŠ  t tƒ} t| ttƒ| ksJ ‚t| tt ƒ ¡ tdtd  ttfƒksHJ ‚ttƒ} t| ttƒ ¡ dtdtd  ttfƒ ks~J ‚t| tt ƒ ¡ dtdtd  ttfƒ ks®J ‚ttƒ} t| ttdd ¡ ddtd   ddtd    dt  td  tdtd  ttfƒ ksJ ‚t| tt dd ¡ ddtd   ddtd    dt  td  tdtd  ttfƒ ksxJ ‚t	dt ƒ} t| ttƒddtd   dd	td	    ddtd    ddtd    dt  t	dt ƒ tdtd  ttfƒ ks J ‚t| tt ƒddtd   dd	td	    ddtd    ddtd    dt  t
t  t	dt ƒ tdtd  ttfƒ ks†J ‚d S )
Nr,   rN   r2   Tr0   r3   r.   r-   r/   )r   r5   r   r	   rV   r   r   r   r
   r   r   r;   r<   r<   r=   Útest_fps__asymptoticM  s4    ,.0Dÿ
Dÿ

Rÿÿ
N
ÿÿÿrƒ   c                  C   sr  t ttƒƒt } t| tƒ ¡ dttƒ ttƒd  ttddƒ d  ttddƒ d  ttddƒ d	  ttd
dƒ d  ttddƒ d  ttd ƒ ks J ‚t ttƒƒt } t| tƒ ¡ ttddƒ ttddƒ d  ttddƒ d  ttd
dƒ d  ttddƒ d	  ttd ƒ ks&J ‚tttƒƒtd  } t| tƒ ¡ ttddƒ ttddƒ d  ttj	 d  ttddƒ d  ttddƒ d
  ttddƒ d  ttd
dƒ d  ttddƒ d  ttd ƒ ksâJ ‚t
ttƒƒ} t| tƒ ¡  ¡ dtd  td d  td d  td d  td d  ttƒ ttddƒ d  ttddƒ d  ttddƒ d  ttd
dƒ d	  ttddƒ d  ttd ƒ ks°J ‚t
ttƒƒt } t| tƒ ¡  ¡ ttd d  td d  td d  td d  ttddƒ  ttddƒ d  ttddƒ d  ttd
dƒ d  ttddƒ d	  ttd ƒ ksnJ ‚d S )Nr,   rN   r.   r-   rP   r3   r|   rs   r}   rF   i arp   l    LQf éýÿÿÿr2   é   ry   ru   r~   r/   r   i _7 )r   r   r5   r   rV   r   r   r   r   r:   r   Úexpandr;   r<   r<   r=   Útest_fps__fractionale  sŒ    (ÿÿþþ
þÿ0ÿÿ
ÿÿ
,ÿÿÿþþ
þÿ
Bÿÿÿþþ
þÿ
@ÿÿÿþ
þÿr‡   c                  C   sÈ   t ddt  ƒ} t| tƒt tƒ t td d  td d  td d  td d  ttd ƒ kshJ ‚t| tddt tƒ t td d  td d  td d  td d  ttd ƒ ksÄJ ‚d S )	Nr,   r-   r.   r/   r3   rN   Frv   )r   r5   r   r   r;   r<   r<   r=   Ú!test_fps__logarithmic_singularity„  s    HÿHÿrˆ   c                  C   sR   t tƒ} t| tƒtdƒttƒ td d  dtd  d  ttd ƒ ksNJ ‚d S )Nr-   r/   r.   rh   rN   )r   r5   r   r   r   r;   r<   r<   r=   Ú&test_fps__logarithmic_singularity_failŒ  s    r‰   c                  C   s
  t t tt d ƒ } t| t ƒ d¡t td  t td  d  tt td  t ƒ ksVJ ‚t t tdt  ƒ } t| t ƒ}|jjd }|j	t
d|   t |t   | |dtfƒks²J ‚t d t tdt  ƒ } t| t dƒ ¡ t d t tdƒ t d td  d  t d td  d  t d td  d	  t d td
  d  t d td  d  tt d td  t dfƒ ksrJ ‚t td  tt ƒ } t| t ƒ ¡ t td  t t d  t td  d  t td
  d  tt td  t ƒ ksäJ ‚t td  tt ƒ t t tt ƒ  } t| t ƒ ¡ t td  t t  dt td   d  t td  d  dt td   d  t td
  d  dt td   d  tt td  t ƒ ksžJ ‚t t tt ƒ } t| t tƒ ¡ t td   d t td  d  t t td dt     tdt  t  t d  t tfƒ ksJ ‚t td  tt ƒ } t| t ƒ ¡ t td  t td d  d  t td d
  d  tt td d  t ƒ ksJ ‚t tt  tt ƒ } t| t ƒ ¡ t tt d  t tt d  d  t tt d  d  tt tt d  t ƒ ksJ ‚d S )Nr-   rc   rN   r,   r   r2   r.   rk   rl   r/   rm   r3   rn   ru   r~   rs   rG   rq   r|   rP   )r5   r@   r   r   rV   r   r   rX   rY   rZ   r   r	   r   r   r   r
   r9   )r*   Úfpr6   r<   r<   r=   Útest_fps_symbolic’  s\    B
&ÿNÿÿÿÿ
Hÿ
$Jÿÿÿÿ
8ÿÿ
Hÿ
Lÿr‹   c                  C   sf   t tt ƒ tdt  ƒ } t| t ƒ ¡ dt d  dt d   t d d  t d  tt d ƒ ksbJ ‚d S )Nr-   r.   r/   r3   rN   )r5   r   r   r   rV   r   r;   r<   r<   r=   Útest_fps__slow¸  s    rŒ   c                     s¨  t ttƒƒt ttƒƒ ‰ } ˆ |  }|jttƒttƒ ks<J ‚| ¡ dt td d  td d  td d  td d  ttd ƒ ksŒJ ‚ˆ d }|jttƒd ksªJ ‚| ¡ dt td d  td d  ttd ƒ ksâJ ‚d|  }|jttƒd ksJ ‚| ¡ dtd d  td d  ttd ƒ ks8J ‚ˆ t tˆ tƒksPJ ‚|  ¡  d	td d  td d  ttd ƒ ksˆJ ‚ˆ ˆ  tj	u sœJ ‚ˆ |  }|jttƒttƒ ksÀJ ‚| ¡ d	t td d  td d  td d  td d  ttd ƒ ksJ ‚ˆ d }|jttƒd ks2J ‚| ¡ d	t td d  td d  ttd ƒ kslJ ‚d|  }|jttƒ d ksŽJ ‚| ¡ td d td d  ttd ƒ ksÀJ ‚t
t‡ fd
d„ƒ t
t‡ fdd„ƒ ˆ d }|jdttƒ ksJ ‚| ¡ dt td d  td d  ttd ƒ ks>J ‚d|  }|jdttƒ ks^J ‚| ¡ ddtd  d  td d  ttd ƒ ks˜J ‚ˆ |  tˆ | ƒks°J ‚ˆ t tˆ tƒksÈJ ‚ˆ  ¡ }|jttƒksäJ ‚| ¡ dtd d  td d  ttd ƒ ksJ ‚|  ¡ }|jttƒ ks8J ‚| ¡ t td d  td d  ttd ƒ kspJ ‚|  ¡  ¡ }|jttƒ ks’J ‚| ¡ d	td d  td d  ttd ƒ ksÈJ ‚t tttƒƒƒ}| ¡ }| ¡  ¡ ddttƒ  tj td  td d  td d  td d  td d  ttƒd  ttddƒ d  ttddƒ d  ttddƒ d  ttddƒ d  ttddƒ d  ttd ƒ ks²J ‚ˆ  tddf¡tdƒ d ksÖJ ‚tˆ tddfƒtdƒ d ksúJ ‚tˆ tƒ}|jttƒ ksJ ‚| ¡ d	td d  td d  ttd ƒ ksPJ ‚|  t¡}|jttƒksnJ ‚| ¡ ttd d  td d  ttd ƒ ks¤J ‚d S )Nr,   r-   r.   rN   r/   ru   r3   rP   r2   c                      s   ˆ t ttƒdd S )Nr2   rJ   ©r   r   r5   r<   ©Úf1r<   r=   rR   ß  rS   z&test_fps__operations.<locals>.<lambda>c                      s   ˆ t ttƒdd S )Nr,   ©Zx0r   r<   rŽ   r<   r=   rR   à  rS   rG   rc   rr   éð   i`'  i  i *Âé0   i   rs   i ; rF   i ¾n rp   i ø9r   )r   r   r5   r   rU   rV   r   r   r   ZZeror'   r]   r   Zdiffr   r   r†   r:   r   r   )Úf2ZfsumZfsubZfmÚfdÚf3Zfir<   rŽ   r=   Útest_fps__operations½  s”    Bÿ868Bÿ
:2::686
@
ÿ
ÿÿÿþþþ
ýÿ
$$
6
r–   c                     s  t ttƒƒt ttƒƒt ttƒƒ  ‰ } }tt‡ fdd„ƒ tt‡ fdd„ƒ tt‡ fdd„ƒ tt‡ fdd„ƒ ˆ  | t¡‰tˆt	ƒsŠJ ‚tˆj
tƒsšJ ‚tˆjtƒsªJ ‚ˆjttƒks¼J ‚ˆjttƒksÎJ ‚ˆjttƒttƒ ksèJ ‚ˆ d¡ttd  td d  ksJ ‚ˆ d¡ttd  td d  ttd ƒ ksDJ ‚ˆ d¡ttd  td d  kslJ ‚tt‡fd	d„ƒ tt‡fd
d„ƒ tt‡fdd„ƒ tt‡fdd„ƒ ˆ  |t¡ d¡tdtd  d  ksàJ ‚ˆ  |t¡ d¡tdtd  d  ttd ƒ ksJ ‚d S )Nc                      s   ˆ   ttƒt¡S rQ   )Úproductr   r5   r<   rŽ   r<   r=   rR     rS   z#test_fps__product.<locals>.<lambda>c                      s   ˆ   tttƒddtd¡S ©Nr2   rJ   r/   ©r—   r   r   r5   r<   rŽ   r<   r=   rR     rS   c                      s   ˆ   tttƒddtd¡S ©Nr,   r   r/   r™   r<   rŽ   r<   r=   rR     rS   c                      s   ˆ   tttƒƒtd¡S ©Nr/   )r—   r   r   r8   r5   r<   rŽ   r<   r=   rR     rS   r/   r-   r.   c                      s
   ˆ   d¡S ©Nr3   ©Z
_eval_termr<   ©Úfprodr<   r=   rR   !  rS   c                      s   ˆ j S rQ   ©rZ   r<   rž   r<   r=   rR   "  rS   c                      s
   ˆ   t¡S rQ   ©Z_eval_derivativer5   r<   rž   r<   r=   rR   #  rS   c                      s
   ˆ   t¡S rQ   ©r   r5   r<   rž   r<   r=   rR   $  rS   )r   r   r5   r   r   r'   r]   r—   rT   r    Úffpsr   Úgfpsr*   ÚgrU   Ú_eval_termsrV   r   rW   r\   ©r“   r•   r<   )r   rŸ   r=   Útest_fps__product  s*    ((4(,r¨   c                      sÌ  t ttƒƒt ttƒƒt ttƒƒ  ‰ ‰‰tt‡ fdd„ƒ tt‡ fdd„ƒ tt‡ fdd„ƒ tt‡ fdd„ƒ tt‡ ‡fdd„ƒ tt‡‡fdd„ƒ ˆ  ˆt¡‰tˆt	ƒs²J ‚tˆj
tƒsÂJ ‚tˆjtƒsÒJ ‚ˆjttƒksäJ ‚ˆjttƒksöJ ‚ˆjtttƒƒksJ ‚ˆ d¡d	t td
 d
  td d  td d  ksJJ ‚ˆ ¡ d	t td
 d
  td d  td d  ttd ƒ ksJ ‚ˆ d¡d	t td
 d
  td d  ttd ƒ ksÌJ ‚tt‡fdd„ƒ tt‡fdd„ƒ tt‡fdd„ƒ tt‡fdd„ƒ ˆ  ˆt¡ d¡d	t td
 d
  ttd ƒ ksLJ ‚ˆ  ˆt¡ d¡d	t td
 d
  td d  td d  td d  td d  ttd ƒ ks´J ‚ˆ  ˆt¡ d¡d	t td
 d
  td d  td d  ttd ƒ ksJ ‚ˆ ˆt¡ d¡ttd d  ttd ƒ ks8J ‚ˆ ˆt¡ d¡ttd d  td d  dtd  d  ttd ƒ ksˆJ ‚ˆ ˆt¡ d¡ttd d  td d  ttd ƒ ksÈJ ‚d S )Nc                      s   ˆ   ttƒt¡S rQ   )Úcomposer   r5   r<   rŽ   r<   r=   rR   -  rS   z#test_fps__compose.<locals>.<lambda>c                      s   ˆ   tttƒddtd¡S r˜   ©r©   r   r   r5   r<   rŽ   r<   r=   rR   .  rS   c                      s   ˆ   tttƒddtd¡S rš   rª   r<   rŽ   r<   r=   rR   /  rS   c                      s   ˆ   tttƒƒtd¡S r›   )r©   r   r   r8   r5   r<   rŽ   r<   r=   rR   0  rS   c                      s   ˆ   ˆt¡S rQ   ©r©   r5   r<   )r   r•   r<   r=   rR   2  rS   c                      s   ˆ   ˆt¡S rQ   r«   r<   r§   r<   r=   rR   3  rS   rN   r,   r-   r/   rc   r3   ry   c                      s
   ˆ   d¡S rœ   r   r<   ©Úfcompr<   r=   rR   @  rS   c                      s   ˆ j S rQ   r    r<   r¬   r<   r=   rR   A  rS   c                      s
   ˆ   t¡S rQ   r¡   r<   r¬   r<   r=   rR   B  rS   c                      s
   ˆ   t¡S rQ   r¢   r<   r¬   r<   r=   rR   C  rS   r‘   rs   rx   r.   r4   i;  )r   r   r5   r   r   r'   r]   r©   rT   r!   r£   r   r¤   r*   r¥   rU   r¦   rV   r   r\   r<   r<   )r   r“   r•   r­   r=   Útest_fps__compose*  s>    (<F<8Nÿ
6ÿ
4Pr®   c                     sÐ  t ttƒƒt ttƒƒt ttƒƒ  ‰ } }tt‡ fdd„ƒ |  t¡‰tˆt	ƒsRJ ‚tˆj
tƒsbJ ‚tt‡fdd„ƒ ˆjttƒks†J ‚ˆjtt ƒksšJ ‚ˆ d¡dt td d  td d  td	 d
  ksÔJ ‚ˆ ¡ dt td d  td d  td	 d
  td d  ttd ƒ ks&J ‚ˆ d¡dt td d  td d  td	 d
  ttd ƒ ksnJ ‚tt‡fdd„ƒ tt‡fdd„ƒ tt‡fdd„ƒ tt‡fdd„ƒ tt‡fdd„ƒ |  t¡ d¡dt td d  td d  td	 d
  td d  td d  td d  ttd ƒ ks:J ‚| t¡ ¡ dtd d  dtd	  d
  ttd ƒ kszJ ‚| t¡ d¡dtd d  dtd	  d
  dtd  d  ttd ƒ ksÌJ ‚d S )Nc                      s
   ˆ   t¡S rQ   )Úinverser5   r<   rŽ   r<   r=   rR   S  rS   z#test_fps__inverse.<locals>.<lambda>c                      s   ˆ j S rQ   )r¤   r<   ©Úfinvr<   r=   rR   X  rS   r3   r,   r-   r.   rN   r/   ru   rP   c                      s
   ˆ   d¡S rœ   r   r<   r°   r<   r=   rR   `  rS   c                      s   ˆ j S rQ   )r¥   r<   r°   r<   r=   rR   a  rS   c                      s   ˆ j S rQ   r    r<   r°   r<   r=   rR   b  rS   c                      s
   ˆ   t¡S rQ   r¡   r<   r°   r<   r=   rR   c  rS   c                      s
   ˆ   t¡S rQ   r¢   r<   r°   r<   r=   rR   d  rS   rc   r~   rs   r|   é=   )r   r   r5   r   r   r'   r]   r¯   rT   r"   r£   r   r*   rU   r¦   rV   r   r\   r§   r<   )r   r±   r=   Útest_fps__inverseP  s*    (
:RHZÿ
@r³   N)WZsympy.concrete.summationsr   Zsympy.core.addr   Zsympy.core.functionr   r   Zsympy.core.mulr   Zsympy.core.numbersr   r   r	   r
   Zsympy.core.singletonr   Zsympy.core.symbolr   Z(sympy.functions.combinatorial.factorialsr   Z&sympy.functions.elementary.exponentialr   r   Z%sympy.functions.elementary.hyperbolicr   r   Z(sympy.functions.elementary.miscellaneousr   Z(sympy.functions.elementary.trigonometricr   r   r   r   r   Zsympy.functions.special.besselr   Z'sympy.functions.special.error_functionsr   Z'sympy.functions.special.gamma_functionsr   Zsympy.integrals.integralsr   Zsympy.series.formalr   Zsympy.series.orderr   r   r   r    r!   r"   r#   r$   r%   r&   Zsympy.testing.pytestr'   r(   r)   r5   r8   r7   r@   r9   r6   r*   r+   r>   r?   rA   rD   rH   ra   rt   rz   r€   r‚   rƒ   r‡   rˆ   r‰   r‹   rŒ   r–   r¨   r®   r³   r<   r<   r<   r=   Ú<module>   sZ   ,2
)
3
/
&Q&