# normalized cross product

Is there a way to get the result of a cross product to be normalized after just a cross action, i.e. without doing after the cross v/|v|? (the vectors involved are not normalized, but they are orthogonal).

-
Why do you not want to perform a normalization after the cross product? – J. M. May 3 '11 at 13:22
I am going to implement it in electrical hardware, normalizing vectors (making then unit vectors) is a costly procedure for me. And since I always need my cross products to be normalized I would prefer to implement the normalization in the cross to save time and calculation units. – Ilya Melamed May 3 '11 at 13:25
If you really want to do less work, why normalise it at all? – Raskolnikov May 3 '11 at 15:10
Hi, Ilya, I am assuming you do need the resulting vectors to be normalized, I don't think there is a way to parallel the normalization with the cross product, but there are many fast inverse square root algorithms, e.g. Newton's method, please refer to en.wikipedia.org/wiki/Fast_inverse_square_root – Shuhao Cao May 3 '11 at 17:15
One can actually set things up so that you can (iteratively) compute $\sqrt{x^2+y^2}$ (probably) more cheaply than squaring $x$ and $y$ and rooting their sum. If you're interested in that, you can ask a separate question and I'll be happy to elaborate. – J. M. May 4 '11 at 12:59

If two vectors are orthogonal, then the length of their cross product is the product of their lengths. So if by "normalized" you mean length $1$, just divide by the product of the lengths of the two vectors.
calculating the length of a vector is a costly procedure, it requires 3 actions of ^2 and a sqrt, and then another multiplicator and a devider, those are costly units in both time and space I'm looking for some other way. – Ilya Melamed May 3 '11 at 13:32
OK, I was answering the original version of the problem, where none of this was clear. But what makes you think there's a way to get a normalized vector without doing the work? There's no such thing as a free lunch. If you could do what you want, you could normal-cross $u=(a,b,c)$ with $v=(b,-a,0)$, then normal-cross the result with $v$ to get $u/|u|$, and thus get $|u|$ without any squaring or square root. Doesn't seem likely. – Gerry Myerson May 3 '11 at 13:40
@Emre: What is polar form? using sin? No, making a sin func is way more costly. – Ilya Melamed May 3 '11 at 21:22