Visual Tools
Calculators
Tables
Mathematical Keyboard
Converters
Other Tools


Basis of Vector Space






The Abstract Structure Behind Linear Algebra

A vector space is any collection of objects where addition and scalar multiplication obey a consistent set of rules. The concept of a basis — a minimal set of vectors from which every other vector can be built uniquely — is the central organizing idea. Choosing a basis assigns coordinates to every vector, connects abstract spaces to concrete computation in Rⁿ, and determines the dimension that classifies the space up to isomorphism.



What a Vector Space Is

Vectors in Rn\mathbb{R}^n can be added and scaled. So can polynomials, matrices, and continuous functions. A vector space is the formal name for any collection of objects where these two operations — addition and scalar multiplication — satisfy ten algebraic axioms: closure, commutativity, associativity, the existence of a zero element, additive inverses, and the expected distributive and identity laws for scalars.

The objects in a vector space are called vectors regardless of whether they look like arrows, columns of numbers, polynomials, or functions. The power of the abstraction is that every theorem proved from the axioms alone applies to every vector space simultaneously. Linear independence, span, basis, dimension, and subspaces are all defined from the axioms, and their properties carry over to any setting where the axioms hold.

Basis: Definition

A basis for a vector space VV is a set of vectors B={v1,v2,,vn}\mathcal{B} = \{\mathbf{v}_1, \mathbf{v}_2, \dots, \mathbf{v}_n\} that satisfies two conditions simultaneously:

