13 #ifndef included_VectorInterpolator_h
14 #define included_VectorInterpolator_h
16 #include "Interpolator.h"
59 const std::vector<std::shared_ptr<Matrix>> & rotation_matrices,
60 const std::vector<std::shared_ptr<Vector>> & reduced_vectors,
62 std::string rbf =
"G",
63 std::string interp_method =
"LS",
64 double closest_rbf_val = 0.9,
65 bool compute_gradients =
false);
79 return d_interpolation_gradient;
115 std::unique_ptr<Vector> obtainLogInterpolatedVector(std::vector<double>& rbf);
120 std::vector<std::shared_ptr<Vector>> d_rotated_reduced_vectors;
125 std::vector<std::shared_ptr<Vector>> d_gammas;
131 std::vector<std::shared_ptr<Vector>> d_interpolation_gradient;
134 std::unique_ptr<Vector> obtainInterpolatedVector(
135 const std::vector<std::shared_ptr<Vector>> & data,
136 const Matrix & f_T, std::string interp_method,
137 std::vector<double>& rbf);
138 std::unique_ptr<Matrix> solveLinearSystem(
139 const std::vector<Vector> & parameter_points,
140 const std::vector<std::shared_ptr<Vector>> & data,
141 const std::string & interp_method,
142 const std::string & rbf,
double epsilon);
std::shared_ptr< Vector > interpolate(const Vector &point)
Obtain the interpolated reduced vector of the unsampled parameter point.
std::vector< std::shared_ptr< Vector > > getGradient()
Returns the interpolated matrix's gradient.