Friday, May 8, 2026
banner
Top Selling Multipurpose WP Theme

This text is the primary of three components. Every half stands by itself, so that you don’t have to learn the others to grasp it.

The dot product is without doubt one of the most vital operations in machine studying – but it surely’s exhausting to grasp with out the precise geometric foundations. On this first half, we construct these foundations:

· Unit vectors

· Scalar projection

· Vector projection

Whether or not you’re a scholar studying Linear Algebra for the primary time, or need to refresh these ideas, I like to recommend you learn this text.

In reality, we’ll introduce and clarify the dot product on this article, and within the subsequent article, we’ll discover it in better depth.

The vector projection part is included as an non-obligatory bonus: useful, however not crucial for understanding the dot product.

The subsequent half explores the dot product in better depth: its geometric that means, its relationship to cosine similarity, and why the distinction issues.

The ultimate half connects these concepts to 2 main functions: suggestion methods and NLP.


A vector 𝐯giant mathbf{vec{v}} known as a unit vector if its magnitude is 1:

|𝐯|=1LARGE mathbf{|vec{v}|} = 1

To take away the magnitude of a non-zero vector whereas conserving its course, we are able to normalize it. Normalization scales the vector by the issue:

1|𝐯|LARGE frac{1}{|mathbf{vec{v}}|}

The normalized vector 𝐯^giant mathbf{hat{v}}  is the unit vector within the course of 𝐯giant mathbf{vec{v}}

𝐯^=𝐯|𝐯|LARGE start{array}c hline mathbf{hat{v}} = frac{mathbf{vec{v}}}{|mathbf{vec{v}}|} hline finish{array}

Notation 1. To any extent further, each time we normalize a vector 𝐯giant mathbf{vec{v}},  or write 𝐯^giant mathbf{hat{v}}, we assume that 𝐯0giant mathbf{vec{v}} neq 0. This notation, together with those that comply with, can also be related to the next articles.

This operation naturally separates a vector into its magnitude and its course:

𝐯=|𝐯|magnitude𝐯^courseLARGE start{array}c hline rule{0pt}{2.5em} mathbf{vec{v}} = underbrace{|mathbf{vec{v}}|}_{textual content{magnitude}} cdot underbrace{mathbf{hat{v}}}_{textual content{course}} [4.5em] hline finish{array}

Determine 1 illustrates this concept: 𝐯{mathbf{v}} and 𝐯^giant mathbf{hat{v}} level in the identical course, however have totally different magnitudes.

Determine 1-Separating “How A lot” from “Which Method”. Any vector might be written because the product of its magnitude and its unit vector, which preserves course however has size 1. Picture by Creator (created utilizing Claude).

Similarity of unit vectors

In two dimensions, all unit vectors lie on the unit circle (radius 1, centered on the origin). A unit vector that kinds an angle θ with the x-axis has coordinates (cos θ, sin θ).

This implies the angle between two unit vectors encodes a pure similarity rating - as we’ll present shortly, this rating is precisely cos θ: equal to 1 after they level the identical approach, 0 when perpendicular, and −1 when reverse.

Notation 2. All through this text, θ denotes the smallest angle between the 2 vectors, so 0°θ180°0° leq theta leq 180° .

In observe, we don’t know θ immediately – we all know the vectors’ coordinates.

We are able to present why the dot product of two unit vectors: a^largehat{a} and b^largehat{b} equals cos θ utilizing a geometrical argument in three steps:

1. Rotate the coordinate system till b^largehat{b} lies alongside the x-axis. Rotation doesn’t change angles or magnitudes.

2. Learn off the brand new coordinates. After rotation, b^largehat{b} has coordinates (1 , 0). Since a^largehat{a} is a unit vector at angle θ from the x-axis, the unit circle definition offers its coordinates as (cos θ, sin θ).

3. Multiply corresponding elements and sum:

a^b^=axbx+ayby=cosθ1+sinθ0=cosθGiant start{aligned} hat{a} cdot hat{b} = a_x cdot b_x + a_y cdot b_y = costheta cdot 1 + sintheta cdot 0 = costheta finish{aligned}

This sum of component-wise merchandise known as the dot product:

