Talk:Quaternions and spatial rotation/Archive 2

A doubt about zr in 4D rotation section
Shouldn't zr in vector-matrix form be:

$$f(\vec{v})=z_l \vec{v} z_r= \begin{pmatrix} a_l&-b_l&-c_l&-d_l\\ b_l&a_l&-d_l&c_l\\ c_l&d_l&a_l&-b_l\\ d_l&-c_l&b_l&a_l \end{pmatrix}\begin{pmatrix} a_r&b_r&c_r&d_r\\ -b_r&a_r&d_r&-c_r\\ -c_r&-d_r&a_r&b_r\\ -d_r&c_r&-b_r&a_r \end{pmatrix}\begin{pmatrix} w\\x\\y\\z \end{pmatrix}. $$

and not

$$f(\vec{v})=z_l \vec{v} z_r= \begin{pmatrix} a_l&-b_l&-c_l&-d_l\\ b_l&a_l&-d_l&c_l\\ c_l&d_l&a_l&-b_l\\ d_l&-c_l&b_l&a_l \end{pmatrix}\begin{pmatrix} a_r&-b_r&-c_r&-d_r\\ b_r&a_r&d_r&-c_r\\ c_r&-d_r&a_r&b_r\\ d_r&c_r&-b_r&a_r \end{pmatrix}\begin{pmatrix} w\\x\\y\\z \end{pmatrix}. $$

? —Preceding unsigned comment added by 90.147.26.254 (talk) 11:30, 19 November 2009 (UTC)


 * No – consider for example $$z_l = 1, \vec{v} = 1$$. Then $$z_l \vec{v} z_r = 1 \cdot 1 \cdot z_r = z_r$$, or equivalently, using the article's version:
 * $$f(\vec{v})=z_l \vec{v} z_r=

\begin{pmatrix} 1&0&0&0\\ 0&1&0&0\\ 0&0&1&0\\ 0&0&0&1 \end{pmatrix}\begin{pmatrix} a_r&-b_r&-c_r&-d_r\\ b_r&a_r&d_r&-c_r\\ c_r&-d_r&a_r&b_r\\ d_r&c_r&-b_r&a_r \end{pmatrix}\begin{pmatrix} 1\\0\\0\\0 \end{pmatrix} = \begin{pmatrix} a_r\\b_r\\c_r\\d_r \end{pmatrix} = z_r, $$
 * which is consistent. The alternative you gave would give $$z_r^*$$ instead (and is equivalent to exchanging $$z_r$$ for $$z_r^*$$ for any $$z_l, \vec{v}$$). Κσυπ Cyp  13:53, 11 December 2009 (UTC)

Fitting quaternions
The article currently states "The quaternion so obtained will correspond to the rotation matrix closest to the given matrix". The stated reference does not seem to support this claim, and the algorithm described here is seemingly listed as a sub-optimal algorithm (it is not the algorithm that the author's present). They also describe 3 or 4 other algorithms. Some fact checking is needed. —Preceding unsigned comment added by 76.182.110.175 (talk) 04:02, 11 December 2009 (UTC)


 * I just read the article, and, AFAICT, it supports the claim. This is "version 3".  See "remark 1" on page 1086 that states the new method (eq 12) is equivalent to version 3.  You might also read the second paragraph of the conclusions and note that, if the author intended the direct use of equation 12 in practice, that paragraph wouldn't make sense as a conclusion.  Finally, I would point out that the text in the description of "version 3" on the first page, as well as the first paragraph of "new algorithm" both imply that version 3 is what is intended.  So I don't see a problem with the text, as it stands.  It might not be bad to also throw Eq 12 in there, as well, though, if you're still suspicious.  It might be nice if the original editor came back and made a comment on this.  (Note: I have not worked through the numerical examples, nor have I checked that they use the same ordering of elements as Wikipedia.) 70.234.243.222 (talk) 15:54, 3 June 2010 (UTC)Michael


 * This looks like it is related to Davenport's q-method (a solution to Wahba's problem); searching these terms might turn up some better sources JasonHise (talk) 17:10, 6 August 2013 (UTC)

Please clarify some points early in the article
I found it hard to follow the explanation in the paragraph that begins with "We can see similar behavior on the surface of a sphere."

1) It states "the axes of rotations use three dimensions". This is unclear, as the angle between the pole and a latitude has only one degree of freedom, so why give this three dimensions?

2) It mentions "just the rotations about axes in the xy plane". Does this refer to rotations within the xy plane? If so, then they are all around the z-axis, not around (plural) axes. Or are axes parallel to the z-axis the cause of the plurality? Please clarify this.

3) It states "the angle of rotation is twice the latitude difference from the north pole" but there is no explanation for this counter-intuitive fact. Please explain.

