IMLCV.tools._rbfinterp_pythran
==============================

.. py:module:: IMLCV.tools._rbfinterp_pythran


Attributes
----------

.. autoapisummary::

   IMLCV.tools._rbfinterp_pythran.NAME_TO_FUNC


Functions
---------

.. autoapisummary::

   IMLCV.tools._rbfinterp_pythran.linear
   IMLCV.tools._rbfinterp_pythran.thin_plate_spline
   IMLCV.tools._rbfinterp_pythran.cubic
   IMLCV.tools._rbfinterp_pythran.quintic
   IMLCV.tools._rbfinterp_pythran.multiquadric
   IMLCV.tools._rbfinterp_pythran.inverse_multiquadric
   IMLCV.tools._rbfinterp_pythran.inverse_quadratic
   IMLCV.tools._rbfinterp_pythran.gaussian
   IMLCV.tools._rbfinterp_pythran.get_d
   IMLCV.tools._rbfinterp_pythran.cv_norm
   IMLCV.tools._rbfinterp_pythran.cv_vals
   IMLCV.tools._rbfinterp_pythran.eval_kernel_matrix
   IMLCV.tools._rbfinterp_pythran.eval_polynomial_matrix
   IMLCV.tools._rbfinterp_pythran.evaluate_system


Module Contents
---------------

.. py:function:: linear(r)

.. py:function:: thin_plate_spline(r)

.. py:function:: cubic(r)

.. py:function:: quintic(r)

.. py:function:: multiquadric(r)

.. py:function:: inverse_multiquadric(r)

.. py:function:: inverse_quadratic(r)

.. py:function:: gaussian(r)

.. py:data:: NAME_TO_FUNC
   :type:  dict[str, Callable[[jax.Array], jax.Array]]

.. py:function:: get_d(x: jax.Array, metric: IMLCV.base.CV.CvMetric, epsilon: jax.Array | float)

.. py:function:: cv_norm(x: IMLCV.base.CV.CV, y: IMLCV.base.CV.CV, metric: IMLCV.base.CV.CvMetric, eps: jax.Array | float)

.. py:function:: cv_vals(x: IMLCV.base.CV.CV, power: jax.Array, metric: IMLCV.base.CV.CvMetric)

.. py:function:: eval_kernel_matrix(x: IMLCV.base.CV.CV, y: IMLCV.base.CV.CV, metric: IMLCV.base.CV.CvMetric, eps: jax.Array | float, kernel_func: Callable[[jax.Array], jax.Array])

   Evaluate RBFs, with centers at `x`, at `x`.


.. py:function:: eval_polynomial_matrix(x: IMLCV.base.CV.CV, metric: IMLCV.base.CV.CvMetric, powers: jax.Array)

   Evaluate monomials, with exponents from `powers`, at `x`.


.. py:function:: evaluate_system(coeffs: jax.Array, x: IMLCV.base.CV.CV, y: IMLCV.base.CV.CV, metric: IMLCV.base.CV.CvMetric, kernel: str, epsilon: float | jax.Array, powers: jax.Array)

   Construct the coefficients needed to evaluate
   the RBF.

   :param x: Evaluation point coordinates.
   :type x: (Q, N) float ndarray
   :param y: Data point coordinates.
   :type y: (P, N) float ndarray
   :param kernel: Name of the RBF.
   :type kernel: str
   :param epsilon: Shape parameter.
   :type epsilon: float
   :param powers: The exponents for each monomial in the polynomial.
   :type powers: (R, N) int ndarray
   :param shift: Shifts the polynomial domain for numerical stability.
   :type shift: (N,) float ndarray
   :param scale: Scales the polynomial domain for numerical stability.
   :type scale: (N,) float ndarray

   :rtype: (Q, P + R) float ndarray


