A class representing a function on the rotation group SO(3).
Syntax
SO3F = SO3FunMLS(nodes, values);
SO3F = SO3FunMLS(nodes, values, 'degree', 3, 'oF', 4);
SO3F = SO3FunMLS(nodes, values, 'delta', 5*degree, 'weight', @(t)(...));
SO3F = SO3FunMLS(nodes, values, 'centered', true, 'monomials', true, 'subsample', 'tangent', true);
SO3F = SO3FunMLS(nodes, values, 'detectOutliers', 'use_vor_weights', 'use_smooth_delta');Input
| nodes | orientation, rotation (data points) |
| values | array of function values assigned to the nodes |
Output
| SO3F | SO3FunMLS |
Options
| degree | the polynomial degree used for approximation |
| oF | oversampling Factor. the number of neighbors nn (dependent) is the dimension of the ansatz space, times this factor |
| oF_max | maximum oversampling factor in case of range search. At most the closest SO3F.dim * SO3F.oF_max neighbors will be used. |
| delta | support radius of the weight function when searching for outliers |
| monomials | use monomial basis if true, otherwise use spherical harmonics |
| centered | evaluate the basis functions only around the identity, if true |
| tangent | use monomials on the tangent space (only if centered == true) (in this case the a-coordinate of the neighbors is ignored) |
| (NOTE: 'centered' and 'tangent' trigger the monomial | option to be true) |
| w | @function_handle (weight function) |
| predefined weight function can be chosen via the following strings: 'C1hat', 'const', 'cos', 'hat', 'indicator', 'squared hat', 'wendland' (default) | |
| use_smooth_delta | make the support radius delta(x) a smooth function with close to SO3F.nn neighbors at each center |
| use_vor_weights | additionally multiply w(x,x_i) by the Voronoi Volumne of x_i, as in 'Stable Moving Least Squares Approximation' |
| distance | specify which metric to use (default: 'euclidean') |
| run 'help rangesearch' for available options | |
| s | symmetry of the nodes |
| regularize | use regularization for solving the lsq-systems |
| maxcond | max regularization threshold of condition of the gram matrix |
| mincond | start regularizing threshold of condition of the gram matrix |
| basis_weights | regularization weights of basis coefficients, should punish higher degrees (Sobolev-like) |
| basis_weights_scale | degree-selectivity of the regularization weights; values around 1 give a moderate preference for lower degrees |
| lambda_geom_rel | relative strength of geometric regularization; for a value of 1, geometryScore is used without additional scaling |
| outlierDetectionRange | specify how many neighbors are taken into account |
Flags
| detectOutliers | find outliers in the data and reduce their weight in the local least squares problems depending on how bad they are |
| subsample | use subset of neighbors that minimizes the lebesgue constant |