ó
    Eñi»  ã                   óh   • S SK rS SKJr  S SKJr  SSKJr  SSKJ	r
JrJr  S rS rS	 rS
 r	S rS rg)é    N)ÚLinAlgError)Údgesvé   )Ú_monomial_powers_impl)Ú_build_systemÚ_build_evaluation_coefficientsÚ_polynomial_matrixc           	      ó   • [        XX#XEU5      $ ©N)Ú&_pythran_build_evaluation_coefficients)ÚxÚyÚkernelÚepsilonÚpowersÚshiftÚscaleÚxps           Ú\/home/mande/repo/quber/.venv/lib/python3.13/site-packages/scipy/interpolate/_rbfinterp_np.pyr   r      s   € ô 2Ø	ˆf˜v¨eóð ó    c                 ó   • [        X5      $ r   )Ú_pythran_polynomial_matrix)r   r   r   s      r   Úpolynomial_matrixr      s   € Ü% aÓ0Ð0r   c                 ó¤   • [        X5      n[        R                  " U[        R                  S9n[	        U5      S:X  a  UR                  SU 5      nU$ )N)Údtyper   )r   ÚnpÚasarrayÚint64ÚlenÚreshape)ÚndimÚdegreer   Úouts       r   Ú_monomial_powersr$      s@   € Ü
 Ó
-€CÜ
�*Š*�S¤§¡Ñ
)€CÜ
ˆ3ƒx�1ƒ}Ø�k‰k˜!˜TÓ"ˆØ€Jr   c                 ó   • [        XX#XE5      $ r   )Ú_pythran_build_system)r   ÚdÚ	smoothingr   r   r   r   s          r   r   r   !   s   € Ü   y¸'ÓJÐJr   c           	      óD  • [        XX#XEU5      u  pxpš[        XxSSS9u    p¼nUS:  a  [        SU*  S35      eUS:”  aa  SnUR                  S   nUS:”  a?  [	        X	-
  U
-  XV5      n[
        R                  R                  U5      nUU:  a	  SU SU S	3n[        U5      eXšU4$ )
a¤  Build and solve the RBF interpolation system of equations.

Parameters
----------
y : (P, N) float ndarray
    Data point coordinates.
d : (P, S) float ndarray
    Data values at `y`.
smoothing : (P,) float ndarray
    Smoothing parameter for each data point.
kernel : str
    Name of the RBF.
epsilon : float
    Shape parameter.
powers : (R, N) int ndarray
    The exponents for each monomial in the polynomial.

Returns
-------
coeffs : (P + R, S) float ndarray
    Coefficients for each RBF and monomial.
shift : (N,) float ndarray
    Domain shift used to create the polynomial matrix.
scale : (N,) float ndarray
    Domain scaling used to create the polynomial matrix.

T)Úoverwrite_aÚoverwrite_br   zThe z"-th argument had an illegal value.zSingular matrix.zqSingular matrix. The matrix of monomials evaluated at the data point coordinates does not have full column rank (Ú/z).)	r   r   Ú
ValueErrorÚshaper   r   ÚlinalgÚmatrix_rankr   )r   r'   r(   r   r   r   r   ÚlhsÚrhsr   r   Ú_ÚcoeffsÚinfoÚmsgÚnmonosÚpmatÚranks                     r   Ú_build_and_solve_systemr:   %   sÓ   € ô8 +Ø	ˆi °"ó
Ñ€Cˆeô ˜s°TÀtÑLÑ€A€q�$ØˆaƒxÜ˜4  ˜wÐ&HÐIÓJÐJØ	�‹Ø ˆØ—‘˜a‘ˆØ�A‹:Ü$ a¡i°Ñ%6¸ÓCˆDÜ—9‘9×(Ñ(¨Ó.ˆDØ�f‹}ðà!˜F ! F 8¨2ð/ð ô ˜#ÓÐà˜ÐÐr   c	           
      ó&   • [        XX#XEXh5      n	X—-  $ r   )r   )
r   r   r   r   r   r   r   r4   r   Úvecs
             r   Úcompute_interpolationr=   X   s   € Ü
(Ø	ˆf˜v¨eó€Cð ‰<Ðr   )Únumpyr   Únumpy.linalgr   Úscipy.linalg.lapackr   Ú_rbfinterp_commonr   Ú_rbfinterp_pythranr   r&   r   r   r	   r   r   r$   r:   r=   © r   r   Ú<module>rD      s;   ðÛ Ý $Ý %Ý 4÷ñ òò1òòKò1 ófr   