Basis Definition
B={v1,,vn} is a basis for V    {B is linearly independentSpan(B)=V\mathcal{B} = \{\mathbf{v}_1, \ldots, \mathbf{v}_n\} \text{ is a basis for } V \iff \begin{cases} \mathcal{B} \text{ is linearly independent} \\ \text{Span}(\mathcal{B}) = V \end{cases}
Learn more about this formula: Basis Definition →


The set is linearly independent: no vector in the set can be written as a linear combination of the others. Equivalently, the only combination c1v1+c2v2++cnvn=0c_1\mathbf{v}_1 + c_2\mathbf{v}_2 + \cdots + c_n\mathbf{v}_n = \mathbf{0} is the trivial one with all scalars equal to zero.

The set spans VV: every vector in VV can be expressed as some linear combination of v1,,vn\mathbf{v}_1, \dots, \mathbf{v}_n.

Independence means no vector in the basis is wasted. Spanning means no vector in VV is out of reach. A basis is a minimal spanning set — remove any element and the span shrinks. It is also a maximal independent set — add any vector from VV and independence breaks. These two characterizations are equivalent and place the basis at the exact boundary between "too few" and "too many."
φabspan = ℝ²
Two independent vectors spanning R²

These two arrows do both jobs a basis has to do at once: they are independent, so neither is wasted, and they span, so nothing is missing. Adding a third vector would keep the spanning but destroy the independence; removing one would keep the independence but lose the spanning. A basis is exactly the balance point. Test that by adding and removing directions on the span and independence explorer.

Independence and spanning are therefore not two separate requirements to check but two ways the same set can fail.

Basis and Coordinate Notation

Notation

Basis and Coordinate Notation

A script letter for the collection, brackets that ask “in which coordinates?”, and a subscript arrow engineered to cancel like dominoes.
Span\text{Span} and {}\{\ldots\}span notation; ei\mathbf{e}_inorm notation; matrices and B1B^{-1}matrix and inverse notation.
B\mathcal{B} vs BB
Script B, the basis; roman B, the matrix
Calligraphic letters name collections: B\mathcal{B} is the set of basis vectors, while roman BB is the matrix whose columns they become — and the Coordinates section below legitimately uses both in one computation (c=B1v\mathbf{c} = B^{-1}\mathbf{v} for coordinates relative to B\mathcal{B}).
CasesThe script convention extends across the subject: Pn\mathcal{P}_n for the polynomial space, C\mathcal{C} for a second basis — collections and spaces get the fancy typeface, their matrix incarnations the plain one.
Also writtenPlain B={v1,}B = \{\mathbf{v}_1, \ldots\} in texts without calligraphic fonts — workable until a basis and its matrix share a page, which is exactly when the distinction earns its ink.
Do not confuseOne object. The set and the matrix carry the same data but different species — a set has members, a matrix has products; conflating them writes Bc\mathcal{B}\mathbf{c}, which multiplies nothing.
[v]B[\mathbf{v}]_{\mathcal{B}}
The coordinate vector of v, relative to B
The brackets ask “in which coordinates?” and the subscript answers. Defined in Coordinates below: the column of scalars expressing v\mathbf{v} in the basis B\mathcal{B}. Same vector, different subscript, different numbers — the notation makes basis-dependence impossible to forget.
CasesIn the standard basis the machinery collapses: [v]E=v[\mathbf{v}]_{\mathcal{E}} = \mathbf{v} — the coordinates are the components, which is why the subscript is usually dropped there and only there.
Also written(v)B(\mathbf{v})_{\mathcal{B}} with parentheses, or vB\mathbf{v}_{\mathcal{B}} bare in terse texts — the bracket form dominates because it survives expressions: [T(v)]B[T(\mathbf{v})]_{\mathcal{B}} parses cleanly.
Do not confuseThe vector itself. v\mathbf{v} lives in VV; [v]B[\mathbf{v}]_{\mathcal{B}} lives in Rn\mathbb{R}^n — a description of v\mathbf{v}, not v\mathbf{v}. The gap between object and description is the entire content of coordinate isomorphism.
PCBP_{\mathcal{C} \leftarrow \mathcal{B}}
The change-of-basis matrix, from B to C
The subscript reads right to left — from B\mathcal{B}, toward C\mathcal{C} — because the notation is engineered for the equation it lives in: in [v]C=PCB[v]B[\mathbf{v}]_{\mathcal{C}} = P_{\mathcal{C} \leftarrow \mathcal{B}}[\mathbf{v}]_{\mathcal{B}} of Change of Basis below, adjacent basis letters touch and match.
CasesThe design pays off in chains: PDCPCB=PDBP_{\mathcal{D} \leftarrow \mathcal{C}}\,P_{\mathcal{C} \leftarrow \mathcal{B}} = P_{\mathcal{D} \leftarrow \mathcal{B}} — inner letters cancel like dominoes — and reversal is the inverse: PBC=PCB1P_{\mathcal{B} \leftarrow \mathcal{C}} = P_{\mathcal{C} \leftarrow \mathcal{B}}^{-1}.
Also writtenPBCP_{\mathcal{B} \to \mathcal{C}} with a forward arrow in some texts — same matrix, arrow flipped; check each book's convention before trusting the direction.
Do not confuseReading left to right. The arrow's tail names the input coordinates — reading it as “from C\mathcal{C}” applies the matrix backwards, and the mistake is self-concealing because the product still computes.

Unique Representation

If B={v1,,vn}\mathcal{B} = \{\mathbf{v}_1, \dots, \mathbf{v}_n\} is a basis for VV, every vector vV\mathbf{v} \in V has a unique representation as a linear combination of basis vectors:

Unique Basis Representation
vV, !(c1,,cn):v=c1v1+c2v2++cnvn\forall\, \mathbf{v} \in V,\ \exists!\, (c_1, \ldots, c_n): \mathbf{v} = c_1\mathbf{v}_1 + c_2\mathbf{v}_2 + \cdots + c_n\mathbf{v}_n
Learn more about this formula: Unique Basis Representation →


Existence is guaranteed by the spanning condition — every vector is reachable. Uniqueness is guaranteed by independence: if two different sets of scalars both produced v\mathbf{v}, subtracting one from the other would give a nontrivial combination equal to 0\mathbf{0}, contradicting independence.

This uniqueness is what separates a basis from an arbitrary spanning set. A spanning set that is not independent can represent some vectors in multiple ways — the representation is ambiguous. A basis eliminates all ambiguity: every vector has exactly one set of coefficients.

Coordinates

The scalars c1,c2,,cnc_1, c_2, \dots, c_n in the unique representation v=c1v1++cnvn\mathbf{v} = c_1\mathbf{v}_1 + \cdots + c_n\mathbf{v}_n are called the coordinates of v\mathbf{v} relative to the basis B\mathcal{B}. They are collected into a coordinate vector:

Coordinate Vector
[v]B=(c1c2cn)where v=c1v1++cnvn[\mathbf{v}]_\mathcal{B} = \begin{pmatrix} c_1 \\ c_2 \\ \vdots \\ c_n \end{pmatrix} \quad \text{where } \mathbf{v} = c_1\mathbf{v}_1 + \cdots + c_n\mathbf{v}_n
Learn more about this formula: Coordinate Vector →


Coordinates depend entirely on the choice of basis. The same vector v\mathbf{v} has different coordinates in different bases — the vector does not change, but its numerical description does.

To find the coordinates of v\mathbf{v} relative to B\mathcal{B}, solve the linear system c1v1++cnvn=vc_1\mathbf{v}_1 + \cdots + c_n\mathbf{v}_n = \mathbf{v}. If the basis vectors are columns of a matrix BB, this is the system Bc=vB\mathbf{c} = \mathbf{v}, and the coordinate vector is c=B1v\mathbf{c} = B^{-1}\mathbf{v} when BB is invertible. For the standard basis, B=IB = I, so the coordinates are simply the components of v\mathbf{v} itself.
b₁b₂v
The same point, read against a skewed basis

The grid has been redrawn along the two basis vectors, and the point's coordinates are read by counting steps along that grid rather than along the axes. The point never moved; only the ruler changed. This is why coordinates belong to a basis and not to a vector, and why the same arrow carries different numbers in different bases. Swap bases and watch the numbers change on the change of basis explorer.

Because the representation is unique, these coordinates are a genuine address for the vector rather than one description among many.

The Standard Basis for Rⁿ

The most familiar basis for Rn\mathbb{R}^n is the standard basis {e1,e2,,en}\{\mathbf{e}_1, \mathbf{e}_2, \dots, \mathbf{e}_n\}, where ei\mathbf{e}_i has a 11 in position ii and zeros elsewhere:

Standard Basis (Rn)
ei=(0,,0,1i-th,0,,0),i=1,,n\mathbf{e}_i = (0, \ldots, 0, \underset{i\text{-th}}{1}, 0, \ldots, 0), \quad i = 1, \ldots, n
Learn more about this formula: Standard Basis (Rn) →


Independence is immediate — each vector has a 11 in a position where all others have 00, so no vector is a combination of the rest. Spanning follows from the fact that any vector (v1,,vn)=v1e1++vnen(v_1, \dots, v_n) = v_1\mathbf{e}_1 + \cdots + v_n\mathbf{e}_n.

The standard basis has a special property: coordinates relative to it are just the components of the vector. For any other basis, finding coordinates requires solving a system. This is why the standard basis is the default — but it is one choice among infinitely many, and other bases are often better suited to particular problems.

Other Standard Bases

Every vector space encountered in practice comes with a natural default basis.

The polynomial space Pn\mathcal{P}_n of polynomials with degree at most nn has the monomial basis {1,x,x2,,xn}\{1, x, x^2, \dots, x^n\}, consisting of n+1n + 1 elements. Every polynomial a0+a1x++anxna_0 + a_1 x + \cdots + a_n x^n is a linear combination of these monomials, and the coefficients are unique (a polynomial is determined by its coefficients). The coordinates of a polynomial relative to the monomial basis are its coefficients.

The matrix space Rm×n\mathbb{R}^{m \times n} has the matrix unit basis {Eij}\{E_{ij}\}, where EijE_{ij} has a 11 in position (i,j)(i,j) and zeros elsewhere. There are mnmn such matrices, and every m×nm \times n matrix is a unique linear combination of them. The coordinates of a matrix are its entries.

These are all "standard" bases in the sense that they are the most natural first choice. But many problems benefit from non-standard bases: eigenvector bases simplify matrix powers and differential equations, orthonormal bases simplify projections and least squares, and Fourier bases decompose periodic signals into frequency components. Choosing the right basis is often the key step in solving a problem.
The three spaces below are the ones worth having memorised, but the reason to compare them side by side is not the bases themselves — it is what a coordinate vector turns out to contain in each case. In Rn\mathbb{R}^n the coordinates are the components, so nothing seems to have happened. In the polynomial and matrix spaces the coordinates are the coefficients and the entries, and the coordinate vector is visibly a different object from the thing it describes.
Vector spaces · standard bases

The default basis of each space

Every space met in practice comes with a natural first choice. The column worth reading is the last one — what a coordinate vector actually contains changes from space to space, even though the definition never does.

4spaces
Coordinate spaces1
1
dim=n\dim = n — coordinates are the components
{e1,e2,,en}\{\mathbf{e}_1, \mathbf{e}_2, \ldots, \mathbf{e}_n\}
Each ei\mathbf{e}_i has a single 11 in position ii. This is the basis where the distinction between a vector and its coordinate vector collapses — they are the same tuple — which is exactly why it hides what coordinates are and why the spaces below are worth stating separately.
Function and matrix spaces2
2
Polynomials of degree ≤ n
dim=n+1\dim = n + 1 — coordinates are the coefficients
{1,x,x2,,xn}\{1, x, x^2, \ldots, x^n\}
The monomial basis. A polynomial is determined by its coefficients, so a0+a1x++anxna_0 + a_1x + \cdots + a_nx^n has coordinate vector (a0,,an)(a_0, \ldots, a_n). Note the count: the constant term is a basis direction, so degree 2\leq 2 gives dimension 33.
3
Real m × n matrices
dim=mn\dim = mn — coordinates are the entries
{Eij}\{E_{ij}\}, one per entry position
Each EijE_{ij} carries a single 11 at (i,j)(i,j). Every matrix is a unique combination of them, so the coordinate vector is the matrix read out entry by entry — the shape is a presentation choice, not extra structure.
What makes any of them work1
4
the cic_i are unique
v=c1b1++cnbn\mathbf{v} = c_1\mathbf{b}_1 + \cdots + c_n\mathbf{b}_n
Independence gives uniqueness and spanning gives existence, so every vector has exactly one coordinate vector. Without both halves the coordinate map is not a function — which is what a basis buys and a mere spanning set does not.
These are standard only in the sense of being the obvious first choice. Many problems are easier in a different basis: an eigenvector basis makes matrix powers trivial, an orthonormal basis makes projection a dot product, and a Fourier basis turns a signal into frequencies. Choosing the basis is often the whole of solving the problem.
The default basis of each space·/linear-algebra/vector-spaces/basisLearn Math Class
That difference is the whole content of coordinates. A basis does not describe a space so much as supply a dictionary between it and Rn\mathbb{R}^n, and the standard basis for Rn\mathbb{R}^n is the degenerate case where the dictionary is the identity. Working in P3\mathcal{P}_3 or R2×2\mathbb{R}^{2 \times 2} makes the translation visible, and both are four-dimensional — so both have the same coordinate space, despite one being polynomials and the other matrices.
Two spaces sharing a dimension share a coordinate space, and that is what isomorphism means: a polynomial of degree at most three and a 2×22 \times 2 matrix carry the same information, differently arranged. Anything provable from the axioms alone holds for both, which is why the finite-dimensional theory is stated once rather than once per kind of object.

Finding a Basis for a Subspace

The three subspaces associated with a matrix each have a basis that can be extracted from row reduction.

For the column space of an m×nm \times n matrix AA: row reduce AA and identify the pivot columns. The corresponding columns of the original matrix AA — not the echelon form — are a basis for Col(A)\text{Col}(A). The echelon form reveals which columns are independent, but the original columns are the actual vectors spanning the column space.

For the null space: solve Ax=0A\mathbf{x} = \mathbf{0} by reducing to RREF and expressing the general solution in terms of free variables. Each free variable contributes one basis vector.

For the row space: the nonzero rows of the echelon form are a basis. Unlike the column space, the echelon form's rows — not the original rows — are used, because row operations change individual rows but preserve their span.

Worked Example


For A=(120124133614)A = \begin{pmatrix} 1 & 2 & 0 & 1 \\ 2 & 4 & 1 & 3 \\ 3 & 6 & 1 & 4 \end{pmatrix}, row reduction gives (120100110000)\begin{pmatrix} 1 & 2 & 0 & 1 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 0 \end{pmatrix}. Pivots are in columns 11 and 33. The column space basis is {(1,2,3),(0,1,1)}\{(1, 2, 3), (0, 1, 1)\} — the first and third columns of the original AA. The row space basis is {(1,2,0,1),(0,0,1,1)}\{(1, 2, 0, 1), (0, 0, 1, 1)\}. The null space has two free variables (columns 22 and 44), and solving yields a two-dimensional null space.

Extending and Reducing to a Basis

Two fundamental operations guarantee that bases always exist in finite-dimensional spaces.

Extension: any linearly independent set can be grown into a basis by adding vectors one at a time. At each step, pick any vector not in the current span and adjoin it. Independence is preserved because the new vector is not a combination of the existing ones. The process stops when the span reaches all of VV.

Reduction: any spanning set can be trimmed into a basis by removing redundant vectors. A vector is redundant if it lies in the span of the remaining vectors. Remove redundant vectors one at a time until what remains is independent. The span does not shrink, because each removed vector was already expressible in terms of the others.

Both processes terminate because dimension is finite — the independent set cannot grow past nn vectors, and the spanning set cannot shrink below nn vectors, where n=dim(V)n = \dim(V). This means every finite-dimensional vector space has a basis, and the choice of basis is highly flexible.

Change of Basis

Different bases assign different coordinates to the same vector. The change-of-basis matrix converts between them.

If B\mathcal{B} and C\mathcal{C} are two bases for VV, the change-of-basis matrix PCBP_{\mathcal{C} \leftarrow \mathcal{B}} satisfies

Change of Basis Formula
[v]C=PCB[v]B[\mathbf{v}]_\mathcal{C} = P_{\mathcal{C} \leftarrow \mathcal{B}}\, [\mathbf{v}]_\mathcal{B}
Learn more about this formula: Change of Basis Formula →


for every vector vV\mathbf{v} \in V. The columns of PCBP_{\mathcal{C} \leftarrow \mathcal{B}} are the C\mathcal{C}-coordinate vectors of each B\mathcal{B}-basis vector. The reverse conversion uses the inverse:

Change of Basis Inverse
PBC=(PCB)1P_{\mathcal{B} \leftarrow \mathcal{C}} = \bigl(P_{\mathcal{C} \leftarrow \mathcal{B}}\bigr)^{-1}
Learn more about this formula: Change of Basis Inverse →


Worked Example


In R2\mathbb{R}^2, let B={(1,1),(1,1)}\mathcal{B} = \{(1, 1), (1, -1)\} and let C\mathcal{C} be the standard basis. The C\mathcal{C}-coordinates of (1,1)(1, 1) are just (1,1)(1, 1), and the C\mathcal{C}-coordinates of (1,1)(1, -1) are (1,1)(1, -1). So PCB=(1111)P_{\mathcal{C} \leftarrow \mathcal{B}} = \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}. To find the B\mathcal{B}-coordinates of v=(3,1)\mathbf{v} = (3, 1): solve Pc=(3,1)P\mathbf{c} = (3, 1), giving c=P1(3,1)=12(1111)(31)=(2,1)\mathbf{c} = P^{-1}(3, 1) = \frac{1}{-2}\begin{pmatrix} -1 & -1 \\ -1 & 1 \end{pmatrix}\begin{pmatrix} 3 \\ 1 \end{pmatrix} = (2, 1). So [v]B=(2,1)[\mathbf{v}]_\mathcal{B} = (2, 1), meaning v=2(1,1)+1(1,1)\mathbf{v} = 2(1, 1) + 1(1, -1).