ab=a1b1+a2b2++anbnGiant boxed{ start{aligned} vec{a} cdot vec{b} = a_1 cdot b_1 + a_2 cdot b_2 + cdots + a_n cdot b_n finish{aligned} }

See the illustration of those three steps in Determine 2 beneath:

Determine 2- By rotating our perspective to align with the x-axis, the coordinate math simplifies fantastically to disclose why the 2 unit vectors’ dot product is the same as cos(θ). Picture by Creator (created utilizing Claude).

The whole lot above was proven in 2D, however the identical end result holds in any variety of dimensions. Any two vectors, regardless of what number of dimensions they reside in, at all times lie in a single flat aircraft. We are able to rotate that aircraft to align with the xy-plane — and from there, the 2D proof applies precisely.

Notation 3. Within the diagrams that comply with, we frequently draw one of many vectors (usually blargevec{b}) alongside the horizontal axis. When blargevec{b} is just not already aligned with the x-axis, we are able to at all times rotate our coordinate system as we did above (the “rotation trick”). Since rotation preserves all lengths, angles, and dot merchandise, each formulation derived on this orientation holds for any course of blargevec{b}.


A vector can contribute in lots of instructions directly, however usually we care about just one course.

Scalar projection solutions the query: How a lot of 𝒂giant boldsymbol{vec{a}} lies alongside the course of 𝒃giant boldsymbol{vec{b}}?

This worth is adverse if the projection factors in the other way of blargevec{b}.

The Shadow Analogy

Probably the most intuitive approach to consider scalar projection is because the size of a shadow. Think about you maintain a stick (vector agiant vec{a}) at an angle above the bottom (the course of blargevec{b}), and a lightweight supply shines straight down from above.

The shadow that the stick casts on the bottom is the scalar projection.

The animated determine beneath illustrates this concept:

Determine 3- Scalar projection as a shadow.
 The scalar projection measures how a lot of vector a lies within the course of b.
 It equals the size of the shadow that a casts onto b (Woo, 2023). The GIF was created by Claude

Calculation

Think about a lightweight supply shining straight down onto the road PS (the course of blargevec{b}). The “shadow” that alargevec{a} (the arrow from P to Q ) casts onto that line is precisely the section PR. You possibly can see this in Determine 4.

Determine 4: Measuring Directional Alignment. The scalar projection (section PR) visually solutions the core query: “How a lot of vector a lies within the actual course of vector b.” Picture by Creator (created utilizing Claude).

Deriving the formulation

Now take a look at the triangle  PQRgiant PQR: the perpendicular drop from Qgiant Q creates a proper triangle, and its sides are:

  •  PQ=|a|giant PQ = |vec{a}| (the hypotenuse).
  •  PRgiant PR (the adjoining aspect – the shadow).
  •  QRgiant QR (the other aspect – the perpendicular element).

From this triangle:

  1. The angle between alargevec{a} and blargevec{b} is θ.
  2. cos(θ)=PR|a|giant cos(theta) = frac{PR}{|vec{a}|} (probably the most primary definition of cosine).
  3. Multiply either side by |a|giant|vec{a}| :

PR=|a|cos(θ)LARGE start{array}c hline PR = |vec{a}| cos(theta) hline finish{array}

The Section 𝑷𝑹boldsymbol{PR} is the shadow size – the scalar projection of 𝒂giant boldsymbol{vec{a}} on 𝒃giant boldsymbol{vec{b}}.

When θ > 90°, the scalar projection turns into adverse too. Consider the shadow as flipping to the other aspect.

How is the unit vector associated?

The shadow’s size (PR) doesn’t rely upon how lengthy blargevec{b} is. It depends upon |a|giant|vec{a}| and on θ.

If you compute ab^largevec{a} cdot hat{b}, you might be asking: how a lot of alargevec{a} lies alongside blargevec{b} course?  That is the shadow size.

The unit vector acts like a course filter: multiplying alargevec{a} by it extracts the element of alargevec{a} alongside that course.

Let’s see it utilizing the rotation trick. We place b̂ alongside the x-axis:

a=(|a|cosθ, |a|sin(θ))Giant vec{a} = (|vec{a}|costheta, |vec{a}|sin(theta))

and:

b^=(1,0)Giant hat{b} = (1, 0)

Then:

ab^=|a|cosθ1+|a|sin(θ)0=|a|cosθGiant start{aligned} vec{a} cdot hat{b} = |vec{a}|costheta cdot 1 + |vec{a}|sin(theta) cdot 0 = |vec{a}|costheta finish{aligned}

The scalar projection of 𝒂giant boldsymbol{vec{a}} within the course of 𝒃giant boldsymbol{vec{b}} is:

|a|cosθ=ab^=ab|b|LARGE renewcommand{arraystretch}{2} start{array}c hline start{aligned} |vec{a}|costheta &= vec{a} cdot hat{b} &= frac{vec{a} cdot vec{b}}{|vec{b}|} finish{aligned} hline finish{array}


We apply the identical rotation trick yet another time, now with two basic vectors: alargevec{a} and blargevec{b}.

After rotation:

a=(|a|cosθ, |a|sinθ)Giant vec{a} = (|vec{a}|costheta, |vec{a}|sintheta) ,

b=(|b|, 0)Giant vec{b} = (|vec{b}|, 0)

so:

ab=|a|cosθ|b|+|a|sinθ0=|a||b|cosθGiant start{aligned} vec{a} cdot vec{b} = |vec{a}|costheta cdot |vec{b}| + |vec{a}|sintheta cdot 0 = |vec{a}||vec{b}|costheta finish{aligned}

The dot product of 𝒂giant boldsymbol{vec{a}} and 𝒃giant boldsymbol{vec{b}} is:

ab=a1b1++anbn=i=1naibi=|a||b|cosθGiant renewcommand{arraystretch}{2} start{array}l hline vec{a} cdot vec{b} = a_1 b_1+ dots + a_n b_n = sum_{i=1}^{n} a_i b_i = |vec{a}||vec{b}|costheta hline finish{array}


Vector projection extracts the portion of vector 𝒂giant boldsymbol{vec{a}} that factors alongside the course of vector 𝒃giant boldsymbol{vec{b}}.

The Path Analogy

Think about two trails ranging from the identical level (the origin):

  • Path A results in a whale-watching spot.
  • Path B leads alongside the coast in a unique course.

Right here’s the query projection solutions:

You’re solely allowed to stroll alongside Path B. How far do you have to stroll in order that you find yourself as shut as doable to the endpoint of Path A?

You stroll alongside B, and sooner or later, you cease. From the place you stopped, you look towards the tip of Path A, and the road connecting you to it kinds an ideal 90° angle with Path B. That’s the important thing geometric reality – the closest level is at all times the place you’d make a right-angle flip.

The spot the place you cease on Path B is the projection of A onto B. It represents “the a part of A that goes in B’s course.

The remaining hole -  out of your stopping level to the precise finish of Path A  –  is every little thing about A that has nothing to do with B’s course. This instance is illustrated in Determine 5 beneath: The vector that begins on the origin, factors alongside Path B, and ends on the closest level is the vector projection of alargevec{a} onto blargevec{b} .

Determine 5 — Vector projection because the closest level to a course.
 Strolling alongside path B, the closest level to the endpoint of A happens the place the connecting section kinds a proper angle with B. This level is the projection of A onto B. Picture by Creator (created utilizing Claude)..

Scalar projection solutions: “How far did you stroll?”

That’s only a distance, a single quantity.

Vector projection solutions: “The place precisely are you?”

Extra exactly: “What’s the precise motion alongside Path B that will get you to that closest level?”

Now “1.5 kilometers” isn’t sufficient, you have to say “1.5 kilometers east alongside the coast.” That’s a distance plus a course: an arrow, not only a quantity. The arrow begins on the origin, factors alongside Path B, and ends on the closest level.

The space you walked is the scalar projection worth. The magnitude of the vector projection equals absolutely the worth of the scalar projection.

Unit vector  solutions : “Which course does Path B go?”

It’s precisely what b^largehat{b} represents. It’s Path B stripped of any size info  - simply the pure course of the coast.

vector projection=(how far you stroll)scalar projection×(B course)b^start{aligned} &textual content{vector projection} = &underbrace{(textual content{how far you stroll})}_{textual content{scalar projection}} instances underbrace{(textual content{B course})}_{hat{b}} finish{aligned}

I do know the whale analog could be very particular; it was impressed by this good explanation (Michael.P, 2014)

