diff --git a/joss.06917/10.21105.joss.06917.crossref.xml b/joss.06917/10.21105.joss.06917.crossref.xml new file mode 100644 index 0000000000..a9d42124cc --- /dev/null +++ b/joss.06917/10.21105.joss.06917.crossref.xml @@ -0,0 +1,262 @@ + + + + 20240905125739-c7c2df597ef8eecf141ab6944856700bdbf72423 + 20240905125739 + + JOSS Admin + admin@theoj.org + + The Open Journal + + + + + Journal of Open Source Software + JOSS + 2475-9066 + + 10.21105/joss + https://joss.theoj.org + + + + + 09 + 2024 + + + 9 + + 101 + + + + DataInterpolations.jl: Fast Interpolations of 1D +data + + + + Sathvik + Bhagavan + https://orcid.org/0000-0003-0785-3586 + + + Bart + de Koning + https://orcid.org/0009-0005-6134-6608 + + + Shubham + Maddhashiya + + + Christopher + Rackauckas + https://orcid.org/0000-0001-5850-0663 + + + + 09 + 05 + 2024 + + + 6917 + + + 10.21105/joss.06917 + + + http://creativecommons.org/licenses/by/4.0/ + http://creativecommons.org/licenses/by/4.0/ + http://creativecommons.org/licenses/by/4.0/ + + + + Software archive + 10.5281/zenodo.13384954 + + + GitHub review issue + https://github.com/openjournals/joss-reviews/issues/6917 + + + + 10.21105/joss.06917 + https://joss.theoj.org/papers/10.21105/joss.06917 + + + https://joss.theoj.org/papers/10.21105/joss.06917.pdf + + + + + + Julia: A fresh approach to numerical +computing + Bezanson + SIAM Review + 1 + 59 + 10.1137/141000671 + 2017 + Bezanson, J., Edelman, A., Karpinski, +S., & Shah, V. B. (2017). Julia: A fresh approach to numerical +computing. SIAM Review, 59(1), 65–98. +https://doi.org/10.1137/141000671 + + + High-performance symbolic-numerics via +multiple dispatch + Gowda + ACM Commun. Comput. Algebra + 3 + 55 + 10.1145/3511528.3511535 + 1932-2240 + 2022 + Gowda, S., Ma, Y., Cheli, A., +Gwóźzdź, M., Shah, V. B., Edelman, A., & Rackauckas, C. (2022). +High-performance symbolic-numerics via multiple dispatch. ACM Commun. +Comput. Algebra, 55(3), 92–96. +https://doi.org/10.1145/3511528.3511535 + + + ModelingToolkit: A composable graph +transformation system for equation-based modeling + Ma + 10.48550/arXiv.2103.05244 + 2021 + Ma, Y., Gowda, S., Anantharaman, R., +Laughman, C., Shah, V., & Rackauckas, C. (2021). ModelingToolkit: A +composable graph transformation system for equation-based modeling. +https://doi.org/10.48550/arXiv.2103.05244 + + + On the stability of inverse +problems + Tikhonov + Proceedings of the USSR Academy of +Sciences + 39 + 1943 + Tikhonov, A. N. (1943). On the +stability of inverse problems. Proceedings of the USSR Academy of +Sciences, 39, 195–198. +https://api.semanticscholar.org/CorpusID:202866372 + + + Revisiting matrix-based inversion of scanning +mobility particle sizer (SMPS) and humidified tandem differential +mobility analyzer (HTDMA) data + Petters + Atmospheric Measurement +Techniques + 12 + 14 + 10.5194/amt-14-7909-2021 + 2021 + Petters, M. D. (2021). Revisiting +matrix-based inversion of scanning mobility particle sizer (SMPS) and +humidified tandem differential mobility analyzer (HTDMA) data. +Atmospheric Measurement Techniques, 14(12), 7909–7928. +https://doi.org/10.5194/amt-14-7909-2021 + + + On pólya frequency functions IV: The +fundamental spline functions and their limits + Curry + I. J. Schoenberg selected +papers + 10.1007/978-1-4899-0433-1_17 + 978-1-4899-0433-1 + 1988 + Curry, H. B., & Schoenberg, I. J. +(1988). On pólya frequency functions IV: The fundamental spline +functions and their limits. In C. de Boor (Ed.), I. J. Schoenberg +selected papers (pp. 347–383). Birkhäuser Boston. +https://doi.org/10.1007/978-1-4899-0433-1_17 + + + On calculating with b-splines + de Boor + Journal of Approximation +Theory + 1 + 6 + 10.1016/0021-9045(72)90080-9 + 0021-9045 + 1972 + de Boor, C. (1972). On calculating +with b-splines. Journal of Approximation Theory, 6(1), 50–62. +https://doi.org/10.1016/0021-9045(72)90080-9 + + + A new method of interpolation and smooth +curve fitting based on local procedures + Akima + J. ACM + 4 + 17 + 10.1145/321607.321609 + 0004-5411 + 1970 + Akima, H. (1970). A new method of +interpolation and smooth curve fitting based on local procedures. J. +ACM, 17(4), 589–602. +https://doi.org/10.1145/321607.321609 + + + Contributions to the problem of approximation +of equidistant data by analytic functions + Schoenberg + I. J. Schoenberg selected +papers + 10.1007/978-1-4899-0433-1_1 + 978-1-4899-0433-1 + 1988 + Schoenberg, I. J. (1988). +Contributions to the problem of approximation of equidistant data by +analytic functions. In C. de Boor (Ed.), I. J. Schoenberg selected +papers (pp. 3–57). Birkhäuser Boston. +https://doi.org/10.1007/978-1-4899-0433-1_1 + + + Lectures on elementary mathematics, by joseph +louis lagrange; tr. By thomas j. McCormack + Lagrange + 1898 + Lagrange, J. L. (1898). Lectures on +elementary mathematics, by joseph louis lagrange; tr. By thomas j. +McCormack. Open court publishing Company. +https://books.google.co.in/books?id=7h9G0AEACAAJ + + + A method for constructing local monotone +piecewise cubic interpolants + Fritsch + SIAM Journal on Scientific and Statistical +Computing + 2 + 5 + 10.1137/0905021 + 1984 + Fritsch, F. N., & Butland, J. +(1984). A method for constructing local monotone piecewise cubic +interpolants. SIAM Journal on Scientific and Statistical Computing, +5(2), 300–304. https://doi.org/10.1137/0905021 + + + + + + diff --git a/joss.06917/10.21105.joss.06917.pdf b/joss.06917/10.21105.joss.06917.pdf new file mode 100644 index 0000000000..f8ff1ff6a6 Binary files /dev/null and b/joss.06917/10.21105.joss.06917.pdf differ diff --git a/joss.06917/paper.jats/10.21105.joss.06917.jats b/joss.06917/paper.jats/10.21105.joss.06917.jats new file mode 100644 index 0000000000..6b557d6a67 --- /dev/null +++ b/joss.06917/paper.jats/10.21105.joss.06917.jats @@ -0,0 +1,466 @@ + + +
+ + + + +Journal of Open Source Software +JOSS + +2475-9066 + +Open Journals + + + +6917 +10.21105/joss.06917 + +DataInterpolations.jl: Fast Interpolations of 1D +data + + + +https://orcid.org/0000-0003-0785-3586 + +Bhagavan +Sathvik + + +* + + +https://orcid.org/0009-0005-6134-6608 + +de Koning +Bart + + + + + +Maddhashiya +Shubham + + + + +https://orcid.org/0000-0001-5850-0663 + +Rackauckas +Christopher + + + + + + + +JuliaHub + + + + +Deltares + + + + +Pumas-AI + + + + +Massachusetts Institute of Technology + + + + +* E-mail: + + +6 +6 +2024 + +9 +101 +6917 + +Authors of papers retain copyright and release the +work under a Creative Commons Attribution 4.0 International License (CC +BY 4.0) +2022 +The article authors + +Authors of papers retain copyright and release the work under +a Creative Commons Attribution 4.0 International License (CC BY +4.0) + + + +julia +interpolations + + + + + + Summary +