I don't doubt that the paragraph is mathematically correct, what I am questioning is the clarity of the exposition. Soler97 (talk) 00:13, 18 April 2010 (UTC)


 * Please check out the new description, addressing these points. PAR (talk) 09:47, 18 April 2010 (UTC)


 * Thanks. I have carefully reread the two paragraphs beginning with "In order to visualize the space of rotations". I got lost when the radius of the small circle was said to correspond to a small rotation. I pondered it for a while and now I think I understand. It would be helpful if you mentioned that the xy plane is vertical and it would also help if the north pole were marked on the illustration. Drawing the two lines that define the angle would be even more helpful. In fact, I'm still not sure where the angle is.


 * The next point where I had trouble was, "the circles become larger until the equator of the sphere is reached, which will correspond to a rotation angle of 180 degrees." To me it seems that the rotation in question is 90 degrees, not 180, as the angle is defined by a line through the centre of the sphere to the north pole and another line from the centre to a point on the equator. Or did I misunderstand? It would help a lot if the angle were clearly shown on the diagram using two lines rather than by means of a single arrow.


 * I could not understand "each rotation is actually represented by two antipodal points on the sphere, which are at opposite ends of a line through the center of the sphere." Surely, the two antipodal points define a line, not a rotation?


 * At this point I gave up. Soler97 (talk) 21:46, 23 April 2010 (UTC)


 * I agree, a better diagram would be good. The thing is, every point on the sphere represents a rotation, but is not the rotation itself. If I have a box of apples, and I use my fingers to count the apples, my fingers are not apples, they represent apples. The points on the sphere represent rotations, but are not rotations. Two antipodal points define a line, but they represent a rotation. If you pick a point on the sphere, you can figure out what the rotation is. Pick a point, take a slice through the sphere that is parallel to the xy plane (the xy plane is horizontal!) and goes through that point. A line drawn from the center of the circle to the point will be a vector that is parallel to the axis of rotation. The length of that vector will be the radius of the circle and will represent the angle of rotation (but its length is not equal to the angle of rotation, its a bit more involved). So that is how a point on the sphere entirely represents a rotation. If we want to make sure that radius represents an angle of rotation, and if we want every rotation to be represented, then we have to make that radius represent a rotation from 0 to 360 degrees as we go from the north pole to the south pole. That means the half way point (180 degrees) is represented by going half way from the north pole to the south pole (i.e., the equator). That means that a point on the equator, which is 90 degrees from the north pole, will represent a rotation of 180 degrees. PAR (talk) 03:53, 24 April 2010 (UTC)


 * As I understand it, you are suggesting a correspondence between points on the sphere and rotations. I can see that the radius of the circle going from 0 to a maximum and back to 0 is an analogue of the rotation angle going from 0 to 360 degrees, given that 360 = 0 degrees. Maybe the explanation you give above should be merged into the article. I think this correspondence between points and rotations is very abstract. The diagram does not seem to help me at all. I think I now understand your explanation, but it took me a real effort. I think that a good diagram would be a big help. Thanks for your help.Soler97 (talk) 22:22, 6 May 2010 (UTC)

Used methods
This section needs a serious cleanup.

The psuedo code for rotation using a quaternion is confusing, for example, the temporaries start at t2 (why? Has the original author missed a step?) and there are cases where the temporaries are assigned values such as -c * c (does this mean -(c*c) or just c*c?). Also, why say Also note one optimization of the diagonal entries of the R matrix in this section? It has no relevance as far as I can see.

I'd clean it up but I have no idea about most of this stuff and I know I'd mess something up. Ephphatha (talk) 15:18, 16 May 2010 (UTC)
 * I have replaced this with new pseudocode, hopefully this is clearer. User A1 (talk) 15:45, 20 May 2010 (UTC)

Pseudocode
The pages of pseudocode are unnecessary and should be removed. All you need to do quaternion rotation is quaternion multiplication, i.e.

$$\mathbf{v}' = \mathbf{qvq}^*$$

The code examples make it look much more complicated, mostly by doing a lot of of extra and redundant stuff. Even if trimmed down to just show the above mathematics it would be unnecessary - pseudocode is hardly needed to show how to multiply quaternions, which already gets a page under the heading quaternions briefly, and this is a maths article not a computer algorithms one. Any objections to removing it and tidying up that section?-- JohnBlackburne wordsdeeds 13:08, 15 June 2010 (UTC)

