Skip to content

3. Vector-Scalar Multiplication

Updated
17 Sept 2026
3 min read
6 sections
Page 5 of 17
Master Linear Algebra with Python

Vector-Scalar Multiplication

Multiplying a vector by a single number is one of the most fundamental operations in linear algebra. Geometrically, it forms the basis of vector scaling, projections, and the concept of linear span. In this lesson, we will explore the standard terminology of linear algebra and dive into the algebraic and geometric interpretations of vector-scalar multiplication.


1. Linear Algebra Terminology

Before we multiply vectors and scalars, let's establish a clear vocabulary. In linear algebra, there are three primary objects we deal with, each with its own strict symbol and naming conventions:

  1. Matrix: A two-dimensional grid of numbers (rows and columns).
  • Notation: Capital boldface Latin letters (e.g., A,M,C\mathbf{A}, \mathbf{M}, \mathbf{C}).
  1. Vector: A one-dimensional ordered list of numbers.
    • Notation: Lowercase boldface Latin letters (e.g., v,u,w\mathbf{v}, \mathbf{u}, \mathbf{w}).
  2. Scalar: A single, standalone number.
    • Notation: Lowercase, non-boldface Greek letters (e.g., α,β,λ\alpha, \beta, \lambda).
Mathematical ObjectCommon NameStandard Notation SymbolExample Representation
MatrixMatrixA\mathbf{A}, M\mathbf{M}, C\mathbf{C} (Capital Boldface Latin)[−102801441491]\begin{bmatrix} -1 & 0 & 2 & 8 \\ 0 & 1 & 4 & 4 \\ 1 & 4 & 9 & 1 \end{bmatrix}
VectorVectorv\mathbf{v}, u\mathbf{u}, w\mathbf{w} (Lowercase Boldface Latin)[−101]\begin{bmatrix} -1 \\ 0 \\ 1 \end{bmatrix}
ScalarScalarα\alpha, β\beta, λ\lambda (Lowercase Light Greek)$7$

2. The Algebraic Interpretation

Algebraically, multiplying a vector by a scalar means multiplying every individual element of the vector by that scalar.

λv=λ[v1v2⋮vn]=[λv1λv2⋮λvn]\lambda \mathbf{v} = \lambda \begin{bmatrix} v_1 \\ v_2 \\ \vdots \\ v_n \end{bmatrix} = \begin{bmatrix} \lambda v_1 \\ \lambda v_2 \\ \vdots \\ \lambda v_n \end{bmatrix}

Numerical Example (3D Vector)

Let's scale the 3D column vector v=[−101]\mathbf{v} = \begin{bmatrix} -1 \\ 0 \\ 1 \end{bmatrix} by a scalar λ=7\lambda = 7:

7[−101]=[7×(−1)7×07×1]=[−707]7 \begin{bmatrix} -1 \\ 0 \\ 1 \end{bmatrix} = \begin{bmatrix} 7 \times (-1) \\ 7 \times 0 \\ 7 \times 1 \end{bmatrix} = \begin{bmatrix} -7 \\ 0 \\ 7 \end{bmatrix}

3. The Geometric Interpretation

Geometrically, multiplying a vector by a scalar scales (stretches or shrinks) the magnitude of the vector without rotating it off its axis. This scaling effect is exactly why a single number is called a scalar!

Depending on the value of the scalar λ\lambda, we observe three distinct geometric behaviors (excluding λ=0\lambda=0 and λ=1\lambda=1):

  1. Stretching (λ>1\lambda > 1): The scaled vector points in the same direction and grows longer.
  2. Shrinking (λ∈(0,1)\lambda \in (0, 1)): The scaled vector points in the same direction and grows shorter.
  3. Direction Reversal (λ<0\lambda < 0): The scaled vector spins around to point in the exact opposite direction (180∘180^\circ rotation) while being stretched or shrunk by the absolute value ∣λ∣|\lambda|.
Vector-scalar multiplication geometry
Vector-scalar multiplication geometry

4. The Concept of a 1D Subspace

At first glance, a negative scalar (λ<0\lambda < 0) appears to alter the vector's direction. While true in a colloquial sense, in linear algebra we think of this in terms of subspaces:

💡 Linear Subspaces: The vector v\mathbf{v} and all of its scaled versions (λv\lambda \mathbf{v}) lie on the exact same one-dimensional subspace—an infinitely long straight line passing through the origin.
Because a negative scalar merely slides the vector's head to the opposite half of this infinite line, it has not altered the spatial line (axis) upon which the vector resides. Thus, all scaled versions of a vector share a deep, fundamental relationship.

5. Python Implementation

Here is how to implement vector-scalar multiplication in NumPy and plot the original and scaled vectors in Matplotlib:

python
import numpy as np
import matplotlib.pyplot as plt

# Define a 2D vector and a scalar multiplier
v1 = np.array([ 3, -1 ])
λ  = 2.3

# Scalar multiplication (vector-scalar modulation)
v1_scaled = v1 * λ

# Plot the vectors
plt.plot([0, v1[0]], [0, v1[1]], 'b', linewidth=3, label='$v_1$')
plt.plot([0, v1_scaled[0]], [0, v1_scaled[1]], 'r:', linewidth=3, label='$\lambda v_1$')

plt.legend()
plt.axis('square')

# Dynamically compute axes boundaries
axlim = max([max(abs(v1)), max(abs(v1_scaled))]) * 1.5
plt.axis((-axlim, axlim, -axlim, axlim))

plt.grid()
plt.show()
Out · plot
Output 1

Key Takeaways

  • Element-wise Scaling: Algebraically, the scalar scales each component of the vector individually.
  • Magnitude Modulation: Geometrically, scalars stretch or shrink a vector's length.
  • Negative Scaling: A negative scalar reverses the vector's heading (180∘180^\circ flip).
  • Subspace Alignment: All scaled variants of a vector are collinear, residing on the same 1D subspace passing through the origin.