Change of basis connects to similarity: if a linear transformation has matrix AA in basis B\mathcal{B}, its matrix in basis C\mathcal{C} is P1APP^{-1}AP. Choosing a good basis — one that simplifies AA into diagonal or triangular form — is the central idea behind diagonalization.

Coordinates and Isomorphism

Choosing a basis for an nn-dimensional vector space VV creates a one-to-one correspondence between VV and Rn\mathbb{R}^n. Each vector vV\mathbf{v} \in V maps to its coordinate vector [v]BRn[\mathbf{v}]_\mathcal{B} \in \mathbb{R}^n, and this mapping preserves addition and scalar multiplication:

Coordinate Map Linearity
[u+v]B=[u]B+[v]B,[cv]B=c[v]B[\mathbf{u} + \mathbf{v}]_\mathcal{B} = [\mathbf{u}]_\mathcal{B} + [\mathbf{v}]_\mathcal{B}, \qquad [c\mathbf{v}]_\mathcal{B} = c\,[\mathbf{v}]_\mathcal{B}
Learn more about this formula: Coordinate Map Linearity →


Such a structure-preserving bijection is called an isomorphism. Its existence means that every nn-dimensional real vector space — Rn\mathbb{R}^n, Pn1\mathcal{P}_{n-1}, Rm×k\mathbb{R}^{m \times k} with mk=nmk = n, solution spaces of ODEs — behaves identically to Rn\mathbb{R}^n in all algebraic respects. The objects differ, but the linear algebra is the same.

