the quadrature grid on SO(3) of a bandwidth: the nodes and weights that integrate every harmonic function up to that degree exactly
Syntax
G = quadratureSO3Grid(L)
Clenshaw-Curtis in beta, no symmetry.
G = quadratureSO3Grid(bandwidthFor(L, cs), cs, ss, 'GaussLegendre')
Gauss-Legendre, reduced by the frames.
G = quadratureSO3Grid(15, rA=4, rB=2)
Reduced by fourfold and twofold folds about z.
ori, w = G.nodes(), G.weights
The nodes and their weights.
Description
The grid integrates exactly every function of harmonic degree up to the bandwidth, which is what SO3FunHarmonic.quadrature needs to compute the coefficients of a function from its values. The weights sum to one, the Haar measure.
The Euler angles alpha and gamma are equispaced, 2L + 2 of each; the scheme chooses the rule for beta:
- ‘ClenshawCurtis’, the default: 2L + 1 nodes.
- ‘GaussLegendre’: L + 1 nodes, about half as many for the same degree.
The rotations about z of the frames shorten the grid: the crystal fold rA the gamma range and the specimen fold rB the alpha range. Both must divide 2L + 2; bandwidthFor(L, cs, ss) gives the next bandwidth that they divide, and any other is refused.
Unlike MATLAB’s, the grid is not itself an orientation: G.nodes() gives the orientations, beta fastest, then alpha, then gamma, and G.weights their weights.
Input
bandwidth |
int, the degree up to which the rule is exact |
CS, SS |
crystalFrame and specimenFrame (positional, optional) |
scheme |
‘ClenshawCurtis’ (default) or ‘GaussLegendre’ (positional, optional) |
Keywords
| keyword | default | description |
|---|---|---|
rA |
the fold about z on the crystal side, without frames | |
rB |
the fold about z on the specimen side, without frames | |
dtype |
the floating point type of the angles and weights |
Output
G |
quadratureSO3Grid |
See also
bandwidthFor, SO3FunHarmonic.quadrature, regularSO3Grid, SO3FunQuadrature
Members
| flatten | the distinct nodes, MATLAB’s grid(:) |
| fromHalf | values at halfNodes() spread onto all nodes, in the order of nodes() |
| fullGrid | MATLAB’s view of the grid: the nodes that differ under the symmetries, on which an evaluator need be called, and the full grid |
| fullValues | values at the distinct nodes spread onto the full grid, values at the full grid kept |
| halfNodes | the nodes beta <= pi/2 as orientations, where a 2-fold axis perpendicular to z on either side maps them onto the rest of the grid |
| nodes | the nodes as orientations in the frames of the grid, beta fastest, then alpha, then gamma |
| quadratureSO3Grid | the quadrature grid on SO(3) of a bandwidth: the nodes and weights that integrate every harmonic function up to that degree exactly |
| shape | the shape of the grid, the numbers of gamma, alpha and beta nodes |
| size | the number of the distinct nodes, MATLAB’s numel(grid) |
| weights | the quadrature weights of the nodes, in the order of nodes() |
Used on
MATLAB’s quadratureSO3Grid_index
source
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/quadratureSO3Grid_index_py.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.