Vectors and Vector Spaces: An Axiomatic Approach
In modern mathematics, a vector is not merely a directed line segment but an element of an algebraic structure called a Vector Space. This lesson develops the theory of finite and infinite-dimensional vector spaces, focusing on the structural properties that define linear algebra.
1. Formal Axioms of Vector Spaces
Let be a field (typically or ). A Vector Space over is a set equipped with two operations: binary addition and scalar multiplication , satisfying the following eight axioms for all and :
- Additive Commutativity: .
- Additive Associativity: .
- Additive Identity: There exists an element such that .
- Additive Inverse: For every , there exists such that .
- Multiplicative Identity: , where is the multiplicative identity of .
- Compatibility of Scalar Multiplication: .
- Distributivity over Vector Addition: .
- Distributivity over Scalar Addition: .
These axioms imply that is an abelian group under addition and that scalar multiplication behaves linearly.
2. Linear Independence and the Steinitz Exchange Lemma
A set of vectors is linearly independent if the only solution to is for all . If a set is not linearly independent, it is linearly dependent.
The Steinitz Exchange Lemma
This fundamental lemma provides the backbone for the theory of dimension. Statement: Let be a linearly independent set of vectors in a vector space , and let be a spanning set for . Then:
- .
- There exists a subset of the spanning set of size which, when added to the independent set, still spans .
Implication: Every basis of a finite-dimensional vector space must have the same number of elements.
3. Basis and Dimension
A Basis for is a linearly independent set that spans . The Dimension of , denoted , is defined as the cardinality of its basis.
Invariance of Dimension: By the Steinitz Lemma, any two bases of have the same cardinality.
- If , then any linearly independent vectors form a basis.
- Any spanning set with vectors is a basis.
- A subspace satisfies , with equality if and only if .
4. Subspaces, Quotients, and Isomorphism
A subset is a subspace if and is closed under addition and scalar multiplication.
Quotient Spaces
Given a subspace , the Quotient Space is the set of cosets . Addition and multiplication are defined as:
The dimension of the quotient space is given by the formula:
The First Isomorphism Theorem
Let be a linear transformation. Then: This relates the structure of the domain, the kernel (null space), and the image (range).
5. Direct Sums and Projections
A vector space is the Direct Sum of two subspaces and , denoted , if every can be uniquely written as with and . This occurs if and only if and .
A Projection is a linear operator such that . Every projection defines a direct sum decomposition .
6. The Dual Space
For a vector space over , the Dual Space is the set of all linear functionals . If has a basis , the Dual Basis is defined such that: where is the Kronecker delta. Note that in finite dimensions, but is only naturally isomorphic to its double-dual .
7. Change of Basis and Transition Operators
Consider two bases for : and . Any vector has coordinates and . The Transition Matrix (or ) is defined such that: The -th column of is .
8. Infinite Dimensional Spaces
In infinite dimensions, the concept of a basis becomes more subtle:
- Hamel Basis: A set such that every vector is a finite linear combination of basis elements. Using the Axiom of Choice (Zorn’s Lemma), every vector space has a Hamel basis.
- Schauder Basis: In a normed vector space, a sequence such that every vector has a unique representation as a convergent infinite series . This requires a topology.
Python Implementation: Rank and Change of Basis
We use numpy for numerical rank computation and sympy for exact symbolic basis transformations.
import numpy as np
import sympy as sp
# 1. Linear Independence check using NumPy
def check_linear_independence(vectors):
matrix = np.array(vectors)
rank = np.linalg.matrix_rank(matrix)
is_independent = rank == len(vectors)
return rank, is_independent
vecs = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # Dependent: 3rd = 2*2nd - 1st
rank, independent = check_linear_independence(vecs)
print(f"Rank: {rank}, Independent: {independent}")
# 2. Symbolic Change of Basis using SymPy
# Define Basis B (standard) and Basis C
B = sp.eye(3)
C = sp.Matrix([[1, 1, 0], [1, 0, 1], [0, 1, 1]])
# Transition Matrix from B to C is C^-1 * B
P_B_to_C = C.inv()
v_B = sp.Matrix([1, 2, 3])
v_C = P_B_to_C * v_B
print(f"Coordinates in Basis C: {v_C}")