interpolate edit page

Approximate an SO3FunHarmonic by given function values at given nodes w.r.t. some noise.

Let \(M\) orientations \(R_i\) and corresponding function values \(y_i\) be given. We compute the SO3FunHarmonic \(f\) of an specific bandwidth which minimizes the least squares problem

\[\sum_{i=1}^M|f(R_i)-y_i|^2.\]

If the oversampling factor is small (high bandwidth) it may be necessary to assure decay of the harmonic coefficients. Therefore we regularize the least squares problem by the Sobolev norm of f, i.e we minimize

\[\sum_{i=1}^M|f(R_i)-y_i|^2 + \lambda \|f\|^2_{H^s}\]

where \(\lambda\) is the regularization parameter and \(s\) the Sobolev index. The Sobolev norm of an SO3FunHarmonic with harmonic coefficients \(\hat{f}\) reads as

\[\|f\|^2_{H^s} = \sum_{n=0}^N (2n+1)^{2s} \, \sum_{k,l=-n}^n|\hat{f}_n^{k,l}|^2.\]

Syntax

SO3F = SO3FunHarmonic.interpolate(nodes,y)
SO3F = SO3FunHarmonic.interpolate(nodes,y,'bandwidth',48)
SO3F = SO3FunHarmonic.interpolate(nodes,y,'weights','Voronoi')
SO3F = SO3FunHarmonic.interpolate(nodes,y,'bandwidth',48,'weights',W,'tol',1e-6,'maxit',200)
SO3F = SO3FunHarmonic.interpolate(nodes,y,'regularization',0) % no regularization
SO3F = SO3FunHarmonic.interpolate(nodes,y,'regularization',1e-4,'SobolevIndex',2)
[SO3F,lsqrParameters] = SO3FunHarmonic.interpolate(___)

Input

nodes grid of rotation
y function values on the grid (maybe multidimensional)

Output

SO3F SO3FunHarmonic
lsqrParameters double

Options

bandwidth maximal harmonic degree (Be careful by setting the bandwidth by yourself, since it may yields undersampling)
weights corresponding to the nodes (default is 'equal': all nodes are weighted similar; 'Voronoi': Voronoi volumes; numeric array W: specific weights for every node)
tol tolerance as termination condition for lsqr
maxit maximum number of iterations as termination condition for lsqr
regularization the energy functional of the lsqr solver is regularized by the Sobolev norm of SO3F with regularization parameter lambda (default: 1e-4)(0: no regularization)
SobolevIndex for regularization (default = 2)
cutOffParameter cut off parameter m of the window functions in NFFT

See also

rotation.interp SO3VectorFieldHarmonic.interpolate SO3FunRBF.interpolate