Codes are not necessary but people can use them for programing their oun things, programing quaternions is not easy, the other thing is that quaternions are used a lot in programming, but may be code and pseudo code must be in an article of programming with quaternions —Preceding unsigned comment added by Daniel.villegas (talk • contribs) 02:18, 22 June 2010 (UTC)
 * Programming quaternions is easy if you understand them, as it comes down to basic arithmetic which all modern languages support, and quaternions can easily be encapsulated in structures or classes. Wikipedia is not an instruction manual; code to show an algorithm that's best expressed as code may be appropriate, code included for people to "use them for their own things" is never appropriate. And this is not the article "programming with quaternions", nor is their any such.-- JohnBlackburne wordsdeeds 18:50, 22 June 2010 (UTC)


 * Quote from Jimmy Wales:
 * "But Wikipedia is more than a website. We share a common cause: Imagine a world in which every single person on the planet is given free access to the sum of all human knowledge. That's our commitment."


 * This means that destruction of useful, referenced content is to be avoided, no matter how many Wiki-laws you can cite. The only question we have to answer is "where does it go?". That said, I agree, the code in its present form is too much, redundant, and Python-centric. It needs to be pared down to demonstrate an algorithm, but in pseudocode. Code in Python and every other language must go elsewhere. I think WikiBooks is the place for it. I think any editor who wishes to delete good, referenced code from an article has the responsibility of being able to evaluate that code, and then to place it where it belongs, rather than being a destructionist (oops, sorry, a "deletionist") and pitching good information into the trash. PAR (talk) 23:23, 22 June 2010 (UTC)
 * The quote is about knowledge, not just any content, and the source code does add to the article's sum of knowledge: it just implements the simple maths described at length elsewhere. It's not referenced, or at least no references are provided for either block of code. As for moving it elsewhere I know little about WikiBooks except it exists, so it would be better for another editor to find a home for it there. Removing it here would be no barrier to that as the content will be in the article's history with this discussion on the talk page providing a reference - though both sections of code are overlong with many irrelevant parts, so it might be easier to write it anew in the appropriate WikiBook.-- JohnBlackburne wordsdeeds 16:31, 23 June 2010 (UTC)

Shouldn't this be 'addition', not 'multiplication'
From the section "From the rotations to the quaternions" / "Quaternions briefly":

"Those who have studied vectors at school might find it strange to add a number to a vector, as they are objects of very different natures, or to multiply two vectors together, as this operation is usually undefined. However, if one remembers that it is a mere notation for the real and imaginary parts of a quaternion, it becomes more legitimate. In other words, the correct reasoning is the multiplication of two quaternions, one with zero vector/imaginary part, and another one with zero scalar/real part:

a + \vec{v} = (a + \vec{0}) + (0 + \vec{v}). "

Shouldn't the bolded word above be "addition", not "multiplication"? I am just learning this stuff by reading this article, so I could be wrong; but I've puzzled through this paragraph many times and I just can't see how the word 'multiplication' is correct to describe the subsequent equation which describes the addition of two quaternions, not multiplication. —Preceding unsigned comment added by 204.176.49.45 (talk) 19:57, 10 August 2010 (UTC)
 * You're right and I've fixed it, thanks. It probably could do with some further editing that whole section but for now I've just corrected that error.-- JohnBlackburne wordsdeeds 20:38, 10 August 2010 (UTC)

Article cleanup?
Comparing this article to other mathematics-related articles, I miss clarity and crispness. The introduction seems too long and is more tutorial-style than encyclopedic. I also believe that reordering the sections would help. Most importantly, the link to the Euler-Rodrigues equation is missing. The article should start mentioning the purpose of this equation (calculate the rotation operator in 3D vector space), its reparametrisation with the Euler-Rodrigues parameters, and the connection to quaternions.

I have some ideas for this cleanup, but wonder what is a good procedure to do it. I am new to Wikipedia editing-- can someone make a suggestion?

Note also the page on Euler-Rodrigues parameters. Some ideas, which are very briefly outlined there, should be worked out in detail in a combined article.

Arjenvreugd (talk) 13:39, 8 July 2011 (UTC)


 * I strongly urge you to clean up this article, if you can be bothered. It's written tutorial style, which makes it unusable if you want to LOOK UP something, and that's what an encyclopedia is for: to look things up.  Thanks for your effort!--345Kai (talk) 03:22, 14 March 2012 (UTC)


 * I've had a crack at it. I've put together a short, concise, introduction to using the concepts with links to anything too much to explain immediately. I'm sure some of the language can be sharpened up still further though. --Chadernook (talk) 10:09, 23 May 2012 (UTC)

Problem with example
In the example halfway down the page, i,j,k are used for the unit basis vectors for 3-d cartesian space,   and also for the quarternion imaginary terms. These are not the same thing and it makes the example very confusing.Eregli bob (talk) 05:27, 22 September 2012 (UTC)


 * I must agree with this comment. The two concepts, being the vector part of a quaternion and a vector in Euclidian space cannot be conflated into the same concept without comment. This can be seen from the fact that a quaternion unit vector squares to −1 (under the quaternion product), whereas a geometric unit vector squares to +1 (under the dot product). Both these are easily accommodated in a geometric algebra but this ephasizes that they are distinct; they are in fact each other's Hodge dual in a 3-D geometric algebra. Thus special care (and explanation) is needed for interpreting i, j and k as geometric unit vectors. I do not know the traditional way of resolving/presenting this; I suspect it is by simply conflating the two, but reserving the notation q2 to mean the quaternion product rather than the vector dot product, for example for the pure vector u, u⋅u = u∗u = (−u)u = −u2. Whatever the case, it should be made clearer. — Quondum 11:04, 22 September 2012 (UTC)

so what's this u?
" α around the axis \vec{u} as previously described" this is the first mention of \vec{u}. And nowhere does the article seem to touch on what vector \vec{u} should be chosen and when 24.94.182.11 (talk) 19:05, 27 October 2012 (UTC)

