13 #ifndef included_MatrixInterpolator_h
14 #define included_MatrixInterpolator_h
16 #include "Interpolator.h"
64 const std::vector<std::shared_ptr<Matrix>> & rotation_matrices,
65 const std::vector<std::shared_ptr<Matrix>> & reduced_matrices,
67 std::string matrix_type,
68 std::string rbf =
"G",
69 std::string interp_method =
"LS",
70 double closest_rbf_val = 0.9,
71 bool compute_gradients =
false);
80 bool orthogonalize =
false);
87 return d_interpolation_gradient;
122 std::unique_ptr<Matrix> obtainLogInterpolatedMatrix(std::vector<double>& rbf);
130 std::shared_ptr<Matrix> interpolateSPDMatrix(
const Vector & point);
138 std::shared_ptr<Matrix> interpolateNonSingularMatrix(
const Vector & point);
146 std::shared_ptr<Matrix> interpolateMatrix(
const Vector & point);
151 std::string d_matrix_type;
156 std::vector<std::shared_ptr<Matrix>> d_rotated_reduced_matrices;
161 std::vector<std::shared_ptr<Matrix>> d_gammas;
166 std::shared_ptr<Matrix> d_x_half_power;
172 std::vector<std::shared_ptr<Matrix>> d_interpolation_gradient;
std::vector< std::shared_ptr< Matrix > > getGradient()
Returns the interpolated matrix's gradient.
std::shared_ptr< Matrix > interpolate(const Vector &point, bool orthogonalize=false)
Obtain the interpolated reduced matrix of the unsampled parameter point.