Interpolations are used to estimate values between known data + points using an approximate continuous function. DataInterpolations.jl + is a Julia + (Bezanson + et al., 2017) package containing 1D implementations of some of + the most commonly used interpolation functions. These include:

+ + +

Constant Interpolation

+
+ +

Linear Interpolation

+
+ +

Quadratic Interpolation

+
+ +

Lagrange Interpolation + (Lagrange, + 1898)

+
+ +

Quadratic Splines

+
+ +

Cubic Splines + (Schoenberg, + 1988)

+
+ +

Akima Splines + (Akima, + 1970)

+
+ +

Cubic Hermite Splines

+
+ +

Piecewise Cubic Hermite Interpolating Polynomial (PCHIP) + (Fritsch + & Butland, 1984)

+
+ +

Quintic Hermite Splines

+
+ +

B-Splines + (Curry + & Schoenberg, 1988) + (de + Boor, 1972)

+
+ +

Regression based B-Splines

+
+
+

and a continually growing list. Along with these, the package also + has methods to fit parameterized curves with the data points and + Tikhonov regularization + (Tikhonov, + 1943) + (Petters, + 2021) for obtaining smooth curves. The package also provides + functionality to compute integrals and derivatives upto second order + for those interpolations methods. It is also automatic differentiation + friendly. It can also be used symbolically with Symbolics.jl + (Gowda + et al., 2022) and plugged into models defined using + ModelingToolkit.jl + (Ma + et al., 2021).

