Janus 2.0.0
High-performance C++20 dual-mode numerical framework
Loading...
Searching...
No Matches
ScatteredInterpolator.hpp File Reference

RBF-based interpolation for unstructured scattered data. More...

#include "janus/core/JanusConcepts.hpp"
#include "janus/core/JanusError.hpp"
#include "janus/core/JanusTypes.hpp"
#include "janus/math/Interpolate.hpp"
#include "janus/math/Linalg.hpp"
#include <cmath>
#include <vector>
Include dependency graph for ScatteredInterpolator.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  janus::ScatteredInterpolator

Namespaces

namespace  janus
namespace  janus::detail
 Smooth approximation of ReLU function: softplus(x) = (1/beta) * log(1 + exp(beta * x)).

Enumerations

enum class  janus::RBFKernel {
  janus::ThinPlateSpline , janus::Multiquadric , janus::Gaussian , janus::Linear ,
  janus::Cubic
}
 Radial basis function kernel types for scattered interpolation. More...

Functions

double janus::detail::rbf_phi (double r, RBFKernel kernel, double epsilon=1.0)
 Evaluate RBF kernel φ(r) for a given distance.
double janus::detail::euclidean_distance (const double *p1, const double *p2, int dims)
 Compute Euclidean distance between two points.

Variables

constexpr double janus::detail::rbf_regularization = 1e-10
 Regularization term for RBF interpolation matrix to prevent singularity.
constexpr double janus::detail::rbf_zero_threshold = 1e-15
 Threshold below which thin-plate spline uses linear fallback to avoid log(0).

Detailed Description

RBF-based interpolation for unstructured scattered data.

See also
Interpolate.hpp