Explanation of why conjugating by quaternion rotates a vector expressed as an imaginary quaternion
I think there is a more motivated proof of this than the one in the article (which just goes ahead and does the calculations), albeit one which is more theoretically advanced. It starts by saying that the vector being rotated is, most fundamentally, not actually a vector. What it is is an element of the Lie algebra of the group of rotations, in other words, either an infinitesimal rotation, or more easily, a rotation 'speed', one with the vector as an axis and the speed of the rotation is determined by the magnitude of the vector. (Strictly speaking, it is not the rotation group as we represent each rotation speed twice: rotating anti-clockwise at a certain rate about one axis gives the same rotation speed as rotating clockwise by the same rate around the opposite axis.)

Without realising this, there appear to be two unrelated ways of applying a quaternion rotation: once by conjugating a matrix, and another by left multiplication of projective co-ordinates. But we see the former can be derived from the latter. It's straightforward to see that a rotation matrix acting on co-ordinates has to transform by conjugation if the co-ordinates are transformed. Then you observe that an infinitesimal rotation (or rotation speed) has to transform the same way (looking at the expression for the exponential map).

I don't have the foggiest clue where I would start with discussing this in this article and others. Count Truthstein (talk) 19:24, 9 March 2013 (UTC)
 * Absolutely no. The vector to be rotated is namely a vector, and we should not know anything about cross product (i.e. the Lie algebra structure) to use a representation of a group to rotate the 3-dimensional space. It happens that SU(2), the group of unit quaternions, covers SO(3), and this is the thing because of which it works. In almost the same way SU(2)×SU(2) covers SO(4), but there is no cross product in ℝ4. BTW, what are mysterious “projective co-ordinates”? Incnis Mrsi (talk) 21:59, 9 March 2013 (UTC)
 * The projective co-ordinates which are two complex numbers specifying a point on the complex projective line, equivalent to the Riemann sphere. Multiplying the column of these numbers by a matrix is the same as doing a Möbius transformation on the Riemann sphere. Count Truthstein (talk) 22:14, 9 March 2013 (UTC)
 * Are these “projective co-ordinates” topical? Riemann sphere has the Möbius group, a broader automorphism group than SO(3) of S2. It corresponds to Minkowski space geometry, not to one of three-dimensional space. Moreover, corresponding matrices are from SL(2,ℂ) which, unlike SU(2), is irrelevant to quaternions. I do not see any relationship but to demonstrate how different groups make different geometries. Incnis Mrsi (talk) 22:55, 9 March 2013 (UTC)
 * They are topical in that if you represent quaternions as 2-by-2 complex matrices then rotations of points on the sphere given by these co-ordinates can be given as quaternions. It is using quaternions to describe spatial rotation in another way. Not all Möbius maps represent rotations of course - the rotations are a subgroup (see the subgroups section of the Möbius group article). Count Truthstein (talk) 23:37, 9 March 2013 (UTC)

You can define quaternion rotation rigorously using rotors. In geometric algebra rotors rotate anything, i.e. anything of the algebra including vectors. And in 3D rotors are just quaternions. This makes the imaginary part of a quaternion not a vector but a bivector or pseudovector. This requires neither matrices nor projective coordinates. To prove this is a rotation you need to define the rotation, but the usual way in GA is to construct the rotor and then confirm the transformation applied to vectors is a rotation. You can e.g. check that the angle between two vectors before and after is the same, so it's orthogonal.-- JohnBlackburne wordsdeeds 23:03, 9 March 2013 (UTC)
 * This is actually very similar to what Count says in his opening paragraph. When the Count says that "'[what's] being rotated is, most fundamentally, not actually a vector. What it is is an element of the Lie algebra of the group of rotations, in other words, either an infinitesimal rotation, or more easily, a rotation 'speed''" what he's describing is what in geometric algebra is known as a bivector, the exponential of which is a rotor.  And in geometric algebra, as the quaternion article says, the imaginary parts of quaternions are exactly bivectors: k = - e1e2, i = - e2e3, ji = - e3e1.
 * But as you say, the great thing about rotors is they rotate anything. In 3D we can use the fact that bivectors are the dual of vectors, so we can do everything with quaternions.  But the advantage of seeing this as part of GA is that you then can see it as a process that isn't just about 3D, but generalises to any dimensionality, since the rotors in that dimensionality don't need to act on a bivector, they can act directly on a vector (or indeed, anything).  Jheald (talk) 17:25, 10 March 2013 (UTC)

Duplicate sections
The first section, "Using quaternion rotations", and a later section ("From the rotations to the quaternions") both describe the same thing. They should be merged. Count Truthstein (talk) 14:27, 10 March 2013 (UTC)

Product conjugation error
The article currently says:

"It follows that conjugation by the product of two quaternions is the composition of conjugations by these quaternions. If $p$ and $q$ are unit quaternions, then rotation (conjugation) by $p q$ is
 * $$\mathbf{p q} \vec{v} (\mathbf{p q})^{-1} = \mathbf{p q} \vec{v} \mathbf{q}^{-1} \mathbf{p}^{-1} = \mathbf{p} (\mathbf{q} \vec{v} \mathbf{q}^{-1}) \mathbf{p}^{-1}$$,