+
+ + Statement of need +

Interpolations are a very important component of many modeling + workflows. Often, sampled or measured inputs need to be transformed + into continuous functions or smooth curves for simulation purposes. In + many scientific machine learning workflows, interpolating data is + essential to learn continuous models. DataInterpolations.jl can be + used for facilitating these types of workflows. Several interpolation + packages already exist in Julia, such as + Interpolations.jl, + which primarily specializes in B-Splines and uniformly spaced data + with some support for irregularly spaced data. In contrast, + DataInterpolations.jl does not assume any specific structure in the + data, offering greater flexibility for diverse datasets. + Interpolations.jl + also doesn’t offer methods like Quadratic Interpolation, Lagrange + Interpolation, Hermite Splines etc. + BasicInterpolators.jl + is more similar to DataInterpolations.jl, although it doesn’t offer + methods like B-Splines. Rest of the interpolation packages focus on + particular methods like + BSplineKit.jl + for B-Splines, + FastChebInterp.jl + for Chebyshev interpolation, + PCHIPInterpolation + for PCHIP interpolation etc. Additionally, DataInterpolations.jl + includes many novel techniques for accelerating the interpolation + searches with specialized caching, quasi-linear guessing, and more to + improve the performance algorithmically, beyond the simple + computational optimizations. In summary, DataInterpolations.jl is more + generic from other packages and offers many fast interpolation methods + for arbitrarily spaced 1D data, all within a consistent and simple + interface.

+
+ + Example +

The following tutorials are provided in the documentation:

+ + +

Tutorial + 1 provides how to define each of the interpolation + methods and compute the value at any point.

+
+ +

Tutorial + 2 provides explanation for using the interface and + interpolated objects for evaluating at any point, computing the + derivative at any point and computing the integral between any two + points.

+
+ +

Tutorial + 3 provides how to use interpolation objects with + Symbolics.jl and ModelingToolkit.jl.

+
+
+

A simple demonstration here:

+ using DataInterpolations + +# Dependent variable +u = [14.7, 11.51, 10.41, 14.95, 12.24, 11.22] + +# Independent variable +t = [0.0, 62.25, 109.66, 162.66, 205.8, 252.3] + +A1 = CubicSpline(u, t) + +# For interpolation do, A(t) +A1(100.0) + +# derivative +## first order +DataInterpolations.derivative(A1, 1.0, 1) + +## second order +DataInterpolations.derivative(A1, 1.0, 2) + +# integral +DataInterpolations.integral(A1, 1.0, 5.0) +
+ + + + + + + + BezansonJeff + EdelmanAlan + KarpinskiStefan + ShahViral B. + + Julia: A fresh approach to numerical computing + SIAM Review + 2017 + 59 + 1 + https://doi.org/10.1137/141000671 + 10.1137/141000671 + 65 + 98 + + + + + + GowdaShashi + MaYingbo + CheliAlessandro + GwóźzdźMaja + ShahViral B. + EdelmanAlan + RackauckasChristopher + + High-performance symbolic-numerics via multiple dispatch + ACM Commun. Comput. Algebra + Association for Computing Machinery + New York, NY, USA + 202201 + 55 + 3 + 1932-2240 + https://doi.org/10.1145/3511528.3511535 + 10.1145/3511528.3511535 + 92 + 96 + + + + + + MaYingbo + GowdaShashi + AnantharamanRanjan + LaughmanChris + ShahViral + RackauckasChris + + ModelingToolkit: A composable graph transformation system for equation-based modeling + 2021 + https://doi.org/10.48550/arXiv.2103.05244 + 10.48550/arXiv.2103.05244 + + + + + + TikhonovA. N. + + On the stability of inverse problems + Proceedings of the USSR Academy of Sciences + 1943 + 39 + https://api.semanticscholar.org/CorpusID:202866372 + 195 + 198 + + + + + + PettersM. D. + + Revisiting matrix-based inversion of scanning mobility particle sizer (SMPS) and humidified tandem differential mobility analyzer (HTDMA) data + Atmospheric Measurement Techniques + 2021 + 14 + 12 + https://amt.copernicus.org/articles/14/7909/2021/ + 10.5194/amt-14-7909-2021 + 7909 + 7928 + + + + + + CurryH. B. + SchoenbergI. J. + + On pólya frequency functions IV: The fundamental spline functions and their limits + I. J. Schoenberg selected papers + + BoorCarl de + + Birkhäuser Boston + Boston, MA + 1988 + 978-1-4899-0433-1 + https://doi.org/10.1007/978-1-4899-0433-1_17 + 10.1007/978-1-4899-0433-1_17 + 347 + 383 + + + + + + de BoorCarl + + On calculating with b-splines + Journal of Approximation Theory + 1972 + 6 + 1 + 0021-9045 + https://www.sciencedirect.com/science/article/pii/0021904572900809 + 10.1016/0021-9045(72)90080-9 + 50 + 62 + + + + + + AkimaHiroshi + + A new method of interpolation and smooth curve fitting based on local procedures + J. ACM + Association for Computing Machinery + New York, NY, USA + 197010 + 17 + 4 + 0004-5411 + https://doi.org/10.1145/321607.321609 + 10.1145/321607.321609 + 589 + 602 + + + + + + SchoenbergI. J. + + Contributions to the problem of approximation of equidistant data by analytic functions + I. J. Schoenberg selected papers + + BoorCarl de + + Birkhäuser Boston + Boston, MA + 1988 + 978-1-4899-0433-1 + https://doi.org/10.1007/978-1-4899-0433-1_1 + 10.1007/978-1-4899-0433-1_1 + 3 + 57 + + + + + + LagrangeJ. L. + + Lectures on elementary mathematics, by joseph louis lagrange; tr. By thomas j. McCormack + Open court publishing Company + 1898 + https://books.google.co.in/books?id=7h9G0AEACAAJ + + + + + + FritschF. N. + ButlandJ. + + A method for constructing local monotone piecewise cubic interpolants + SIAM Journal on Scientific and Statistical Computing + 1984 + 5 + 2 + https://doi.org/10.1137/0905021 + 10.1137/0905021 + 300 + 304 + + + + +