Determine 6 beneath exhibits the identical shadow diagram as in Determine 4, with PR drawn as an arrow, as a result of the vector projection is a vector (with each size and course), not only a quantity.

Determine 6 — Vector projection as a directional shadow.
 Not like scalar projection (a size), the vector projection is an arrow alongside vector b. Picture by Creator (created utilizing Claude).

Because the projection should lie alongside blargevec{b} , we’d like two issues for PRlargevec{PR} :

  1. Its magnitude is the scalar projection: |a|cosθgiant|vec{a}|costheta
  2. Its course is: b^largehat{b} (the course of blargevec{b})

Any vector equals its magnitude instances its course (as we noticed within the Unit Vector part), so:

PR=|a|cosθscalar projectionb^course of bgiant start{array}c hline hspace{10pt} vec{PR} = underbrace{|vec{a}| cos theta}_{textual content{scalar projection}} cdot underbrace{hat{b}}_{textual content{course of } vec{b}} hspace{20pt} hline finish{array}

That is already the vector projection formulation. We are able to rewrite it by substituting b^=b|b|largehat{b} = frac{vec{b}}{|vec{b}|} , and recognizing that |a||b|cosθ=abgiant|vec{a}||vec{b}|costheta = vec{a} cdot vec{b}

The vector projection of 𝒂giant boldsymbol{vec{a}} within the course of 𝒃giant boldsymbol{vec{b}} is:

projb(a)=(|a|cosθ)b^=(ab|b|2)b=(ab^)b^Giant renewcommand{arraystretch}{1.5} start{array}c hline start{aligned} textual content{proj}_{vec{b}}(vec{a}) &= (|vec{a}|costheta)hat{b} &= left(frac{vec{a} cdot vec{b}}{|vec{b}|^2}proper)vec{b} &= (vec{a} cdot hat{b})hat{b} finish{aligned} hline finish{array}


  • A unit vector isolates a vector’s course by stripping away its magnitude.

𝐯^=𝐯|𝐯|LARGE start{array}c hline mathbf{hat{v}} = frac{mathbf{vec{v}}}{|mathbf{vec{v}}|} hline finish{array}

  • The dot product multiplies corresponding elements and sums them. Additionally it is equal to the product of the magnitudes of the 2 vectors multiplied by the cosine of the angle between them.

 ab=a1b1++anbn=i=1naibi=|a||b|cosθ renewcommand{arraystretch}{2} start{array}l hline vec{a} cdot vec{b} = a_1 b_1+ dots + a_n b_n = sum_{i=1}^{n} a_i b_i = |vec{a}||vec{b}|costheta hline finish{array}

  • Scalar projection makes use of the dot product to measure how far one vector reaches alongside one other’s course - a single quantity, just like the size of a shadow

|a|cosθ=ab^=ab|b|Giant start{array}c hline |vec{a}|costheta = vec{a} cdot hat{b} = frac{vec{a} cdot vec{b}}{|vec{b}|} hline finish{array}

  • Vector projection goes one step additional, returning an precise arrow alongside that course: the scalar projection instances the unit vector.

(|a|cosθ)b^=(ab^)b^Giant renewcommand{arraystretch}{2} start{array}l hline (|vec{a}|costheta)hat{b} = (vec{a} cdot hat{b})hat{b} hline finish{array}

Within the subsequent half, we’ll use the instruments we realized on this article to actually perceive the dot product.

banner
Top Selling Multipurpose WP Theme

Converter

Top Selling Multipurpose WP Theme

Newsletter

Subscribe my Newsletter for new blog posts, tips & new photos. Let's stay updated!

banner
Top Selling Multipurpose WP Theme

Leave a Comment

banner
Top Selling Multipurpose WP Theme

Latest

Best selling

22000,00 $
16000,00 $
6500,00 $
900000,00 $

Top rated

6500,00 $
22000,00 $
900000,00 $

Products

Knowledge Unleashed
Knowledge Unleashed

Welcome to Ivugangingo!

At Ivugangingo, we're passionate about delivering insightful content that empowers and informs our readers across a spectrum of crucial topics. Whether you're delving into the world of insurance, navigating the complexities of cryptocurrency, or seeking wellness tips in health and fitness, we've got you covered.