Dimension is the single invariant that classifies finite-dimensional vector spaces up to isomorphism. Two spaces over the same field are isomorphic if and only if they have the same dimension. This is why dimension occupies such a central place in the theory.

Independence and Span

The two concepts that a basis unifies — linear independence and span — each have their own rich theory.

Independence is tested by checking whether the homogeneous system Ac=0A\mathbf{c} = \mathbf{0} has only the trivial solution, where AA is the matrix whose columns are the vectors. For nn vectors in Rn\mathbb{R}^n, this reduces to checking whether the determinant is nonzero. In Rn\mathbb{R}^n, at most nn vectors can be independent — any set of n+1n + 1 or more is automatically dependent.

Span is tested by checking whether Ac=bA\mathbf{c} = \mathbf{b} is consistent for every b\mathbf{b}, or for a specific b\mathbf{b} if the question is about membership. The span of a set is always a subspace, and its dimension equals the number of independent vectors in the set.

A set of exactly nn vectors in an nn-dimensional space is a basis if and only if it is independent (spanning follows automatically), and if and only if it spans the space (independence follows automatically). At the magic count n=dim(V)n = \dim(V), the two conditions become equivalent.

Subspaces and the Fundamental Subspaces

A subspace is a subset of a vector space that is itself a vector space under the same operations. The subspace test requires only two checks: closure under addition and closure under scalar multiplication. Lines and planes through the origin, null spaces, column spaces, and row spaces are all subspaces.

