Monday, November 3, 2025

Vector Algebra with NumPy: Pre-Read Notes

 Vector Algebra with NumPy: Pre-Read Notes

Prerequisites: Basic understanding of Python syntax and lists. No prior math background required—everything will be explained simply!


What You'll Gain from This Pre-Read

After reading, you'll be able to:

  • Understand what vectors are and why they’re important in data science and AI.
  • Perform simple vector operations like addition, subtraction, and scalar multiplication using NumPy.
  • Grasp how NumPy makes complex vector math fast and easy.
  • See how vectors are used in real-world problems—from recommendations to computer graphics.

Think of this as: Learning how computers “think in directions.” You’ll see how simple arrays become powerful tools for handling real-world data.


What This Pre-Read Covers

This pre-read will:

  • Introduce you to the concept of vectors and their role in data representation.
  • Explain basic vector operations such as addition, subtraction, and dot products.
  • Show how NumPy simplifies mathematical computations with arrays.
  • Use visuals and examples to connect abstract math with everyday experiences.

Part 1: The Big Picture — Why Does This Matter?

Imagine trying to describe how you move around a city. You might say: “Go 3 km east, then 4 km north.”

That’s exactly what a vector does—it represents direction and magnitude.

In the real world, vectors appear everywhere:

In programming and data science, vectors help represent data efficiently and perform mathematical operations that computers can understand.

Where You’ll Use This

Job roles:

Real products:

  • Netflix uses vectors to represent user preferences and recommend shows.
  • Spotify maps songs into vector spaces to find similar tracks.
  • Google Maps uses vectors for distance and route calculations.

What you can build:

  • Create machine learning models that classify or predict outcomes.
  • Visualize motion, direction, and spatial data.
  • Implement recommender systems based on similarity between vectors.

Think of it like this:

A vector is like a shopping list—each item (component) and its quantity matters.

When you add two lists, you’re just combining quantities.

The analogy works for understanding addition, but breaks when we consider direction, which vectors also carry.


Part 2: Your Roadmap Through This Topic

Here’s what we’ll explore together:

1. Vector Arithmetic

You’ll discover how to add, subtract, and scale vectors using NumPy. We’ll start from basic list operations and evolve to efficient NumPy arrays.

2. Dot Product

You’ll learn how to compute the dot product—an operation that measures how similar or “aligned” two vectors are.

3. Array Creation

We’ll explore how to create arrays in NumPy, the foundation for representing vectors and matrices efficiently.

4. Broadcasting

You’ll understand how NumPy automatically matches shapes when performing operations on arrays of different sizes.

5. Visualizing Vectors

You’ll see how to plot and interpret vectors graphically, making math feel visual and intuitive.

The journey:

We’ll start with what vectors are, learn how to compute with them, and end with how they power visualization and machine learning applications.


Part 3: Key Terms to Listen For

Vector

A quantity that has both direction and magnitude.

Example: A car moving 60 km/h north is represented as a vector.


Array

A structured way to store numerical data in Python, made efficient by NumPy.

Think of it as: A digital grid for holding and manipulating numbers.


Dot Product

A special multiplication of two vectors that gives a single number measuring similarity or projection.

In practice: Used in machine learning to measure how “aligned” two sets of features are.


Broadcasting

The way NumPy automatically adjusts array shapes to perform operations without needing explicit loops.

Example: Adding a single number to an entire array instantly.


Magnitude

The length of a vector—how “long” or “strong” it is.

Example: The speed of a moving object, regardless of direction.


💡 Key Insight:

All these terms connect through one idea—vectors represent data compactly, and NumPy lets us manipulate them efficiently and intuitively.


Part 4: Concepts in Action

Seeing Vector Arithmetic in Action

The scenario:

You want to calculate the movement of an object based on velocity and displacement vectors.

Our approach:

We’ll use NumPy arrays to represent the vectors and perform operations like addition and subtraction.

The code:

import numpy as np

 

# Step 1: Define two vectors

velocity = np.array([3, 4])

displacement = np.array([1, 2])

 

# Step 2: Add vectors (total movement)

total = velocity + displacement

 

# Step 3: Scale a vector (double the speed)

faster = 2 * velocity

 

print("Total Movement:", total)

print("Faster Velocity:", faster)

 

What’s happening here:

