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

OrientationEmbeddings

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.