Ë
    ÏÍ:j	  ã                   ór   — d dl Z d dlZd dlmZmZmZmZmZmZ d dl	m
Z
 d dlmZ dgZ ed¬«      d	d„«       Zy)
é    N)ÚzerosÚasarrayÚeyeÚpoly1dÚhstackÚr_)Úlinalg)Úxp_capabilitiesÚpadeT)Úout_of_scopec                 ó,  — t         j                  j                  t        «      f}d}t	        j
                  |t        |¬«       t        | «      } |€!t        | «      dz
  |z
  }|dk  rt        d«      ‚|dk  rt        d«      ‚||z   }|t        | «      dz
  kD  rt        d«      ‚| d|dz    } t        |dz   |dz   | j                  ¬	«      }t        |dz   |f| j                  ¬	«      }t        d|dz   «      D ]  }| d| ddd
…    ||d|…f<   Œ t        |dz   |dz   «      D ]  }| ||z
  | ddd
…    ||dd…f<   Œ t        ||f«      }	t        j                   |	| «      }
|
d|dz    }t"        d|
|dz   d f   }t%        |ddd
…   «      t%        |ddd
…   «      fS )a1  
    Return Pade approximation to a polynomial as the ratio of two polynomials.

    .. deprecated:: 1.18.0
        This function is deprecated and will be removed in SciPy 1.20.0. Use
        `mpmath.pade` instead.

    Parameters
    ----------
    an : (N,) array_like
        Taylor series coefficients.
    m : int
        The order of the returned approximating polynomial `q`.
    n : int, optional
        The order of the returned approximating polynomial `p`. By default,
        the order is ``len(an)-1-m``.

    Returns
    -------
    p, q : Polynomial class
        The Pade approximation of the polynomial defined by `an` is
        ``p(x)/q(x)``.

    Examples
    --------
    >>> import numpy as np
    >>> from scipy.interpolate import pade
    >>> e_exp = [1.0, 1.0, 1.0/2.0, 1.0/6.0, 1.0/24.0, 1.0/120.0]
    >>> p, q = pade(e_exp, 2)

    >>> e_exp.reverse()
    >>> e_poly = np.poly1d(e_exp)

    Compare ``e_poly(x)`` and the Pade approximation ``p(x)/q(x)``

    >>> e_poly(1)
    2.7166666666666668

    >>> p(1)/q(1)
    2.7179487179487181

    zT`pade` is deprecated and will be removed in SciPy 1.20.0. Use `mpmath.pade` instead.)Úskip_file_prefixesNé   r   z.Order of q <m> must be smaller than len(an)-1.z&Order of p <n> must be greater than 0.z0Order of q+p <m+n> must be smaller than len(an).)Údtypeéÿÿÿÿg      ð?)ÚosÚpathÚdirnameÚ__file__ÚwarningsÚwarnÚDeprecationWarningr   ÚlenÚ
ValueErrorr   r   r   Úranger   r	   Úsolver   r   )ÚanÚmÚnÚ_warn_skipsÚmsgÚNÚAkjÚBkjÚrowÚCÚpqÚpÚqs                úl/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/scipy/interpolate/_pade.pyr   r   
   sÀ  € ôX —7‘7—?‘?¤8Ó,Ð.€Kð$€Cä‡M�M�#Ô)¸kÕJÜ	�‹€BØ€yÜ�‹G�a‰K˜!‰OˆØˆqŠ5ÜÐMÓNÐNØˆ1‚uÜÐAÓBÐBØ	ˆA‰€AØŒ3ˆr‹7�1‰9‚}ÜÐKÓLÐLØ	ˆDˆQˆq‰Sˆ€BÜ
ˆa�‰c�1�Q‘3˜bŸh™hÔ
'€CÜ
��1‘�a� §¡Ô
)€CÜ�Q˜˜!™‹}ò *ˆØ˜T˜c˜(¡D b DÑ)Ð)ˆˆC���ˆHŠð*ä�Q�q‘S˜!˜A™#‹ò ,ˆØ˜#˜a™% �}¡d¨ dÑ+Ð+ˆˆC’ˆEŠ
ð,ä��SˆzÓ€AÜ	�‰�a˜Ó	€BØ
ˆ4ˆAˆa‰Cˆ€AÜ
ˆ3��1�Q‘3�4�ˆ=Ñ€AÜ�!‘D�b�D‘'‹?œF 1¡T r T¡7›OÐ+Ð+ó    )N)r   r   Únumpyr   r   r   r   r   r   Úscipyr	   Úscipy._lib._array_apir
   Ú__all__r   © r+   r*   ú<module>r1      s7   ðÛ Û 	ç 9× 9Ý Ý 1àˆ(€á˜dÔ#òD,ó $ñD,r+   