Lab 3.3

Solving Non-invertible Systems

Focus
test reachability → describe every solution
Notebook
Ch3-3 Solving Non-invertible Linear System.ipynb

Lab goal

Decide whether Ax = b is consistent, then express every solution as one particular solution plus a null-space direction.

Lecture-note concepts
  • Column space
  • Rank
  • Consistency
  • Particular and homogeneous solutions

Code extensionThe full notebook packages elimination and solution construction into a reusable function for larger systems.

Key ideas

Terms you will use

Column spaceAx = b is solvable exactly when b ∈ Col(A)

The column space contains every output that can be produced by some input x.

Consistency testrank(A) = rank([A | b])

Adding b as a new column must not create an additional independent direction.

Solution familyx = xₚ + tn, where An = 0

One solution reaches b; any null-space direction can then be added without changing that output.

Lab 3.3 · Guided example

See which targets a singular matrix can reach

Use one rank-one matrix and two nearby targets so reachability, contradiction, and non-uniqueness are all visible.

Select a line to see its action, array shape, and concrete operation.

Simplified fromCh3-3 Solving Non-invertible Linear System.ipynbThe full source builds a general solver; this deterministic example keeps the rank-deficient structure visible from start to finish.

Line 1: import numpy as np
L01 / 17Place two targets beside the column space
Predict

Which target lies exactly on the blue column-space line?

Before

A collapses the input plane onto one output line

The second column is twice the first, so both columns point along the same direction.

Col(A) = span([1,2]ᵀ) · rank(A) = 1

A · dependent columns

After
?

Reveal to compare.

SOURCETARGETNEWINACTIVE
A.shapenot stored Two input and two output coordinates.
rank(A)not stored Only one independent output direction.

Continue in Python

Run the complete notebook in Colab

Run the original code and change the inputs.