apply the symmetry action appropriate to directions, tensors or fields.

Syntax

equivalents = symmetrise(h)

Description

For an MTEX object, symmetrise(x, …) calls x.symmetrise(…). Additional positional and keyword arguments are passed to that method unchanged. Its documentation specifies the accepted inputs, units, symmetry handling and optional outputs. Consult the corresponding method for the behaviour of a particular object type.

Example

Generate the distinct cubic {100} plane normals, and compare oriented normals with antipodal plane axes. Opposite normals represent the same axis when antipodal=True.

import numpy as np
import matplotlib.pyplot as plt
from mtex import crystalFrame, Miller, symmetrise, plot

cs = crystalFrame('m-3m')
h = Miller(1, 0, 0, cs, 'hkl')
normals = symmetrise(h, unique=True, antipodal=False)
axes = symmetrise(h, unique=True, antipodal=True)
print('Oriented normals:', normals.size, 'Antipodal axes:', axes.size)
print('Unit Cartesian normals:', np.round(normals.normalize().data, 3))
plot(normals, upper=True, antipodal=True, markerSize=8)
plt.show()

unique=True removes duplicate symmetry images of this single input. The hemisphere plot identifies opposite poles, while normals retains both signs. Applying symmetrise without unique to an array keeps the symmetry-image axis so the original array can be tracked.

Oriented normals: 6 Antipodal axes: 3
Unit Cartesian normals: [[ 1.  0.  0.]
 [-1. -0. -0.]
 [-0. -1.  0.]
 [ 0.  1.  0.]
 [-0.  0.  1.]
 [ 0. -0. -1.]]

Example output for Miller.symmetrise

Signature

symmetrise(x, *args, **kwargs)

Methods it calls

fibre the symmetrically equivalent fibres, MATLAB’s fibre.symmetrise
orientation all crystallographically equivalent orientations
S2AxisFieldHarmonic the projection onto the equivariant fields, a(s xi) = +- s a(xi)
S2FunHarmonic the projection onto the functions invariant under the group of the frame, or under a list of rotations forming a group the frame does not name
S2VectorFieldHarmonic the projection onto the equivariant fields of the frame, v(s xi) = s v(xi) for the elements of the group including the improper ones
slipSystem the systems of every family: the pairs of the orbits that stay orthogonal, both signs of the Burgers vector unless antipodal
SO3FunHarmonic project the coefficients onto the symmetries carried by the two frames
SO3VectorFieldHarmonic the projection onto the equivariant fields of the frames: the invariant side one component at a time, the equivariant side F -> s F(s^-1 R) on the left, F -> s F(R s) on the right, by the Kronecker products
tensor the mean over the group of the frame, and whether the tensor is invariant under it
vector3d the symmetrically equivalent directions, numSym x shape, or the distinct ones of one direction with unique=True

Used on

CrystalOperations, OrientationSymmetry, BoundaryNormalDistribution, MisorientationTheory, DislocationSystems, SachsModel, SchmidFactor, TaylorModel, TextureEvolution, S2FunOperations, S2FunSym

MATLAB’s symmetrise

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/symmetrise_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.