which is the same as rotating (conjugating) by $q$ and then by $p$. The scalar component of the result is necessarily zero."

Shouldn't the operation in the above equation by conjugation (*), not inverse (-1)? One then needs to know that (pq)* = q*p*. Also why is the scalar component of the result is necessarily zero? Since quarternions are a division ring, any non-zero rotation can be represented as the product of two other rotations, so this would mean the scaler part of any rotation is zero, which can't be right.--agr (talk) 17:07, 4 August 2013 (UTC)


 * I understand now. For units, the inverse is the conjugate (I added a sentence to point this out), and the conjugation operation is being applied to a 3-vector, so scaler part remains zero.--agr (talk) 18:35, 8 August 2013 (UTC)


 * You may have confused things further. "Conjugation by" is an operation that sandwiches a quantity between a quaternion and its inverse, and has nothing to do with the "quaternion conjugate". It is essentially a coincidence that when the quaternion is a unit quaternion, the inverse that gets used is also equal to its quaternion conjugate, and that the terms are so similar.  You can conjugate by a quaternion that is not a unit quaternion, in which case the coincidence does not hold.  No offence, but I'm reverting your edit.  If you can find adequate wording to clarify this confusion, feel free to add it.  — Quondum 20:34, 8 August 2013 (UTC)
 * I've cleaned it up a little. See whether it is clearer now. — Quondum 20:51, 8 August 2013 (UTC)
 * It's better, but it is still a little muddled. It isn't completely clear what the sentence "This operation is known as conjugation by q." refers to, taking the inverse or qpq-1, as q-1 is the logical antecedent to "This". Also if we are now defining conjugation in terms of the inverse, do we need to mention the conjugate at all? Maybe just in a footnote.--agr (talk) 21:20, 8 August 2013 (UTC)
 * I've tweaked it. The article still needs a lot of polish: a general copyedit.  Also, the notation using over-arrows and bold is nonstandard in this context and should be removed. I'm not sure whether I'll be putting energy into this soon though. — Quondum 22:41, 8 August 2013 (UTC)

Sloppy or wrong
This sentence in the Visualizing section:

"The vector part of a unit quaternion represents the radius of the 2-sphere corresponding to the axis of rotation, and its magnitude is the cosine of half the angle of rotation."

should either read 'the sine of half the angle', or the word 'magnitude' should be replaced with 'scalar part', no?

I'll change it upon verification, or you go ahead and do it.

173.25.54.191 (talk) 23:52, 5 August 2013 (UTC)

Diagrams for rotations of vectors as double reflections
Would these be useful anywhere?

These were primarily intended for the geometric algebra article, but apparently the quaternionic formalism was used first. C.f. this paper by Eric Chisolm, a great pdf with good explanations, for the rotation/reflection concept see the diagram on page 7.

M&and;Ŝc2ħεИτlk 11:30, 20 August 2013 (UTC)

A couple more have been created for the reflection along the vectors, which visually looks a bit messier, but still leads to the same result, and should be included of course for NPOV. M&and;Ŝc2ħεИτlk 15:29, 20 August 2013 (UTC)


 * Nice diagrams, very clear. As you say, the second is messier, both diagramatically and algebraically. I suppose the second one arose because people are familiar with mirrors in 3d, thinking of relection in terms of planar mirrors, and representing the orientation of a plane by its normal vector. They'd probably work for either article.  — Quondum 21:34, 20 August 2013 (UTC)


 * Thanks, note they've been modified. M&and;Ŝc2ħεИτlk 08:07, 24 August 2013 (UTC)


 * The flag helps in visualisation of an operation as a reflection or rotation. It would be sensible to mention the flag's purpose in the text or possibly the caption; I'm not sure which would be better. — Quondum 11:25, 24 August 2013 (UTC)

I'd say the captions. The flag idea is in the diagrams. M&and;Ŝc2ħεИτlk 07:36, 25 August 2013 (UTC)


 * I've tweaked the captions a bit more. I think it is worth keeping the direct mention of vectors. My wording is perhaps a little verbose, but see what you think of it.  — Quondum 12:02, 25 August 2013 (UTC)


 * Seems fine, thanks. One quibble might be the letters m and n which are not used in the article, but at least they serve their purpose. M&and;Ŝc2ħεИτlk 11:28, 27 August 2013 (UTC)

Problems with "Pairs of unit quaternions as rotations in 4D space" section
The 4D rotation section has a lot of issues that need to be resolved.


 * The text mentions a matrix M which is mentioned nowhere else.
 * the phrase "that is, that each matrix (and hence both matrices together) represents a rotation" is gibberish. If this is all true, it should just say "the pair of quaternions represents a rotation of R^4"
 * "Therefore, there are two commuting subgroups of the set of four dimensional rotations." While I'm sure it's true (you can think of lots of pairs of commuting subgroups of many groups) it doesn't seem to follow from the previous fact, and it doesn't seem to be relevant at all.
 * "Since an infinitesimal four-dimensional rotation can be represented by a pair of quaternions, all (non-infinitesimal) four-dimensional rotations can also be represented." This is a little strange, and also seems bad because infinitesimal rotations are not being discussed here. I don't think the author is using this descriptor in the standard sense of Lie algbra. Perhaps the author meant that generators of the rotation group can be represented, hence all representations can be represented.

