Welcome to the L3 Harris Geospatial documentation center. Here you will find reference guides and help documents.
﻿

QTLOG

QTLOG

## Author

Craig B. Markwardt, NASA/GSFC Code 662, Greenbelt, MD 20770
craigm@lheamail.gsfc.nasa.gov
UPDATED VERSIONs can be found on my WEB PAGE:
http://cow.physics.wisc.edu/~craigm/idl/idl.html

## Purpose

Compute "logarithm" of a unit quaternion

Geometry

## Calling Sequence

QLOG = QTLOG(Q)

## Description

The function QTLOG computes the "logarithm" of a unit quaternion.
The logarithm of a quaternion is defined for any unit quaternion,
such that the expression
QTLOG([VAXIS*SIN(PHI/2), COS(PHI/2)]
becomes
[VAXIS * PHI/2, 0]
where VAXIS is the unit vector rotation axis and PHI is the
rotation angle. Note that the output quaternion is not a *unit*
quaternion. The output of QTLOG is also commonly known as an
*axial vector*, for a rotation axis VAXIS and rotation angle
PHI/2.
Typically the output to QTLOG is eventually exponentiated with the
QTEXP function, and the identity QTEXP(QTLOG(Q)) is the same as Q.
Conventions for storing quaternions vary in the literature and from
library to library. This library uses the convention that the
first three components of each quaternion are the 3-vector axis of
rotation, and the 4th component is the rotation angle. Expressed
in formulae, a single quaternion is given by:
Q(0:2) = [VX, VY, VZ]*SIN(PHI/2)
Q(3) = COS(PHI/2)
where PHI is the rotation angle, and VAXIS = [VX, VY, VZ] is the
rotation eigen axis expressed as a unit vector. This library
accepts quaternions of both signs, but by preference returns
quaternions with a positive 4th component.

## Inputs

Q - array of one or more unit quaternions. For a single
quaternion, Q should be a 4-vector. For N quaternions, Q
should be a 4xN array.

## Returns

The non-unit quaternion logarithm(s). For a single input
quaternion, returns a 4-vector of the form [VX, VY, VZ, 0]. For N
input quaternions, returns N quaternions of the same form as a 4xN
array.

NONE

## Example

IDL> q = qtlog(qtcompose([0d,1,0], !dpi/4))
IDL> print, qtexp(2 * q)
0.0000000 0.70710678 0.0000000 0.70710678
First, computes the logarithm Q of the quaternion composed of a
rotation of !dpi/4 radians around the axis [0,1,0]. Second,
computes the exponentiation of 2*Q. This is the same as raising
the original quaternion to the second power.

QTANG, QTAXIS, QTCOMPOSE, QTERP, QTEXP, QTFIND, QTINV, QTLOG,
QTMAT, QTMULT, QTPOW, QTVROT

## Modification History

Written, July 2001, CM
Documented, Dec 2001, CM
Documentation clarified & corrected, 27 Jan 2002, CM
Usage message, error checking, 15 Mar 2002, CM
\$Id: qtlog.pro,v 1.6 2002/05/09 23:03:27 craigm Exp \$

© 2019 Harris Geospatial Solutions, Inc. |  Legal