# What are the semantics of these quaternion functions in XNA/Monogame?

I am having trouble understanding the semantics of some members of the XNA/Monogame Quaternion class. The docs are not helpful, and tutorials trying to explain quaternions are using heavy math, which isn't helpful for me either, since I simply do not have proper background for that.

My main questions currently are:

• Is there any difference between Multiply and Concatenate?

• What is the exact difference between Inverse and Negate?

There's minimal difference between concatenate and multiply, concatenate(a, b) = b * a
Inverse and negate are different. Negate flips the signs, inverse returns $$\q^{-1}\$$ so that $$\q * q^{-1} = identity = (1, 0, 0, 0)\$$, the inverse of the quaternion $$\(a, b, c, d)\$$ is $$\\frac{a -ib-jc-kd}{a^2+b^2+c^2+d^2}\$$
• I'd expect Inverse({1/√2, 0, 0 1/√2}) to yield {-1/√2, 0, 0 1/√2} while Negate would yield {-1/√2, 0, 0 -1/√2}. These two rotations yield the same orientation, but the latter reaches it the long way rather than via the shortest angle. – DMGregory Jan 8 '19 at 14:48