I will make a few simple changes to address some of these points and then wait for feedback. Also please note there is an earlier section above that asks about the factual correctness of the equations. Rschwieb (talk) 14:21, 4 February 2014 (UTC)


 * The first part of the section seems to be correct, but the representation of a quaternion as a matrix is used without definition. I suggest trimming this down to a bare outline of what can be read at Rotations_in_4-dimensional_Euclidean_space plus a link to this, where it is given in more detail.
 * The second part seems like it is completely incorrect, in that the formula for the rotation matrix and for the quaternions cannot possibly be correct. It is also unreferenced. I suggest deleting this part in its entirety.  —Quondum 07:23, 5 February 2014 (UTC)

Derivation (COI Edit Request)
Hi everyone. I'm 100% new to Wikipedia. This is my first attempted edit. I just posted a derivation of the quaternionic rotation identity, and it got reverted for COI issues. The version which got reverted can be found here: old-version

The paper which I linked to was indeed my own, and it was hosted on my own external site: derivation

Still, I think the material would benefit the page. There has already been discussion here in the Talk page specifically asking for this derivation: here and also here. On that second link see the line where the user says "Through the derivation of quaternion for rotation (That is, the main point of this article, afterall) need quite some expansion."

I would be happy to repost the paper on a columbia.edu sub-domain which I have control over, if that would give it more credibility. I could also take my name off the paper, if that would fix the COI issue. I would also be happy to include the core of the derivation inline into the article, perhaps below the "Proof" section. The whole of the derivation would be a bit too much too include, but I could maybe trim it down.

Still, it would be easiest for me if someone could just revert the revert. Anybody who can read the mathematics can verify that my derivation is correct. And it's just a paper with my name attached for contact purposes. It's not like I'm shouting out ads for goods or services. — Preceding unsigned comment added by Patrick.rutkowski (talk • contribs) 2015-01-06T02:56:22‎


 * As I wrote in my edit summary it's out of place and COI; inline links should never appear in the body of the article like that and the COI is as it's your own paper; the presumption on any editor that comes to WP and just adds links is they're not interested in improving the encyclopaedia, just in promoting their web site/special cause/new discovery.


 * Looking at it more closely again it does not seem a remarkable or interesting result. It's wrong to say it derives the identity without knowing it; it assumes the form of the identity with quaternion unknowns then does some very longwinded calculations to work out the unknowns. A pointless exercise in algebra. There are far better (shorter, clearer and more interesting) geometric derivations using geometric algebra. Not everything needs a derivation but that could perhaps be added. But your derivation or a link to it I don't think helps at all.-- JohnBlackburne wordsdeeds 03:14, 6 January 2015 (UTC)


 * It doesn't assume the form of the identity. It starts by noting the striking similarities between the terms present in quaternion multiplication and the terms present in the rotation function. It's conceivable that a person could have seen these similarities even if they hadn't known in advance about how unit quaternions do rotations. The processes is a plausible path of first discovery, and it's therefore a "derivation." It's only "long winded" because quaternion multiplication involves so many terms; you might also call general relativity "long winded" in the same sense. I resent that you don't trust my intentions, and I also resent that you just admitted to not having even looked at the material before doing your revert. — Preceding unsigned comment added by Patrick.rutkowski (talk • contribs) 04:26, 6 January 2015 (UTC)


 * Though I don't particularly put much stead by the COI as an argument against inclusion, adding a link to an external site is usually to be considered suspect (and summarily removing such is typical). And while the intention is clearly to share what might be an interesting derivation for some rather than to advertise own work, the result must still be encyclopaedic. More than a demonstration of correctness is unneeded in this context; though I have not reviewed the linked paper, and though my reasoning might differ from JohnBlackburne's, my general conclusion about what should be in an *encyclopaedia* page is much the same. That said, a new editor getting the feel of what is considered to be encyclopaedic and who has value to add to WP is most certainly to be encouraged. May I suggest at first working on page wording and contained content than external content while growing familiar with the style and objectives? It is exactly interactions like this from which one learns what works. —Quondum 05:52, 6 January 2015 (UTC)


 * I did look at it before my first revert: I will check all links as they may be useful references or external links. I generally only revert without checking for obvious spam such as adding links to multiple articles. It's only after your posting that I tried looking at it more closely. Looking at it again I can see an error. It has "At this point a very small leap of intuition suggests that...", but you can't do that. You can't when you're trying to prove a result effectively intuit the main part of the result. Because yes, you know the result already, so it's in your mind. This makes your derivation even less impressive; all it's really doing is checking the result which is neither interesting or useful.-- JohnBlackburne wordsdeeds 19:51, 6 January 2015 (UTC)
 * The responding editor is correct; we do not allow external links in the body of an article and this is typically associated with spam and linkbait. On the other items, we would probably want independent secondary sources about the results if they were to be included, such as press articles, review articles in academic journals, etc. rather than getting the information directly from a paper publishing original research. CorporateM (Talk) 19:53, 18 January 2015 (UTC)

