§
    fŠtj#  ã                   ó@   — d dl mZmZmZmZmZmZ d dlmZ dgZ	dd„Z
dS )é    )ÚzerosÚasarrayÚeyeÚpoly1dÚhstackÚr_)ÚlinalgÚpadeNc                 óJ  — t          | ¦  «        } |€*t          | ¦  «        dz
  |z
  }|dk     rt          d¦  «        ‚|dk     rt          d¦  «        ‚||z   }|t          | ¦  «        dz
  k    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 )
a©  
    Return Pade approximation to a polynomial as the ratio of two polynomials.

    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

    Né   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      ð?)r   ÚlenÚ
ValueErrorr   r   r   Úranger   r	   Úsolver   r   )ÚanÚmÚnÚNÚAkjÚBkjÚrowÚCÚpqÚpÚqs              úU/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/interpolate/_pade.pyr
   r
      sÖ  € õN 
�‰Œ€BØ€yÝ�‰GŒG�a‰K˜!‰OˆØˆqŠ5ˆ5ÝÐMÑNÔNÐNØˆ1‚u€uÝÐAÑBÔBÐBØ	ˆA‰€AØ�3ˆr‰7Œ7�1‰9‚}€}ÝÐKÑLÔLÐLØ	ˆDˆQˆq‰SˆDŒ€BÝ
ˆa�‰c�1�Q‘3˜bœhÐ
'Ñ
'Ô
'€CÝ
��1‘�a� ¤Ð
)Ñ
)Ô
)€CÝ�Q˜˜!™‰}Œ}ð *ð *ˆØ˜T˜c˜Tœ( D D b DÔ)Ð)ˆˆC���ˆH‰ˆÝ�Q�q‘S˜!˜A™#‰Œð ,ð ,ˆØ˜#˜a™% ˜)”} d d¨ dÔ+Ð+ˆˆC���ˆE‰
ˆ
Ý��SˆzÑÔ€AÝ	Œ�a˜Ñ	Ô	€BØ
ˆ4ˆAˆa‰Cˆ4Œ€AÝ
ˆ3��1�Q‘3�4�4”ˆ=Ô€AÝ�!�D�D�b�D”'‰?Œ?�F 1 T T r T¤7™OœOÐ+Ð+ó    )N)Únumpyr   r   r   r   r   r   Úscipyr	   Ú__all__r
   © r   r   ú<module>r$      sl   ðØ 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø Ð Ð Ð Ð Ð àˆ(€ð<,ð <,ð <,ð <,ð <,ð <,r   