This article examines the equivalence between the component and geometric definitions of the vector dot product in Euclidean space, providing a geometric proof using the law of cosines and a projection proof using orthonormal basis vectors.
<p>The goal of this post is to answer a simple question: why are the
following two definitions of the vector dot product in Euclidean
space <a class="footnote-reference" href="#footnote-1" id="footnote-reference-1">[1]</a> equivalent for vectors <object class="valign-0" data="https://eli.thegreenplace.net/images/math/1e37c650a8e07c81d1a1b03f075bdf45139d65e9.svg" style="height: 13px;" type="image/svg+xml">\vec{a}</object> and <object class="valign-0" data="https://eli.thegreenplace.net/images/math/71fa108edb785ca9f729fa3cd5ad18556dd682e4.svg" style="height: 18px;" type="image/svg+xml">\vec{b}</object>:</p>
<ul class="simple">
<li>Component definition:
<object class="valign-m5" data="https://eli.thegreenplace.net/images/math/ceda7d1aeff7f71ec163c06a1027301880a1a11a.svg" style="height: 23px;" type="image/svg+xml">\vec{a}\cdot\vec{b}=\sum_{i=1}^{n}a_i b_i</object></li>
<li>Geometric definition:
<object class="valign-m4" data="https://eli.thegreenplace.net/images/math/18295d9ada05bf75a8c4e834b5cdb5a1fb8236b7.svg" style="height: 22px;" type="image/svg+xml">\vec{a}\cdot\vec{b}=|\vec{a}||\vec{b}|cos(\theta)</object>, where
<object class="valign-m4" data="https://eli.thegreenplace.net/images/math/0cab7c57b6f3ee6067b1490781094dd2a0b060ee.svg" style="height: 18px;" type="image/svg+xml">|\vec{a}|</object> is the magnitude of <object class="valign-0" data="https://eli.thegreenplace.net/images/math/1e37c650a8e07c81d1a1b03f075bdf45139d65e9.svg" style="height: 13px;" type="image/svg+xml">\vec{a}</object> and
<img alt="\theta" class="valign-0" src="https://eli.thegreenplace.net/images/math/cb005d76f9f2e394a770c2562c2e150a413b3216.png" style="height: 12px;" /> is the angle between the vectors’ directions</li>
</ul>
<p>Here’s a graphical depiction of our vectors (focusing on
<img alt="\mathbb{R}^2" class="valign-0" src="https://eli.thegreenplace.net/images/math/2b688757b3d0949451e1fa97e71ac5f5f284a5e4.png" style="height: 15px;" /> for clarity, though this applies to any-dimensional
vectors). It shows both the components of the vectors and the angle
between them. The <em>length</em> of the arrow for <object class="valign-0" data="https://eli.thegreenplace.net/images/math/1e37c650a8e07c81d1a1b03f075bdf45139d65e9.svg" style="height: 13px;" type="image/svg+xml">\vec{a}</object> is
<object class="valign-m4" data="https://eli.thegreenplace.net/images/math/0cab7c57b6f3ee6067b1490781094dd2a0b060ee.svg" style="height: 18px;" type="image/svg+xml">|\vec{a}|</object>.</p>
<img alt="Vectors a and b in the cartesian plane" class="align-center" src="https://eli.thegreenplace.net/images/2026/vec-ab.png" />
<p>We’ll show two proofs of the equivalence here, the <em>geometric proof</em> and
the <em>projection proof</em>. The Appendix describes some properties of dot
products that facilitate these proofs.</p>
<div class="section" id="geometric-proof">
<h2>Geometric proof</h2>
<p>We’ll be using this diagram of our vectors <object class="valign-0" data="https://eli.thegreenplace.net/images/math/1e37c650a8e07c81d1a1b03f075bdf45139d65e9.svg" style="height: 13px;" type="image/svg+xml">\vec{a}</object> and
<object class="valign-0" data="https://eli.thegreenplace.net/images/math/71fa108edb785ca9f729fa3cd5ad18556dd682e4.svg" style="height: 18px;" type="image/svg+xml">\vec{b}</object>, as well as the vector <object class="valign-m1" data="https://eli.thegreenplace.net/images/math/8a5592cb1eea55d16a0003f0821da2c56d6b57b9.svg" style="height: 19px;" type="image/svg+xml">\vec{c}=\vec{a}-\vec{b}</object>:</p>
<img alt="Vectors a, b and c in the cartesian plane" class="align-center" src="https://eli.thegreenplace.net/images/2026/vec-abc.png" />
<p>Using the law of cosines <a class="footnote-reference" href="#footnote-2" id="footnote-reference-2">[2]</a> on the triangle formed by the three
vectors:</p>
<object class="align-center" data="https://eli.thegreenplace.net/images/math/240ccea2153ff31cc6fe50d5e304555cf1cdf7dc.svg" style="height: 22px;" type="image/svg+xml">\[|\vec{c}|^2=|\vec{a}|^2+|\vec{b}|^2-2|\vec{a}||\vec{b}|cos(\theta)\]</object>
<p>Since for any vector <object class="valign-0" data="https://eli.thegreenplace.net/images/math/1e37c650a8e07c81d1a1b03f075bdf45139d65e9.svg" style="height: 13px;" type="image/svg+xml">\vec{a}</object>, we have
<object class="valign-m4" data="https://eli.thegreenplace.net/images/math/b422cc5da6849fe3e73781c1b45524a245325e75.svg" style="height: 19px;" type="image/svg+xml">\vec{a}\cdot\vec{a}=|\vec{a}|^2</object> (see Appendix), let’s rewrite
this equation as:</p>
<object class="align-center" data="https://eli.thegreenplace.net/images/math/6695944214e34273aa1cf3c5fc019631d3d949eb.svg" style="height: 22px;" type="image/svg+xml">\[\vec{c}\cdot\vec{c}=\vec{a}\cdot\vec{a}+\vec{b}\cdot\vec{b}-2|\vec{a}||\vec{b}|cos(\theta)\]</object>
<p>But <object class="valign-m1" data="https://eli.thegreenplace.net/images/math/8a5592cb1eea55d16a0003f0821da2c56d6b57b9.svg" style="height: 19px;" type="image/svg+xml">\vec{c}=\vec{a}-\vec{b}</object> and the dot product obeys the
distributive property (see Appendix). Therefore:</p>
<object class="align-center" data="https://eli.thegreenplace.net/images/math/e2a2ea0a8703cc17b1247e08f88c0a930f457727.svg" style="height: 110px;" type="image/svg+xml">\[\begin{aligned}
(\vec{a}-\vec{b})\cdot(\vec{a}-\vec{b})&=\vec{a}\cdot\vec{a}+\vec{b}\cdot\vec{b}-2|\vec{a}||\vec{b}|cos(\theta)\\
\vec{a}\cdot\vec{a}-2\vec{a}\cdot\vec{b}+\vec{b}\cdot\vec{b}&=\vec{a}\cdot\vec{a}+\vec{b}\cdot\vec{b}-2|\vec{a}||\vec{b}|cos(\theta)\\
-2\vec{a}\cdot\vec{b}&=-2|\vec{a}||\vec{b}|cos(\theta)\\
\vec{a}\cdot\vec{b}&=|\vec{a}||\vec{b}|cos(\theta)
\end{aligned}\]</object>
</div>
<div class="section" id="projection-proof">
<h2>Projection proof</h2>
<p>For this proof, we’ll assume the geometric definition is correct and
will see how it leads to the component definition. We’ll begin by
denoting vectors <object class="valign-m3" data="https://eli.thegreenplace.net/images/math/620cb2dfecf64377c0514f58bb921df1a50bf1cc.svg" style="height: 16px;" type="image/svg+xml">\vec{e}_1,\vec{e}_2\dots\vec{e}_n</object> as the
standard orthonormal basis for <img alt="\mathbb{R}^n" class="valign-0" src="https://eli.thegreenplace.net/images/math/98165cf6e8d5d442e040d1fa47aa6845f09294c5.png" style="height: 12px;" />. For example, in 2D
space, these basis vectors are <object class="valign-m4" data="https://eli.thegreenplace.net/images/math/70f6d3f52a446d8fc6697e813283690b52f564f5.svg" style="height: 18px;" type="image/svg+xml">\vec{e}_1=[1\ 0]</object> and
<object class="valign-m4" data="https://eli.thegreenplace.net/images/math/09f035a2ceccb1ee6e2299b8f3b39fcba5a50415.svg" style="height: 18px;" type="image/svg+xml">\vec{e}_2=[0\ 1]</object>, shown in
this diagram:</p>
<img alt="Projection of vector a on basis vectors" class="align-center" src="https://eli.thegreenplace.net/images/2026/vec-a-proj.png" />
<p>If we take an arbitrary <object class="valign-m1" data="https://eli.thegreenplace.net/images/math/e308d2dc4c91a30f229484326d392f20443ae2af.svg" style="height: 13px;" type="image/svg+xml">\vec{a}\in\mathbb{R}^n</object> and calculate its
dot product with a basis vector, we can use the geometric definition:</p>
<object class="align-center" data="https://eli.thegreenplace.net/images/math/186133bb5f8369bd1ecf10d5d2b4d943add95e16.svg" style="height: 18px;" type="image/svg+xml">\[\vec{a}\cdot\vec{e}_i=|\vec{a}||\vec{e}_i|cos(\theta_i)=|\vec{a}|cos(\theta_i)=a_i\]</object>
<p>where <object class="valign-m3" data="https://eli.thegreenplace.net/images/math/1ba9b59bdee92f38c1698c784b67ba70f803331d.svg" style="height: 10px;" type="image/svg+xml">a_i</object> is the component of <object class="valign-0" data="https://eli.thegreenplace.net/images/math/1e37c650a8e07c81d1a1b03f075bdf45139d65e9.svg" style="height: 13px;" type="image/svg+xml">\vec{a}</object> in the direction
of <object class="valign-m3" data="https://eli.thegreenplace.net/images/math/affb5dee8540bbf9212209541eb1f5ae1c892c57.svg" style="height: 15px;" type="image/svg+xml">\vec{e}_i</object>. The diagram makes it easy to see why this is true
from basic trigonometry, but in the more general case this is just a
<a class="reference external" href="https://eli.thegreenplace.net/2024/projections-and-projection-matrices/">vector
projection</a>.</p>
<p>Now let’s represent vectors <object class="valign-0" data="https://eli.thegreenplace.net/images/math/1e37c650a8e07c81d1a1b03f075bdf45139d65e9.svg" style="height: 13px;" type="image/svg+xml">\vec{a}</object> and <object class="valign-0" data="https://eli.thegreenplace.net/images/math/71fa108edb785ca9f729fa3cd5ad18556dd682e4.svg" style="height: 18px;" type="image/svg+xml">\vec{b}</object> as
linear combinations of the basis vectors:</p>
<object class="align-center" data="https://eli.thegreenplace.net/images/math/c8e0903b930bb28b24c17ed4c11523763abb143e.svg" style="height: 107px;" type="image/svg+xml">\[\begin{aligned}
\vec{a}&=\sum_{i=1}^{n}a_i\vec{e}_i\\
\vec{b}&=\sum_{i=1}^{n}b_i\vec{e}_i\\
\end{aligned}\]</object>
<p>And calculate the dot product <object class="valign-0" data="https://eli.thegreenplace.net/images/math/b1048f974a85e79f143668b8f14b1304450e32a3.svg" style="height: 18px;" type="image/svg+xml">\vec{a}\cdot\vec{b}</object>, beginning by
rewriting <object class="valign-0" data="https://eli.thegreenplace.net/images/math/71fa108edb785ca9f729fa3cd5ad18556dd682e4.svg" style="height: 18px;" type="image/svg+xml">\vec{b}</object> with its linear combination of basis vectors
representation:</p>
<object class="align-center" data="https://eli.thegreenplace.net/images/math/e9e1a0ea9925cbc19e45d6003b550319677f2e7f.svg" style="height: 49px;" type="image/svg+xml">\[\vec{a}\cdot\vec{b}=\vec{a}\cdot\sum_{i=1}^{n}b_i\vec{e}_i\]</object>
<p>Using the fact that the dot product distributes over linear
combinations:</p>
<object class="align-center" data="https://eli.thegreenplace.net/images/math/d5be2ada840bb5b42dc39f2a4cc4bd250b8ca6e6.svg" style="height: 49px;" type="image/svg+xml">\[\vec{a}\cdot\vec{b}=\sum_{i=1}^{n}b_i(\vec{a}\cdot\vec{e}_i)\]</object>
<p>But earlier we’ve shown that <object class="valign-m3" data="https://eli.thegreenplace.net/images/math/8fd516937d096de273bbe7affffe0b4366c8aff8.svg" style="height: 15px;" type="image/svg+xml">\vec{a}\cdot\vec{e}_i=a_i</object>.
Therefore:</p>
<object class="align-center" data="https://eli.thegreenplace.net/images/math/6f9531542f40b48ecd92cb463422c7496338a28d.svg" style="height: 49px;" type="image/svg+xml">\[\vec{a}\cdot\vec{b}=\sum_{i=1}^{n}b_i a_i=\sum_{i=1}^{n}a_i b_i\]</object>
<p>Which is the component definition <object class="valign-0" data="https://eli.thegreenplace.net/images/math/4a4e9e431da45a27bc880a8a1ca44d8b1b9bc143.svg" style="height: 12px;" type="image/svg+xml">\blacksquare</object>.</p>
</div>
<div class="section" id="appendix-a-inner-product-space">
<h2>Appendix A: Inner product space</h2>
<p>A generalization of dot products in <img alt="\mathbb{R}^n" class="valign-0" src="https://eli.thegreenplace.net/images/math/98165cf6e8d5d442e040d1fa47aa6845f09294c5.png" style="height: 12px;" /> is the <em>inner
product</em>, which is an operation meeting some specific requirements,
defined on a vector space.</p>
<p>The inner product is denoted as
<object class="valign-m4" data="https://eli.thegreenplace.net/images/math/cbdca019cccdd6a52a31e7801d2df0ab11ea3308.svg" style="height: 18px;" type="image/svg+xml">\langle x,y\rangle:\mathbb{R}^n\times\mathbb{R}^n\to\mathbb{R}</object>,
and must satisfy the following requirements for all vectors
<object class="valign-m3" data="https://eli.thegreenplace.net/images/math/e4dc4820e1769287ccf66b5dd55d01e585bebe28.svg" style="height: 16px;" type="image/svg+xml">x,y,z\in\mathbb{R}^n</object> and scalars <object class="valign-m3" data="https://eli.thegreenplace.net/images/math/30f42e11547408a4df5cc14e588f8866c8df08b1.svg" style="height: 16px;" type="image/svg+xml">a,b\in\mathbb{R}</object>:</p>
<ul class="simple">
<li>Symmetry: <object class="valign-m4" data="https://eli.thegreenplace.net/images/math/3c2a6a5c6c97ba865770875225c2b5a66c80eeb4.svg" style="height: 18px;" type="image/svg+xml">\langle x,y\rangle=\langle y,x\rangle</object></li>
<li>Linearity in the first argument:
<object class="valign-m4" data="https://eli.thegreenplace.net/images/math/89712b4ea716fa8e6cd8b9d87122b79bb1a9667d.svg" style="height: 18px;" type="image/svg+xml">\langle ax+by,z\rangle=a\langle x,z\rangle+b\langle y,z\rangle</object></li>
<li>Positive-definiteness: if <object class="valign-m3" data="https://eli.thegreenplace.net/images/math/b236da2dfef47fa5412296162341115b27b43299.svg" style="height: 16px;" type="image/svg+xml">x\ne 0</object> then
<object class="valign-m4" data="https://eli.thegreenplace.net/images/math/9535942c7e10297e079a7e3454b38d7950ae2310.svg" style="height: 18px;" type="image/svg+xml">\langle x,x\rangle>0</object></li>
</ul>
<p>For <img alt="\mathbb{R}^n" class="valign-0" src="https://eli.thegreenplace.net/images/math/98165cf6e8d5d442e040d1fa47aa6845f09294c5.png" style="height: 12px;" />, we define the inner product operation in its
component formulation as:</p>
<object class="align-center" data="https://eli.thegreenplace.net/images/math/9aaa1b0476e540ca44c95a3c19027636f3206a46.svg" style="height: 49px;" type="image/svg+xml">\[\langle x,y\rangle=\sum_{i=1}^{n}x_i\cdot y_i\]</object>
<p>Let’s prove the requirements listed above for this operation; this is
fairly straightforward, given the well-known properties of scalar
multiplication and addition on <img alt="\mathbb{R}" class="valign-0" src="https://eli.thegreenplace.net/images/math/0ed839b111fe0e3ca2b2f618b940893eaea88a57.png" style="height: 12px;" />:</p>
<p><strong>Symmetry:</strong></p>
<object class="align-center" data="https://eli.thegreenplace.net/images/math/0b40b68141de632daf8ad29a268134ff95bd8913.svg" style="height: 49px;" type="image/svg+xml">\[\langle x,y\rangle=\sum_{i=1}^{n}x_i\cdot y_i=\sum_{i=1}^{n}y_i\cdot x_i=\langle y,x\rangle\]</object>
<p><strong>Linearity in the first argument:</strong></p>
<object class="align-center" data="https://eli.thegreenplace.net/images/math/da1d69b138c0cd509829247a3df234b2584fc0f8.svg" style="height: 165px;" type="image/svg+xml">\[\begin{aligned}
\langle ax+by,z\rangle&=\sum_{i=1}^{n}(ax+by)_i\cdot z_i\\
&=\sum_{i=1}^{n}a x_i\cdot z_i+b y_i\cdot z_i\\
&=a\sum_{i=1}^{n}x_i\cdot z_i+b\sum_{i=1}^{n}y_i\cdot z_i=a\langle x,z\rangle+b\langle y,z\rangle
\end{aligned}\]</object>
<p><strong>Positive-definiteness:</strong></p>
<p>Consider the components <img alt="x_i" class="valign-m3" src="https://eli.thegreenplace.net/images/math/34e03e6559b14df9fe5a97bbd2ed10109dfebbd3.png" style="height: 10px;" /> of vector <object class="valign-0" data="https://eli.thegreenplace.net/images/math/11f6ad8ec52a2984abaafd7c3b516503785c2072.svg" style="height: 8px;" type="image/svg+xml">x</object>. Clearly,
<object class="valign-m5" data="https://eli.thegreenplace.net/images/math/b612a557dba4596d6c60e575490f16b1ba8ae091.svg" style="height: 19px;" type="image/svg+xml">\forall i\quad x_i\cdot x_i=x_i^2\ge 0</object>. Since the vector
<object class="valign-0" data="https://eli.thegreenplace.net/images/math/11f6ad8ec52a2984abaafd7c3b516503785c2072.svg" style="height: 8px;" type="image/svg+xml">x</object> is not the zero vector, at least one of its components
<img alt="x_i" class="valign-m3" src="https://eli.thegreenplace.net/images/math/34e03e6559b14df9fe5a97bbd2ed10109dfebbd3.png" style="height: 10px;" /> is nonzero, and for that component <object class="valign-m3" data="https://eli.thegreenplace.net/images/math/c5bf177ea7d8fd17a6ca8070c2fdf6d1efb32d66.svg" style="height: 14px;" type="image/svg+xml">x_i\cdot x_i>0</object>.
Therefore:</p>
<object class="align-center" data="https://eli.thegreenplace.net/images/math/27f090f1d43176fc69c95eac63d2ff17cbafc55b.svg" style="height: 49px;" type="image/svg+xml">\[\langle x,x\rangle=\sum_{i=1}^{n}x_i\cdot x_i>0\]</object>
<p>Now that we’ve proved all the inner product requirements on our
operation <object class="valign-m4" data="https://eli.thegreenplace.net/images/math/6ca9deb1a76b8e6935f570856eb9bda46220ce25.svg" style="height: 18px;" type="image/svg+xml">\langle x,y\rangle</object>, we can say that
<img alt="\mathbb{R}^n" class="valign-0" src="https://eli.thegreenplace.net/images/math/98165cf6e8d5d442e040d1fa47aa6845f09294c5.png" style="height: 12px;" /> is an <em>inner product space</em> with this operation.</p>
<p>By meeting these requirements, it can be readily shown that our inner
product operation has additional useful properties:</p>
<ul class="simple">
<li><object class="valign-m4" data="https://eli.thegreenplace.net/images/math/2ee7d071087a18edac9b46e15b6ca6afbf9a6df8.svg" style="height: 18px;" type="image/svg+xml">\langle x,0\rangle=\langle 0,x\rangle=0</object></li>
<li><object class="valign-m4" data="https://eli.thegreenplace.net/images/math/900b54a8839adf1b8c8bb63303fff2f26f6b0776.svg" style="height: 18px;" type="image/svg+xml">\langle x,x\rangle=0</object> if and only if <object class="valign-0" data="https://eli.thegreenplace.net/images/math/8bdf21367eee06097384c37b0448375f07f950f0.svg" style="height: 12px;" type="image/svg+xml">x=0</object></li>
<li><object class="valign-m4" data="https://eli.thegreenplace.net/images/math/997f3a8fe7a79d7774e2b83acfa72f3ffc56a0df.svg" style="height: 18px;" type="image/svg+xml">\langle x,ay+bz\rangle=a\langle x,y\rangle+b\langle x,z\rangle</object></li>
<li><object class="valign-m4" data="https://eli.thegreenplace.net/images/math/685267fd1c951d09b34d3a7cd0f27361649b58cf.svg" style="height: 18px;" type="image/svg+xml">\langle x+y,x+y\rangle=\langle x,x\rangle+2\langle x,y\rangle+\langle y,y\rangle</object></li>
</ul>
<p>The third property is particularly helpful, because it means the inner
product is <em>bilinear</em>, and thus is distributive over addition.</p>
<p>Note that these are shown for the component definition of dot product.
It’s not too hard to prove distributivity for the geometric definition
using the notion of projections and how they add up.</p>
<p><strong>Norm</strong></p>
<p>The <em>norm</em> of a vector <object class="valign-0" data="https://eli.thegreenplace.net/images/math/11f6ad8ec52a2984abaafd7c3b516503785c2072.svg" style="height: 8px;" type="image/svg+xml">x</object> in an inner product space is defined as
<object class="valign-m5" data="https://eli.thegreenplace.net/images/math/a7bda7d6e7e2e0cad0e29b07b00cf1e660e9e231.svg" style="height: 22px;" type="image/svg+xml">|x|=\sqrt{\langle x,x\rangle}</object>. Therefore, the square of the norm
is <object class="valign-m4" data="https://eli.thegreenplace.net/images/math/d27b2e10b83103098eda64097cdab1a29d01a7f4.svg" style="height: 19px;" type="image/svg+xml">|x|^2=\langle x,x\rangle</object>.</p>
<p>The norm is used to express the notion of <em>magnitude</em>, or <em>length</em> of a
vector. If you think of a vector <object class="valign-m1" data="https://eli.thegreenplace.net/images/math/33bd5495eaecc64262186977afff85eba0a94885.svg" style="height: 13px;" type="image/svg+xml">x\in\mathbb{R}^n</object> in Cartesian
coordinates, the definition of the norm is a generalization of the
Pythagorean theorem.</p>
<hr class="docutils" />
<table class="docutils footnote" frame="void" id="footnote-1" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#footnote-reference-1">[1]</a></td><td>By this we mean <img alt="\mathbb{R}^n" class="valign-0" src="https://eli.thegreenplace.net/images/math/98165cf6e8d5d442e040d1fa47aa6845f09294c5.png" style="height: 12px;" />, where each vector is an n-tuple
of real numbers, with the usual mathematical operations making this a
vector space.</td></tr>
</tbody>
</table>
<table class="docutils footnote" frame="void" id="footnote-2" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#footnote-reference-2">[2]</a></td><td>Which is a very fundamental theorem in geometry; it is (or rather,
its non-trigonometric version) is proven from the basic Euclidean
axioms in <em>The Elements</em>.</td></tr>
</tbody>
</table>
</div>
# Dot product: Component vs. Geometric definition
Source: [https://eli.thegreenplace.net/2026/dot-product-component-vs-geometric-definition](https://eli.thegreenplace.net/2026/dot-product-component-vs-geometric-definition)
The goal of this post is to answer a simple question: why are the following two definitions of the vector dot product in Euclidean space[\[1\]](https://eli.thegreenplace.net/2026/dot-product-component-vs-geometric-definition#footnote-1)equivalent for vectors and :
- Component definition:
- Geometric definition: , where is the magnitude of andis the angle between the vectors’ directions
Here’s a graphical depiction of our vectors \(focusing onfor clarity, though this applies to any\-dimensional vectors\)\. It shows both the components of the vectors and the angle between them\. The*length*of the arrow for is \.

We’ll show two proofs of the equivalence here, the*geometric proof*and the*projection proof*\. The Appendix describes some properties of dot products that facilitate these proofs\.
## Geometric proof
We’ll be using this diagram of our vectors and , as well as the vector :

Using the law of cosines[\[2\]](https://eli.thegreenplace.net/2026/dot-product-component-vs-geometric-definition#footnote-2)on the triangle formed by the three vectors:
Since for any vector , we have \(see Appendix\), let’s rewrite this equation as:
But and the dot product obeys the distributive property \(see Appendix\)\. Therefore:
## Projection proof
For this proof, we’ll assume the geometric definition is correct and will see how it leads to the component definition\. We’ll begin by denoting vectors as the standard orthonormal basis for\. For example, in 2D space, these basis vectors are and , shown in this diagram:

If we take an arbitrary and calculate its dot product with a basis vector, we can use the geometric definition:
where is the component of in the direction of \. The diagram makes it easy to see why this is true from basic trigonometry, but in the more general case this is just a[vector projection](https://eli.thegreenplace.net/2024/projections-and-projection-matrices/)\.
Now let’s represent vectors and as linear combinations of the basis vectors:
And calculate the dot product , beginning by rewriting with its linear combination of basis vectors representation:
Using the fact that the dot product distributes over linear combinations:
But earlier we’ve shown that \. Therefore:
Which is the component definition \.
## Appendix A: Inner product space
A generalization of dot products inis the*inner product*, which is an operation meeting some specific requirements, defined on a vector space\.
The inner product is denoted as , and must satisfy the following requirements for all vectors and scalars :
- Symmetry:
- Linearity in the first argument:
- Positive\-definiteness: if then
For, we define the inner product operation in its component formulation as:
Let’s prove the requirements listed above for this operation; this is fairly straightforward, given the well\-known properties of scalar multiplication and addition on:
**Symmetry:**
**Linearity in the first argument:**
**Positive\-definiteness:**
Consider the componentsof vector \. Clearly, \. Since the vector is not the zero vector, at least one of its componentsis nonzero, and for that component \. Therefore:
Now that we’ve proved all the inner product requirements on our operation , we can say thatis an*inner product space*with this operation\.
By meeting these requirements, it can be readily shown that our inner product operation has additional useful properties:
- if and only if
The third property is particularly helpful, because it means the inner product is*bilinear*, and thus is distributive over addition\.
Note that these are shown for the component definition of dot product\. It’s not too hard to prove distributivity for the geometric definition using the notion of projections and how they add up\.
**Norm**
The*norm*of a vector in an inner product space is defined as \. Therefore, the square of the norm is \.
The norm is used to express the notion of*magnitude*, or*length*of a vector\. If you think of a vector in Cartesian coordinates, the definition of the norm is a generalization of the Pythagorean theorem\.
---
[\[1\]](https://eli.thegreenplace.net/2026/dot-product-component-vs-geometric-definition#footnote-reference-1)By this we mean, where each vector is an n\-tuple of real numbers, with the usual mathematical operations making this a vector space\.[\[2\]](https://eli.thegreenplace.net/2026/dot-product-component-vs-geometric-definition#footnote-reference-2)Which is a very fundamental theorem in geometry; it is \(or rather, its non\-trigonometric version\) is proven from the basic Euclidean axioms in*The Elements*\.
Thomas Bloom provides an expository blog post on recent counterexamples to the Erdős unit distance conjecture and sum-product conjecture over the reals, including an OpenAI-assisted disproof of the unit distance conjecture and a collaborative disproof of the sum-product conjecture, sketching the constructions and intuition behind them.
This controlled study compares geometric algebra (Cl(3,0)) layers against a minimal scalarization baseline for SO(3)-equivariant vector learning, finding that geometric algebra adds no benefit for single-stage tasks but significantly beats scalarization in low-data regimes for deeply composed group operations.
This paper compares the geometric structures induced by deep learning vector embeddings (CamemBERT) and lexical co-occurrence graph models on the French 'Great National Debate' corpus, finding similar local topology but distinct global organization, highlighting complementarity between the two approaches.
This paper demonstrates that the axiom of choice has a measurable geometric correlate in proof space, using Lean 4's kernel-level tracking to show a one-parameter mixture law and operational consequences for neural theorem provers.
The article argues that cosine similarity in vector databases is a mathematical property that does not ensure factual accuracy, rendering retrieval systems susceptible to poisoning attacks where malicious documents can surpass legitimate ones in ranking.