quaternions stored as a + b*i + c*j + d*k, with one coefficient tuple per element.

Syntax

q = quaternion(a, b, c, d)
q = quaternion(abcd)

Description

Separate coefficient arrays broadcast together. A coordinate array has shape (…, 4), or (4, n) for a column-oriented list. Construction preserves the norm and sign; q and -q are distinct quaternions. Use rotation for unit quaternions representing proper rotations, where opposite signs represent the same rotation.

Quaternion multiplication composes products in the usual order. For unit quaternions, q*v applies the rotation to a vector3d. Indexing and reshaping preserve the container.

Keywords

keyword default description
dtype None floating-point type of the stored coefficients

Properties

a, b, c, d real and imaginary coefficients as arrays of the container shape
data numeric coefficient array with a trailing axis of length four
shape shape of the quaternion array, excluding the four coefficients

See also

rotation, orthogonalTransform, quaternion.normalize

Used on

RotationDefinition

MATLAB’s quaternion.quaternion

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/quaternion.quaternion_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.