# dual_quat_conjugate (Operator)

## Name

`dual_quat_conjugate` — Conjugate a dual quaternion.

## Signature

`dual_quat_conjugate( : : DualQuaternion : DualQuaternionConjugate)`

## Description

The operator `dual_quat_conjugate` computes the conjugation `DualQuaternionConjugate` of the input dual quaternion `DualQuaternion`.

For a brief introduction to dual quaternions, the used notation, and the relationship between dual quaternions and screws, see the documentation of this chapter (Transformations / Dual Quaternions).

The conjugation of a dual quaternion is given by , where and are the conjugations of the quaternions and .

For the conjugation of quaternions see `quat_conjugate`.

If `DualQuaternion` is a unit dual quaternion and, hence, represents a 3D rigid transformation, its inverse is its conjugate, i.e., . Consequently, `DualQuaternionConjugate` represents the inverse 3D rigid transformation of `DualQuaternion`. Therefore, `dual_quat_conjugate` can be used to invert a 3D rigid transformation analogously to `pose_invert` or `hom_mat3d_invert`.

## Execution Information

• Multithreading type: reentrant (runs in parallel with non-exclusive operators).
• Processed without parallelization.

## Parameters

`DualQuaternion` (input_control)  dual_quaternion(-array) `→` (real)

Dual quaternion.

`DualQuaternionConjugate` (output_control)  dual_quaternion(-array) `→` (real)

Conjugate of the dual quaternion.

## Possible Predecessors

`dual_quat_compose`, `pose_to_dual_quat`, `screw_to_dual_quat`

## Possible Successors

`dual_quat_compose`, `dual_quat_to_hom_mat3d`, `dual_quat_to_screw`, `dual_quat_interpolate`, `dual_quat_to_pose`

## Alternatives

`pose_invert`, `hom_mat3d_invert`

`dual_quat_normalize`, `serialize_dual_quat`, `deserialize_dual_quat`, `dual_quat_trans_line_3d`, `quat_conjugate`