We created two vectors and used NumPy’s arithmetic to add and scale them—no loops, just direct math operations.

The output/result:

Total Movement: [4 6]

Faster Velocity: [6 8]

 

Key takeaway:

Vector arithmetic in NumPy mirrors real-world math but is optimized for performance and readability.


Seeing Dot Product in Action

The scenario:

You’re comparing two product recommendation vectors to see how similar they are.

Our approach:

Use NumPy’s dot() function to calculate the dot product between two vectors.

The code:

import numpy as np

 

user_pref = np.array([2, 3, 4])

product_features = np.array([1, 0, 5])

 

similarity = np.dot(user_pref, product_features)

print("Dot Product (Similarity Score):", similarity)

 

What’s happening here:

The dot product multiplies corresponding elements and sums them up to give a single similarity score.

The output/result:

Dot Product (Similarity Score): 22

 

Key takeaway:

The higher the dot product, the more similar two vectors (or entities) are in direction.

⚠️ Common Misconception:

Some learners think the dot product gives a new vector—it doesn’t. It produces a single scalar value.


Seeing Broadcasting in Action

The scenario:

You want to increase every element in a data array by a constant offset (say, sensor calibration).

Our approach:

Use broadcasting to add a scalar to a NumPy array directly.

The code:

import numpy as np

 

data = np.array([10, 20, 30])

calibrated = data + 5

print("Calibrated Data:", calibrated)

 

What’s happening here:

NumPy “broadcasts” the scalar 5 across all elements of the array.

The output/result:

Calibrated Data: [15 25 35]

 

Key takeaway:

Broadcasting saves time and removes the need for loops when performing repetitive operations on arrays.


Seeing Vector Visualization in Action

The scenario:

You want to visualize two vectors to understand their direction and relationship.

Our approach:

Use matplotlib’s quiver() function to draw arrows representing vectors.

The code:

import numpy as np

import matplotlib.pyplot as plt

 

# Step 1: Define vectors

v1 = np.array([2, 3])

v2 = np.array([4, 1])

 

# Step 2: Plot the vectors

plt.quiver(0, 0, v1[0], v1[1], angles='xy', scale_units='xy', scale=1, color='r', label='v1')

plt.quiver(0, 0, v2[0], v2[1], angles='xy', scale_units='xy', scale=1, color='b', label='v2')

 

plt.xlim(0, 5)

plt.ylim(0, 5)

plt.grid()

plt.legend()

plt.show()

 

The output/result:

Two arrows appear — showing direction and relative magnitude of v1 and v2.

Key takeaway:

Visualization builds geometric intuition about how vectors behave and relate to each other.


Part 5: Bringing It All Together

Vectors in Machine Learning

Vectors in Computer Graphics

  • Every pixel, motion, and rotation in games and simulations uses vector math.
  • Similar users or items are found by comparing their vector representations using dot products or cosine similarity.

In short: Vectors are everywhere—from how Netflix suggests movies to how self-driving cars navigate roads.


Part 6: Key Takeaways

Concept

What It Means

Why It Matters

Vector

Direction + magnitude

Represents real-world data in numbers

Array

NumPy data structure

Enables fast, efficient math

Dot Product

Measures similarity

Foundation for ML models

Broadcasting

Automatic shape alignment

Simplifies code

Visualization

Plotting vectors

Makes abstract math tangible


💬 Summary Thought:

Understanding vectors means understanding data at its core. With NumPy, you’re not just doing math—you’re preparing to work with the building blocks of machine learning, physics, and 3D graphics.


 By the end of this pre-read, you should be able to:

  • Explain what vectors represent in simple terms.
  • Perform vector arithmetic using NumPy.
  • Understand and visualize how vectors describe direction, similarity, and magnitude.
  • Recognize how this concept underpins most data-driven technologies today.

Next Steps

• Practice vector operations:

Try adding, subtracting, and finding dot products between different NumPy arrays to build fluency.

• Visualize your work: Use matplotlib to plot vectors in 2D—seeing direction and magnitude reinforces understanding.

• Explore real-world use cases: Apply vector concepts to small ML tasks, like computing cosine similarity or normalizing data for model inputs.

 

Lecture Notes: Optimising Numerical Code

Lecture Notes: Optimising Numerical Code Prerequisites: Basic Python programming Understanding of NumPy arrays and vector ...