A vector is a length and a direction, drawn as an arrow that may sit anywhere. Learn to tell when two arrows are the same vector, to find an arrow’s length from its run and rise, and to meet the zero vector, before any coordinates are attached.
Describe a vector as a length together with a direction, and name the tail and the tip of an arrow that draws it.
Decide whether two arrows on a grid are the same vector by comparing their run and their rise.
Compute the length of an arrow from its run and rise with Pythagoras’ theorem.
Explain what the zero vector is and why it has no direction.
In review. The maths and code on this page are checked by automated tests on every change, but an independent reader has not signed it off yet. Spot a mistake or a confusing step? Tell us.
The question
A weather report says the wind is blowing at 20 kilometres an hour. That is not enough to fly a kite, land a plane or plan a bike ride: you also need to know which way it blows. What do you call a quantity that needs a size and a direction, how do you draw one, and when are two of them the same?
Intuition
Some quantities are complete with one number. The temperature is 18 degrees. The bag weighs 3 kilograms. A quantity like that is called a scalar.
Other quantities are not complete until you say which way. The wind blows at 20 kilometres an hour towards the north-east. You walk 5 kilometres up the valley. A quantity with a size and a direction is called a vector.
We draw a vector as an arrow. The length of the arrow shows the size, and the way the arrow points shows the direction. The end where the arrow starts is its tail. The pointed end is its tip.
M02.1.1-F1
An arrow has a tail, a tip, a length and a direction. The vector is only the last two. Slide the arrow anywhere, without turning or stretching it, and it still draws the same vector \(\vect{v}\).
The right-hand panel holds the surprise. The place where the arrow is drawn is not part of the vector. “Walk 5 kilometres north-east” is the same instruction whether you start at the station or at the school. One vector can be drawn as many arrows, as long as they all have the same length and point the same way.
Machine learning is full of instructions of this kind. Each time a model learns from an example, it is told which way to nudge its adjustable numbers and how far. That nudge is a vector.
Build it up
To work with arrows we need a way to compare them that does not rely on the eye. Squared paper gives one.
Step 1. Put the arrow on a grid. Take the arrow whose tail is at the point \((1, 1)\) and whose tip is at the point \((5, 4)\). Each grid square is one kilometre.
Step 2. Go from tail to tip in two moves. First move across, then move up. For this arrow you go 4 squares across and 3 squares up. Call the first number the arrow’s run and the second its rise. Each is found by a subtraction, tip minus tail:
A negative run means “go left” and a negative rise means “go down”.
Step 3. The two moves and the arrow make a right-angled triangle. The run and the rise are its two short sides, and the arrow is its long side. Pythagoras’ theorem then gives the arrow’s length:
Left: the run and the rise are read off the grid by subtracting, tip minus tail. Right: together with the arrow they form a right-angled triangle, so Pythagoras gives the length.
Step 4. Slide the arrow and measure again. Move the whole arrow 2 squares right and 1 square down. Its tail is now at \((3, 0)\) and its tip at \((7, 3)\). The run is \(7 - 3 = 4\) and the rise is \(3 - 0 = 3\), exactly as before. The run and the rise belong to the vector, not to the place where its arrow happens to be drawn.
So here is the test: two arrows are the same vector when they have the same run and the same rise. The next section shows why this agrees with “same length and same direction”.
The formal statement
NoteDefinition: vector, equal vectors
A vector in the plane is a length together with a direction. An arrow from a point \(P\), its tail, to a point \(Q\), its tip, represents the vector whose length is the distance from \(P\) to \(Q\) and whose direction is the direction of travel from \(P\) to \(Q\).
Two arrows represent the same vector when they have the same length and the same direction. Where the arrows sit plays no part. (One vector, the zero vector below, has no direction.)
A vector is written as a bold lower-case letter, \(\vect{v}\). By hand, where bold is awkward, people write \(\vec{v}\). The length of \(\vect{v}\) is written \(\norm{\vect{v}}\).
For an arrow from \(P = (p_1, p_2)\) to \(Q = (q_1, q_2)\), define
Result 1: the length. Walk from \(P\) horizontally to the point \((q_1, p_2)\), then vertically to \(Q\). The first leg has length \(\abs{q_1 - p_1} = \abs{\text{run}}\) and the second has length \(\abs{q_2 - p_2} = \abs{\text{rise}}\). The legs meet at a right angle and the arrow is the side opposite it, so by Pythagoras’ theorem
If the run or the rise is zero there is no triangle, but the formula still holds: a horizontal arrow has length \(\sqrt{\text{run}^2 + 0} = \abs{\text{run}}\).
Result 2: a slide changes neither the run nor the rise. A slide moves every point by the same amounts, say \(h\) across and \(k\) up. The tail goes to \((p_1 + h,\; p_2 + k)\) and the tip to \((q_1 + h,\; q_2 + k)\). Then
By Result 1 the length is unchanged too. And a slide does not turn anything, so the direction is unchanged. A slid arrow represents the same vector.
Result 3: same vector exactly when same run and same rise. There are two things to show.
Same run and rise gives the same vector. Let one arrow go from \(P\) to \(Q\) and another from \(P'\) to \(Q'\), both with run \(a\) and rise \(b\). So \(Q = (p_1 + a,\; p_2 + b)\) and \(Q' = (p'_1 + a,\; p'_2 + b)\). Slide the first arrow by \(h = p'_1 - p_1\) and \(k = p'_2 - p_2\). Its tail lands on \((p_1 + h,\; p_2 + k) = (p'_1, p'_2) = P'\). Its tip lands on
\[
\begin{aligned}
& (p_1 + a + h,\;\; p_2 + b + k) \\
&\quad = (p'_1 + a,\;\; p'_2 + b) = Q' .
\end{aligned}
\]
The first arrow has slid exactly onto the second. By Result 2 a slide keeps length and direction, so the two arrows represent the same vector.
The same vector gives the same run and rise. Let two arrows have the same length and direction. (If that length is 0, both have run 0 and rise 0.) Slide the first until its tail sits on the tail of the second. It now leaves the same point, in the same direction, and travels the same distance, so it ends at the same tip. The slid arrow is the second arrow. By Result 2 the slide did not change its run or rise, so the two arrows had the same run and rise all along.
Result 4: one arrow from the origin. Every vector has exactly one arrow whose tail is at the origin \((0, 0)\), and the tip of that arrow is the point \((\text{run}, \text{rise})\).
Why. Slide any arrow of the vector by \(h = -p_1\) and \(k = -p_2\). Its tail goes to \((0, 0)\) and its tip to \((q_1 - p_1,\; q_2 - p_2) = (\text{run}, \text{rise})\). There is no second such arrow: by Result 3 every arrow of this vector has the same run and rise, so if its tail is at the origin its tip can only be at \((\text{run}, \text{rise})\).
So a vector of the plane and a point of the plane carry the same information: two numbers. The next lesson starts from exactly this.
The zero vector. Suppose the tail and the tip are the same point. Then the run is 0, the rise is 0 and the length is \(\sqrt{0^2 + 0^2} = 0\). This is the zero vector, written \(\vect{0}\). It is the one vector with no direction, because an arrow of no length points nowhere. It answers the question “where did you end up, compared with where you began?” for someone who walked all the way round the block.
Go deeper: direction as a number
“Direction” can be pinned down by an angle. Let \(\theta\) be the angle from the positive horizontal direction round to the arrow, measured anticlockwise, with \(0^\circ \le \theta < 360^\circ\). Write \(L = \norm{\vect{v}}\) for the length. By the definitions of cosine and sine on a circle of radius \(L\),
\[
\begin{aligned}
\text{run} &= L \cos\theta, \\
\text{rise} &= L \sin\theta .
\end{aligned}
\]
So a length and an angle fix the run and the rise. Conversely, the run and the rise fix \(L\) by Result 1, and when \(L > 0\) they fix \(\cos\theta = \text{run}/L\) and \(\sin\theta = \text{rise}/L\), which is enough to fix one angle between \(0^\circ\) and \(360^\circ\). For the arrow of this lesson, \(\cos\theta = 4/5\) and \(\sin\theta = 3/5\), which gives \(\theta \approx 36.87^\circ\). This is Result 3 again, with the word “direction” replaced by a number.
A slide changes neither the run nor the rise, so it changes neither \(L\) nor \(\theta\). Multiplying the run and the rise by one positive number multiplies \(L\) by it too, so \(\cos\theta\), \(\sin\theta\) and \(\theta\) stay as they were. A negative number reverses both signs, which turns \(\theta\) through \(180^\circ\): the opposite direction.
Worked example
Which of the arrows \(\vect{b}\), \(\vect{c}\) and \(\vect{d}\) is the same vector as \(\vect{a}\)?
M02.1.1-F3
Four arrows and their triangles. Only \(\vect{b}\) has the same run and the same rise as \(\vect{a}\).
For each arrow, subtract tail from tip, then use Result 1.
\(\vect{b}\) has run 4 and rise 3, the same as \(\vect{a}\). It is the same vector, drawn elsewhere.
\(\vect{c}\) has the same length, 5, but its rise is \(-3\). It points down where \(\vect{a}\) points up. It is a different vector.
\(\vect{d}\) has run 2 and rise 1.5, each half of the matching number for \(\vect{a}\). Its triangle is a half-size copy, so it points the same way, but its length is 2.5. It is a different vector.
Last, where is the tip of \(\vect{a}\) when its tail is at the origin? By Result 4, at \((4, 3)\).
Code
First from scratch, with an arrow stored as a pair of points.
import mathdef run_rise(tail, tip):"""Tip minus tail: how far across and how far up the arrow goes."""return (tip[0] - tail[0], tip[1] - tail[1])def length(tail, tip): run, rise = run_rise(tail, tip)return math.sqrt(run **2+ rise **2)def same_vector(first, second):return run_rise(*first) == run_rise(*second)arrows = {"a": ((1, 1), (5, 4)),"b": ((-5, -1), (-1, 2)),"c": ((1, -1), (5, -4)),"d": ((-5, -4.5), (-3, -3)),}for name, arrow in arrows.items():print(name, run_rise(*arrow), length(*arrow), same_vector(arrow, arrows["a"]))
a (4, 3) 5.0 True
b (4, 3) 5.0 True
c (4, -3) 5.0 False
d (2, 1.5) 2.5 False
Now the same with NumPy, where “tip minus tail” is one subtraction and np.linalg.norm is the length. The last lines slide the arrow at random a thousand times and confirm Result 2.
import numpy as nptail, tip = np.array([1, 1]), np.array([5, 4])v = tip - tailprint("run and rise:", v, " length:", np.linalg.norm(v))print("direction in degrees:", round(float(np.degrees(np.arctan2(v[1], v[0]))), 2))rng = np.random.default_rng(0)slides = rng.integers(-100, 100, size=(1000, 2)) # a thousand random slides (h, k)unchanged =all(np.array_equal((tip + s) - (tail + s), v) for s in slides)print("run and rise survive every slide:", unchanged)
run and rise: [4 3] length: 5.0
direction in degrees: 36.87
run and rise survive every slide: True
This is the angle found in the “Go deeper” note above.
Explore
This module’s interactive, the vector playground, lives in lesson M02.1.3. There you drag two arrows and watch their coordinates and their sum update together.
Pitfalls
M02.1.1-F4
Wrong beside right. Equal lengths are not enough, and neither is lying along parallel lines. Two arrows are the same vector only when length and direction both agree.
“These two arrows are in different places, so they are different vectors.”
Position is not part of a vector. If the run and the rise agree, the arrows are the same vector, however far apart they are drawn. The thing that does have a position is a point. Lesson M02.1.2 compares the two.
“They have the same length, so they are the same vector.”
Length is half of the story. A wind of 20 kilometres an hour from the north and one of 20 kilometres an hour from the east are different winds. The same holds in machine learning: two training steps of the same size in different directions take a model to different places.
“An arrow and its reverse are the same vector, because they cover the same ground.”
The arrow from \((1, 1)\) to \((5, 4)\) has run 4 and rise 3. The arrow from \((5, 4)\) to \((1, 1)\) has run \(-4\) and rise \(-3\). The lengths agree and the directions are opposite, so the vectors are different. A vector is not a line segment: it knows which end is the tip.
“The zero vector is nothing, so it is not really a vector.”
It is a vector with length 0. Leaving it out would be like doing arithmetic without the number 0. Lesson M02.1.3 needs it as soon as a vector is added to its own reverse.
Check yourself
Recall
1. What two things make up a vector?
Show answer
A length and a direction.
2. What are the two ends of an arrow called?
Show answer
The tail, where it starts, and the tip, the pointed end where it finishes.
3. When do two arrows represent the same vector?
Show answer
When they have the same length and the same direction. On a grid, that is exactly when they have the same run and the same rise.
4. How do you find the run, the rise and the length of an arrow from \(P\) to \(Q\)?
Show answer
Subtract, tip minus tail: run \(= q_1 - p_1\) and rise \(= q_2 - p_2\). The length is \(\sqrt{\text{run}^2 + \text{rise}^2}\).
5. What is the zero vector, and what is unusual about it?
Show answer
The vector whose tail and tip coincide, written \(\vect{0}\). Its length is 0 and it is the only vector with no direction.
Exercises
1.★ An arrow has its tail at \((2, -1)\) and its tip at \((-4, 7)\). Find its run, its rise and its length.
2.★★ Arrow \(\vect{p}\) goes from \((0, 3)\) to \((5, 1)\), arrow \(\vect{q}\) from \((-2, -2)\) to \((3, -4)\) and arrow \(\vect{r}\) from \((4, 0)\) to \((-1, 2)\). Which of them are the same vector? Where is the tip of \(\vect{p}\) when its tail is at the origin?
\(\vect{p}\) and \(\vect{q}\) have the same run and rise, so they are the same vector. \(\vect{r}\) has the same length, \(\sqrt{25 + 4} = \sqrt{29}\), but both signs are reversed: it points the opposite way and is a different vector. With its tail at the origin, \(\vect{p}\) has its tip at \((5, -2)\).
3.★★★ Two arrows, from \(P\) to \(Q\) and from \(P'\) to \(Q'\), represent the same vector. Show that the arrow from \(P\) to \(P'\) and the arrow from \(Q\) to \(Q'\) also represent one vector.
Show solution
Let the shared run be \(a\) and the shared rise be \(b\), so \(Q = (p_1 + a,\; p_2 + b)\) and \(Q' = (p'_1 + a,\; p'_2 + b)\).
The arrow from \(P\) to \(P'\) has run \(p'_1 - p_1\) and rise \(p'_2 - p_2\). The arrow from \(Q\) to \(Q'\) has run \((p'_1 + a) - (p_1 + a) = p'_1 - p_1\) and rise \((p'_2 + b) - (p_2 + b) = p'_2 - p_2\). The runs agree and the rises agree, so by Result 3 the two arrows are the same vector.
In a picture: the four points are the corners of a parallelogram, and opposite sides of a parallelogram are equal vectors.
Summary card
A vector is a length and a direction. Where its arrow is drawn does not matter.
M02.1.1-F1
One vector, many arrows.
Tip minus tail. For an arrow from \(P\) to \(Q\): run \(= q_1 - p_1\), rise \(= q_2 - p_2\).
Same vector. Exactly when the runs agree and the rises agree.
From the origin. Each vector has one arrow with its tail at \((0, 0)\); its tip is \((\text{run}, \text{rise})\).
Zero vector.\(\vect{0}\) has length 0 and no direction.
Sources and next steps
Sources. Each was opened and checked against this lesson on 12 November 2026.
OpenStax, Calculus Volume 3, Section 2.1, Vectors in the Plane (open access). Defines a vector as a quantity with magnitude and direction, equivalent vectors, the zero vector, a standard-position vector, and the magnitude formula \(\sqrt{x^2 + y^2}\).
Sheldon Axler, Linear Algebra Done Right, 4th edition (open access), Section 1A. States that an arrow may be moved parallel to itself, without changing its length or direction, and still be thought of as the same vector.
Grant Sanderson, Vectors, what even are they?, 3Blue1Brown, Linear Algebra, chapter 1. What defines a vector is its length and the direction it points, and it can be moved around without changing.
Marc Peter Deisenroth, A. Aldo Faisal and Cheng Soon Ong, Mathematics for Machine Learning, Chapter 2 (free PDF). Its opening describes geometric vectors as directed segments, with a direction and a magnitude.