Compute the SO(3)-Fourier/Wigner coefficients of an given SO3Fun or given evaluations on a specific quadrature grid.
Therefore we obtain the Fourier coefficients with numerical integration (quadrature), i.e. we choose a quadrature scheme of meaningful quadrature nodes \(R_m\) and quadrature weights \(\omega_m\) and compute
\[ \hat f_n^{k,l} = \int_{SO(3)} f®\, \overline{D_n^{k,l}(R)} \mathrm{d}\my® \approx \sum_{m=1}^M \omega_m \, f(R_m) \, \overline{D_n^{k,l}(R_m)}, \]
for all \(n=0,\dots,N\) and \(k,l=-n,\dots,n\).
Therefore this method evaluates the given SO3Fun on a with respect to symmetries fundamental Region. Afterwards it uses a inverse trivariate nfft/fft and an adjoint coefficient (Wigner) transform which is based on a representation property of Wigner-D functions.
Hence it do not use the NFSOFT (which includes a fast polynom transform) as in the older method SO3FunHarmonic.quadratureNFSOFT
.
Syntax
SO3F = SO3FunHarmonic.quadrature(f)
SO3F = SO3FunHarmonic.quadrature(f,'bandwidth',bandwidth)
SO3F = SO3FunHarmonic.quadrature(f,'bandwidth',bandwidth,quadratureScheme)
SO3F = SO3FunHarmonic.quadrature(f,'bandwidth',bandwidth,'SO3Grid',S3G,'weights',w)
SO3F = SO3FunHarmonic.quadrature(nodes,values)
SO3F = SO3FunHarmonic.quadrature(nodes,values,'bandwidth',48,'weights',w)
Input
f | SO3Fun, function_handle in orientation (first dimension has to be the evaluations) |
nodes | quadratureSO3Grid, rotation, orientation |
values | double (first dimension has to be the evaluations) |
Output
SO3F | SO3FunHarmonic |
Options
bandwidth | maximal harmonic degree (default: 64) |
weights | quadrature weights |
SO3Grid | quadrature nodes |
Flags
quadratureScheme | ('ClenshawCurtis'|'GaussLegendre') --> default: CC |
See also
SO3FunHarmonic.adjoint SO3FunHarmonic.approximate SO3FunHarmonic