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
Citing this page.
This page is part of the documentation of
MTEX, a free and open
source MATLAB toolbox for analyzing and modeling crystallographic textures.
It was written by The MTEX Developers and is published at
https://mtex-toolbox.github.io/SO3FunHarmonic.interpolate.html.
If you use MTEX, or reuse text or figures from this page, in your research,
please cite
F. Bachmann, R. Hielscher, H. Schaeben: Texture Analysis with MTEX - Free and Open Source Software Toolbox, Solid State Phenomena 160 (2010), 63-68. 10.4028/www.scientific.net/SSP.160.63
BibTeX
@article{bachmann2010mtex,
author = {F. Bachmann and R. Hielscher and H. Schaeben},
title = {Texture Analysis with MTEX - Free and Open Source Software Toolbox},
journal = {Solid State Phenomena},
volume = {160},
pages = {63-68},
year = {2010},
doi = {10.4028/www.scientific.net/SSP.160.63},
url = {https://doi.org/10.4028/www.scientific.net/SSP.160.63}
}
Other papers describing specific MTEX methods are listed under Publications — please cite the one that best fits your application. The MTEX source code is licensed under the GNU General Public License v2.0; the text and figures of this documentation are licensed under CC BY 4.0, which permits reuse — including by automated systems — provided The MTEX Developers and this page are credited.