Every m×nm \times n matrix AA defines four fundamental subspaces: the column space in Rm\mathbb{R}^m (dimension rr), the row space in Rn\mathbb{R}^n (dimension rr), the null space in Rn\mathbb{R}^n (dimension nrn - r), and the left null space in Rm\mathbb{R}^m (dimension mrm - r), where r=rank(A)r = \text{rank}(A).

These four subspaces split into two pairs of orthogonal complements: the row space and null space are perpendicular in Rn\mathbb{R}^n, while the column space and left null space are perpendicular in Rm\mathbb{R}^m. The rank governs all four dimensions and completely determines the geometry of the linear map xAx\mathbf{x} \mapsto A\mathbf{x}.

Basis and Coordinates FAQ

Is [v]B[\mathbf{v}]_{\mathcal{B}} the same thing as v\mathbf{v}?

+
No, they live in different places. The vector v\mathbf{v} belongs to the space VV, while its coordinate vector belongs to Rn\mathbb{R}^n and is a description of v\mathbf{v} relative to one chosen basis. The two coincide only in the standard basis, which is exactly why the subscript is usually dropped there and nowhere else.Read more →

Which way does PDCP_{\mathcal{D} \leftarrow \mathcal{C}} convert?

+
It takes coordinates in C\mathcal{C} and returns coordinates in D\mathcal{D}, so the arrow's tail names the input. Reading it left to right applies the matrix backwards, and the error hides itself because the product still has compatible shapes and computes without complaint. The payoff is that chains cancel like dominoes.Read more →

Why is a basis written in script as B\mathcal{B}?

+
The typeface separates the set from the matrix built out of it. Script B\mathcal{B} is a collection with members, while a plain BB is an array with columns, and the two carry the same data in different species. Conflating them produces expressions like Bc\mathcal{B}\mathbf{c}, which multiplies a set by a vector and means nothing.Read more →