quat_image_multiply — QUAT algebra op

Data kinds: qimage × qimageqimage

Call: import quatimage; quatimage.quat_image_multiply(qimage, other, side) -> 'np.ndarray' (or opsquat.get("quat_image_multiply"))

Usage

Hamilton product of a quaternion image with a quaternion or a field. → (H, W, 4).

`side="left" computes other * qimage; side="right"` computes

`qimage * other. **There is no default** — see :func:_require_side`. The

two results are genuinely different objects, not a sign convention: measured

on a standard-normal `(32, 32, 4)` field against a unit rotor,

`max|left - right| = 3.143 and mean|left - right| = 0.4948` on data

whose own extreme is 3.372 — that is, the two answers differ by as much as

the data itself. Neither raises, neither is NaN, and both look like a

perfectly good quaternion image.

*other* is either a single quaternion (a `(4,)` array-like) or a full

`(H, W, 4)` field of the same shape; anything else is refused rather than

broadcast, because NumPy would happily broadcast a `(H, 4)` array along the

wrong axis and produce an image-shaped answer to a different question.

Raises `ValueError`: either input is not a valid quaternion field;

*other* is neither `(4,) nor exactly qimage`'s shape; *side* is not

`'left' / 'right'`.

Detailed usage guide

quaternion_monogenic family guide

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

quaternion_monogenicpy -3.11 examples/quaternion_monogenic.py

Ops the type connects to (they accept qimage as input)

quaternion_to_rgb · quat_norm · quat_conjugate_image · quat_normalize_image · monogenic_amplitude · monogenic_phase · monogenic_orientation · quat_color_rotate

Same category (algebra)

quat_conjugate_image · quat_normalize_image


*Provenance: quatimage.py — QUAT operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.