# Angle between two vectors?

I have been taught that the angle between two vectors is supposed to be their inner product. However, the book I'm reading states:

Recall that the angle between two vectors $u = (u_0,\ldots,u_{n−1})$ and $v = (v_0,\ldots, v_{n−1})$ in $\mathbb{C}^n$ (the complex plane) is just a scaling factor times their inner product.

What is a "scaling factor"?

-
This is wrong. The angle between two vectors $u$ and $v$ is $\cos^{-1} \left( \frac{u \cdot v}{||u|| ||v||} \right)$. – Qiaochu Yuan May 25 '12 at 23:22
@Qiaochu Yuan: That would be for real vectors – Henry May 25 '12 at 23:37
@Farhad What book is this from? It seems poorly worded, at best. – Michael Boratko May 25 '12 at 23:42
@MichaelBoratko It's from "Algorithms" by S.Dasgupta, page 73. Mathematically, it's not the greatest book but it does provide creative computer science algorithms. – user26649 May 26 '12 at 16:44

is incorrect, as is the statement from the book. On the Wikipedia page on the dot product, you can see the correct formula for the angle between two complex vectors $u$ and $v$ (thanks to Henry for catching the earlier mistake): $$\theta=\arccos\left(\frac{\operatorname{Re}(u\cdot v)}{\|u\|\|v\|}\right)$$ where the inner product $u\cdot v$ is defined to be $$u\cdot v=\sum_{k=0}^{n-1} u_k\overline{v_k}$$ I would guess that perhaps the intended meaning of the "scaling factor" is as follows: when $u$ and $v$ are unit vectors, we have $$\cos(\theta)=\operatorname{Re}(u\cdot v)$$ while when $u$ and $v$ are arbitrary non-zero vectors, we have $$\cos(\theta)=\frac{\operatorname{Re}(u\cdot v)}{\|u\|\|v\|}$$ (the quantities $\|u\|$ and $\|v\|$ are both equal to $1$ when $u$ and $v$ are unit vectors). This would make $$\frac{1}{\|u\|\|v\|}$$ the "scaling factor", though it is scaling the formula for the cosine of the angle, not the angle itself.
 Thanks! Assuming that the author made a mistake, what is a "scaling factor"? – user26649 May 25 '12 at 23:25 I've added what I assume was intended. – Zev Chonoles May 25 '12 at 23:30 If you go further down the wikipedia page to "Complex vectors", it says the angle between two complex vectors is then given by $$\cos\theta = \frac{\operatorname{Re}(\mathbf{a}\cdot\mathbf{b})}{\|\mathbf{a}\|\,\|\mathbf{b}‌​\|}.$$ Otherwise you will be taking the arccosine of a complex number. – Henry May 25 '12 at 23:34 @Henry: Thank you for pointing that out, I've corrected my answer. – Zev Chonoles May 25 '12 at 23:40 What does the function $Re(a \cdot b)$ do? Sorry, I just have a limited degree of knowledge with complex vectors. – user26649 May 26 '12 at 1:28
The dot product, inner product or scalar product is defined as: $$\vec u \cdot \vec v = u_1\cdot v_1 + \ldots + u_n\cdot v_n = \|\vec u\|\cdot\|\vec v\|\cdot\cos(\angle\vec u\vec v)$$ In other words, if the two vectors are unit vectors, their dot product is the cosine of the angle between them. To get to that point, simply normalize the two vectors: $$\frac{\vec u}{\|\vec u\|}\cdot\frac{\vec v}{\|\vec v\|}=\frac{\vec u \cdot \vec v}{\|\vec u\|\cdot\|\vec v\|}=\cos(\angle\vec u\vec v)$$ Take the arcus cosine of the quotient and you get the actual angle.
 This formula is only correct when $\vec{u}$ and $\vec{v}$ are vectors in $\mathbb{R}^n$, i.e. the numbers $u_i$ and $v_i$ are real numbers. The correct formula for complex vectors (which are what are asked about in the question) is given in my answer. – Zev Chonoles May 27 '12 at 1:27 Oops, missed that. – Wormbo May 27 '12 at 8:07