-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compact radial basis functions and generic polynomial basis / Utility for moving least squares #954
Conversation
src/interpolation/details/ArborX_InterpDetailsPolynomialBasis.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsPolynomialBasis.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsPolynomialBasis.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsPolynomialBasis.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsPolynomialBasis.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsPolynomialBasis.hpp
Outdated
Show resolved
Hide resolved
template <std::size_t Deg> | ||
struct PolynomialDegree : std::integral_constant<std::size_t, Deg> | ||
{}; | ||
|
||
} // namespace Details | ||
template <std::size_t Deg> | ||
static constexpr Details::PolynomialDegree<Deg> PolynomialDegree{}; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this used for?
template <std::size_t Deg> | |
struct PolynomialDegree : std::integral_constant<std::size_t, Deg> | |
{}; | |
} // namespace Details | |
template <std::size_t Deg> | |
static constexpr Details::PolynomialDegree<Deg> PolynomialDegree{}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is used as a tag so that it can be used as a function argument and help with templates. For example: MovingLeastSquares<MemorySpace, double>(source, target, CRBF::Wendland<2>, PolynomialDegree<2>)
src/interpolation/details/ArborX_InterpDetailsCompactRadialBasisFunction.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsCompactRadialBasisFunction.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsPolynomialBasis.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsPolynomialBasis.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsCompactRadialBasisFunction.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsPolynomialBasis.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsPolynomialBasis.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsPolynomialBasis.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsPolynomialBasis.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsPolynomialBasis.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsCompactRadialBasisFunction.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsCompactRadialBasisFunction.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsCompactRadialBasisFunction.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsCompactRadialBasisFunction.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsCompactRadialBasisFunction.hpp
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsPolynomialBasis.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsPolynomialBasis.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsPolynomialBasis.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsPolynomialBasis.hpp
Outdated
Show resolved
Hide resolved
src/interpolation/details/ArborX_InterpDetailsPolynomialBasis.hpp
Outdated
Show resolved
Hide resolved
29ef720
to
79947bd
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks OK to me.
SYCL and HIP did not run due to the 3h timeout. Others are fine. |
#include <interpolation/details/ArborX_InterpDetailsCompactRadialBasisFunction.hpp> | ||
|
||
#include "BoostTest_CUDA_clang_workarounds.hpp" | ||
#include <boost/math/tools/polynomial.hpp> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This introduces a new dependency on boost::math
, I think. According to this, it only has optional compiled binary, but can be used header only. So I think we don't need to update CMake's boost REQUIRED_COMPONENTS
.
Follow-up of #946 and #950. This PR adds the set of radial basis functions that were present on DTK, a generic way of building a polynomial basis and tests for both of them.
ArborX::Interpolation::CRBF
, a namespace containing the compact radial basis functionsWendland
,Wu
andBuhmann
.