the isometric embedding of orientations into a Euclidean space: one matrix of components with a column per orientation, so that norm(e1 - e2) is a metric on the orientations modulo the crystal symmetry
Syntax
e = embedding(ori)
The images of a list of orientations.
e = embedding(cs)
The image of the identity.
d = double(e)
The coordinates, one row per orientation.
ori = mean(e).orientation()
The mean orientation, the projection of the mean image.
Description
The embedding maps every orientation to a tuple of symmetric tensors such that symmetrically equivalent orientations have the same image. The Euclidean distance of the images is then a metric on the orientations modulo the crystal symmetry, and averages, clusters or regressions can be computed in a flat space.
The images form a vector space: sums, differences, multiples, the mean, the dot product and the norm act on the components. project, or orientation, takes an image back to the orientation whose image is closest. double(e) gives the coordinates in an orthonormal basis, isometric to the images, and setDouble inverts it.
MATLAB’s second form, embedding(u, cs, l) from given tensors, is setDouble(e, d) here, or the keywords spec and u.
Input
o |
orientation, the orientations to embed, or a crystalFrame for the image of the identity |
Keywords
| keyword | default | description |
|---|---|---|
spec |
the recipe of the embedding of a crystal frame, with u: an embedding of given components | |
u |
the components, one column per image, with spec |
Output
e |
embedding, the images, e[i] the image of one orientation |
References
- R. Hielscher, L. Lippert, Isometric embeddings of quotients of the rotation group modulo finite symmetries, arXiv:2007.09664 (2020)
See also
embedding.project, double, setDouble, calcCluster, OrientationEmbeddings
Members
| cat | cat(a, b, …) is type(a).cat(a, b, …): the list of the operands, MATLAB’s [a, b], the carried attributes joined |
| CS | the crystal frame the embedding belongs to |
| dim | the dimension of the space of the images, the length of a row of double(e) |
| dot | the inner product of two embeddings of the same crystal frame, image by image |
| double | the Euclidean coordinates of the images in their orthonormal basis, one row per orientation |
| embedding | the isometric embedding of orientations into a Euclidean space: one matrix of components with a column per orientation, so that norm(e1 - e2) is a metric on the orientations modulo the crystal symmetry |
| isclose | whether two embeddings belong to the same frame and have the same images up to atol |
| mean | the arithmetic mean of the images |
| minus | |
| mtimes | |
| norm | the Euclidean norm of every image |
| orientation | the orientations whose images are closest to the embedding, the projection back onto the orientations of e.CS |
| plot | plot(x, …) draws x as its kind is drawn |
| plus | |
| project | the rotations whose images are closest to the embedding, the projection of a point of the Euclidean space back onto the orientations |
| rdivide | |
| rotate | the images turned by a rotation |
| setDouble | the embedding with the given coordinates in the orthonormal basis, one row per image, the inverse of double(e) |
| size | the number of images |
| sum | sum(x) of an MTEX object by its own sum, of an array or with an axis as NumPy sums, of any other iterable as Python sums, so that from mtex import * keeps Python’s sum |
| sym | sym(T) is T.sym(): the symmetric part, the mean over the permutations of the indices |
| times |
Used on
MATLAB’s embedding_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/embedding_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.