# Make sure vectors are approximately orthogonal?

Where $$\theta$$ is the angle between two vectors $$\vec u$$ and $$\vec v$$. What’s the fastest way to check that both vectors are approximately orthogonal. I know when $$\vec u$$ and $$\vec v$$ are exactly orthogonal $$\vec u \cdot \vec v = 0$$ and $$\theta(\vec u, \vec v) = 90$$.

However, say $$\vec u = [-214748.359375, 0.6362000107765198, 1.399999976158142, 1]$$ and $$\vec v = [8.385956100787163\times10^{-8}, 0.9103664774626016, 0.41380294430118253, 0]$$ Here $$\vec u$$ and $$\vec v$$ are not exactly but approximately orthogonal thus $$\theta(\vec u, \vec v) = 89.9996957122442$$ and their dot product $$\vec u \cdot \vec v = 1.140490571783766$$

Since comparing angles between vectors is a bit more expensive than computing a dot product. Is there any other way to quickly check that $$\vec u$$ and $$\vec v$$ are approximately orthogonal?

I find it a bit strange that their dot product isn’t approximately $$0$$ since the angle between them is approximately $$90$$.

• Compare $\cos\theta$ to $0$, i.e. $\dfrac{u\cdot v}{|u||v|}$ Commented Feb 4, 2023 at 13:29

$$(\cos\theta)^2=\frac{(u.v)^2}{(u.u)(v.v)}$$ so check that $$(u.v)^2$$ is much smaller than $$(u.u)(v.v)$$