On Sunday, April 16, 2023 at 1:35:42=E2=80=AFAM UTC-5, Douglas Goncz
A.A.S. M.E.T. 1990 wrote:
Let us say we want the gradient of a Time series.
[...]
Let us say we want the gradient of a two-dimensional spatial series
otherwise known as an image.
Well-known problems for scientific and numeric programming for
Physics and other fields.
The usual way to approach this is:
(1) model the point cloud as a function (that's interpolation),
(2) take the relevant derivatives of that function.
In ALGLIB, the "interpolation" module has the
"spline1d", "spline2d" and "spline3d" packages.
The spline 2D includes routines to initialize splines from point clouds
(both point grids, and with more recent revisions, unordered point clouds).
spline2dbuild*()
and to configure the splines
spline2dset*()
to calculuate interpolated values off the spline (singly or in batch)
spline2dcalc*()
to do affine transformations on both the input and output spaces
(including resampling)
spline2dlintrans*(), spline2dresample*()
and (tada!) to differentiate
spline2ddiff*().
The RBF module is closer to AI-level modelling and the original
ALGLIB developer has been harping on it, from day one, as a better
method for interpolation; but I can't say too much about it.
A curated version of the C++ free edition of ALGLIB (and a work in
progress) can be found on GitHub, currently under
https://github.com/LydiaMarieWilliamson/ALGLIB_cpp
which may be later integrated with, and into, curated versions Mesa
(translated into C++), OpenCV (and other image 2D to 3D and 3D modelling software) as well as serving, for AI application, as an engine for
revised versions of LLaMA or GPT.
[[Mod. note -- Other good sources of free interpolation code include
https://www.netlib.org
https://www.gnu.org/software/gsl/doc/html/interp.html
-- jt]]
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)