Can someone please give a reference and/or rewrite the section Quaternions_and_spatial_rotation to actually give a derivation of the rotation matrices from a quaternion transformation. In other words, the section needs more mathematical elaboration / a concrete proof / a reference that the sandwich product in the quaternion transformation $$q * v * q^{-1}$$ is equal to the end result 3D rotation matrices described in the section:
 * $$ \mathbf{R}=

\begin{bmatrix} c + a_x^2 (1-c) & a_x a_y (1-c) - a_z s & a_x a_z (1-c) + a_y s \\ a_y a_x (1-c) + a_z s & c + a_y^2 (1-c) & a_y a_z (1-c) - a_x s \\ a_z a_x (1-c) - a_y s & a_z a_y (1-c) + a_x s & c + a_z^2 (1-c) \end{bmatrix} $$ where $$s$$ and $$c$$ are $sin &theta;$ and $cos &theta;$, respectively; as well as the rotation matrix:
 * $$ \mathbf{R} = \begin{bmatrix}

1 - 2 q_j^2 - 2 q_k^2 & 2 (q_i q_j - q_k q_r) & 2 (q_i q_k + q_j q_r) \\ 2 (q_i q_j + q_k q_r) & 1 - 2 q_i^2 - 2 q_k^2 & 2 (q_j q_k - q_i q_r) \\ 2 (q_i q_k - q_j q_r) & 2 (q_j q_k + q_i q_r) & 1 - 2 q_i^2 - 2 q_j^2 \end{bmatrix} $$ Thank you. WinterSpw (talk) 15:20, 5 July 2016 (UTC)
 * I think that the first formula is irrelevant to this article -- it isn't needed to derive the second formula and otherwise belongs to the rotation matrices article. I removed that one. The second one is really a straight forward bracket opening -- I doubt that the article would benefit from showing that. bungalo (talk) 21:13, 30 April 2017 (UTC)

I would have appreciated this matrix being available; then I wouldn't have felt so far out in left field. This is the gist of getting the basis..(implemented in JS) https://gist.github.com/d3x0r/9ffea1d55f079b8ce4d958ddf0ad6d0c ; what I ended up implementing was to take base vectors (1,0,0),(0,1,0),(0,0,1) and apply a standard quaternion rotation to them. to get a basis representation for the quaterion (really angle-angle-angle 0 log-quaternion) ... I end up with the same answer as you. Which, overall, to get the basis becomes less work than rotating a single point (although if you do something silly like then apply the matrix to rotate you're back to even more work). It did let me figure out there is a Bertrand curve https://en.wikipedia.org/wiki/Differentiable_curve#Bertrand_curve for yaw/pitch/roll operations on quaterions that leave one of the basis vectors constant... all other rotations lie in a plane... as demonstrated here... https://d3x0r.github.io/STFRPhysics/3d/index.html (this sort of explains the demo, and what it is I'm trying to show/you should be seeing )  https://github.com/d3x0r/STFRPhysics/blob/master/Curvature.md  ... edit: Request For Answer: And if any of the above make sense, maybe you and answer my question.... https://math.stackexchange.com/questions/3747951/find-curvature-of-bertrand-curve-to-twist-a-log-quaternion-around-a-target-axle. D3x0r (talk) 07:30, 8 July 2020 (UTC)

Error in rotation matrix formula ?
The alternate rotation matrix formula seems to be wrong, according to: http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToMatrix/

More specifically, it seems the off-diagonal signs are reversed. — Preceding unsigned comment added by 134.160.96.253 (talk • contribs) 2015-04-16T07:58:42‎

Hi,

I think the confusion here is the Concept of Right and Left Handiness in the Rotation matricies. The picture of X,Y,Z axis is for a Right Hand Axis set up. But the Rotation matrix is for a left hand axis set up. — Preceding unsigned comment added by 208.68.197.6 (talk) 11:34, 12 April 2016 (UTC)

External links modified
Hello fellow Wikipedians,

I have just modified 1 one external link on Quaternions and spatial rotation. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
 * Added archive http://web.archive.org/web/20060403162645/http://www.diku.dk:80/publikationer/tekniske.rapporter/1998/98-5.ps.gz to http://www.diku.dk/publikationer/tekniske.rapporter/1998/98-5.ps.gz

When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at ).

Cheers.— InternetArchiveBot  (Report bug) 18:20, 20 July 2016 (UTC)

This part is confusing or possibly wrong
I don't have much expertise in this area, so when I read:

"ngle {\displaystyle \alpha =2\cos ^{-1}w=2\sin ^{-1}{\sqrt {x^{2}+y^{2}+z^{2}}}.} \alpha =2\cos ^{-1}w=2\sin ^{-1}{\sqrt {x^{2}+y^{2}+z^{2}}}. |undefined"

I am confused by this notation. From reading previous text I would think it's:

{{blockquote|text=ngle {\displaystyle \alpha =2\cos ^{-1}w=2\sin ^{-1}{\sqrt {x^{2}+y^{2}+z^{2}}}.} \alpha =2\cos ^{-1}{\sqrt {x^{2}+y^{2}+z^{2}} w=2\sin ^{-1}{\sqrt {x^{2}+y^{2}+z^{2}}}. }}

because there's a rotation in both angles. Is this right or am I missing something? DazzleNovak (talk) 21:26, 5 November 2016 (UTC)

Derivative of rotated vector with respect to quaternion
Recently, there was a section added with a formula for computing the derivative of a rotated vector with respect to the quaternion by which the vector was rotated ("Differentiation with respect to the rotation quaternion"). I have simulated this formula numerically, and it does not appear to be accurate. I have found an alternate source at the below linked pdf that appears to be correct. See equation 46.

http://web.cs.iastate.edu/~cs577/handouts/quaternion.pdf — Preceding unsigned comment added by 23.119.121.46 (talk) 00:14, 7 January 2017 (UTC)

"May be more efficient"?
What struck me was this part in the first paragraph, third sentence. "Compared to rotation matrices they are more compact, more numerically stable, and may be more efficient." As it is, I think it's just confusing.

If they are more efficient in some specific situations, then it should read "more numerically stable, and more efficient in some specific situations". If it is disputed or unknown whether they are more efficient, it should read "more numerically stable.", plus possibly something about research/disputes regarding their efficiency compared to rotation matrices. If it depends on the platform or programming language, it should read "more numerically stable, and on some platforms/in some programming languages, more efficient".

As the sentence is, it is just jarring and almost anything else would be better in my opinion. 130.232.105.232 (talk) 08:13, 7 February 2018 (UTC)

Recovering the axis-angle representation
From the definition looks like the angle is 2*arccos(q_r). Why it is now a different expression including atan? Is it a different angle now? Is it w no longer cos(w/2)?
 * $$2 \arccos(q_r)$$ is correct only assuming a unit length quaternion, and has stability issues near $$q_r = \pm 1$$. Using the two-argument arg-tangent yields the correct angle for any non-zero quaternion in a numerically stable fashion. bungalo (talk) 17:28, 19 November 2018 (UTC)

Last section on 4D rotations needs rewriting

 * The section Pairs of unit quaternions as rotations in 4D space has too many problems and needs to be rewritten from scratch.


 * It is never mentioned that the z's have as coordinates the a's, b's, c's, and d's.


 * It is never mentioned that the quaternion v has as coordinates w, x, y, and z (z again?).


 * The statement

"Note that since $$(\mathbf{z}_{\rm{l}} \vec{v}) \mathbf{z}_{\rm{r}} = \mathbf{z}_{\rm{l}} (\vec{v} \mathbf{z}_{\rm{r}})$$, the two matrices must commute."


 * seems entirely unjustified and incorrect. (I think the author really means that left multiplication commutes with right multiplication (whether by matrices or anything else). It is not true, however, that the two matrices commute.


 * It is never mentioned that there are two pairs of z's that result in the identical 4D rotation.

50.205.142.35 (talk) 20:45, 13 January 2020 (UTC)
 * And it is never mentioned which quaternions $z_{l}$ and $z_{r}$ must be used to achieve a desired rotation in 4-space, or what rotation is achieved using those z's.


 * Yes, there are some issues here. In addition, the equation


 * $$f(\vec{v})=\mathbf{z}_{\rm{l}} \vec{v} \mathbf{z}_{\rm{r}}=

\begin{pmatrix} a_{\rm{l}}&-b_{\rm{l}}&-c_{\rm{l}}&-d_{\rm{l}}\\ b_{\rm{l}}&a_{\rm{l}}&-d_{\rm{l}}&c_{\rm{l}}\\ c_{\rm{l}}&d_{\rm{l}}&a_{\rm{l}}&-b_{\rm{l}}\\ d_{\rm{l}}&-c_{\rm{l}}&b_{\rm{l}}&a_{\rm{l}} \end{pmatrix}\begin{pmatrix} w\\x\\y\\z \end{pmatrix}\begin{pmatrix} a_{\rm{r}}&-b_{\rm{r}}&-c_{\rm{r}}&-d_{\rm{r}}\\ b_{\rm{r}}&a_{\rm{r}}&d_{\rm{r}}&-c_{\rm{r}}\\ c_{\rm{r}}&-d_{\rm{r}}&a_{\rm{r}}&b_{\rm{r}}\\ d_{\rm{r}}&c_{\rm{r}}&-b_{\rm{r}}&a_{\rm{r}} \end{pmatrix}. $$


 * cannot be correct without the addition of a transposition or re-ordering. Lucaswilkins (talk) 23:59, 23 May 2021 (UTC)