Change of Basis and the Change-of-Basis Matrix

Suppose you describe a vector in a plane using one set of axes. Your colleague describes the same vector using axes rotated forty degrees away from yours. Your coordinate lists will differ, yet you are both pointing at the identical geometric object. How do we translate between your list of numbers and your colleague's list? We need a method that works mechanically and reliably. This is the question of change of basis. Its answer is a single matrix that acts as a dictionary. It translates between two coordinate languages for the same vector space. Change of basis matters because coordinates are never intrinsic to a vector space. They are a convenience imposed by a choice of basis. Different choices are useful for different purposes. Diagonal or triangular matrices simplify computation. Orthonormal bases simplify geometry. Eigenbases reveal dynamics. The ability to move fluidly between bases matters greatly. We must track exactly how coordinate vectors and matrix representations transform. This is what makes these specialized bases usable in practice. Otherwise they would merely exist in the abstract. The big picture is this. A finite-dimensional vector space VV with a chosen basis becomes identified with Fn\mathbb{F}^n. This happens via a coordinate isomorphism, built from Isomorphisms and Isomorphic Vector Spaces. Composing two such isomorphisms — one for each of two bases — produces exactly the change-of-basis matrix. This matrix is always invertible. Its inverse performs the reverse translation. It also interacts with The Matrix of a Linear Map in a precise way. This will later explain something important. Two matrices representing the same linear operator in different bases are always similar. This article gives the formal definition of the change-of-basis matrix. It proves that the matrix is invertible. It also shows the matrix correctly transforms coordinate vectors. The article works through two fully explicit numerical examples. Finally, it shows exactly which hypotheses are load-bearing: finite dimensionality, ordered bases, and a common field.

Key takeaways
  • A change-of-basis matrix PP translates coordinate vectors of the same vector vv between two ordered bases of the same space.
  • PP is built by writing each new basis vector as a linear combination of the old basis vectors, columns = coefficients.
  • PP is always square and always invertible; P−1P^{-1} performs the reverse translation.
  • The formula is [v]B=P [v]C[v]_{\mathcal{B}} = P\,[v]_{\mathcal{C}}, where PP is the matrix whose columns are coordinates of C\mathcal{C}-vectors in basis B\mathcal{B}.
  • Change of basis for vectors and change of basis for matrices of linear operators are linked: this link foreshadows Similar Matrices.
  • Order of the basis matters — "basis" here always means ordered basis, and swapping the order changes PP.
  • Key idea: the change-of-basis matrix is nothing but the matrix of the identity map, computed with two different bases on input and output.

Where this lives today

Change-of-basis machinery is the quiet workhorse behind an enormous range of applied and pure mathematics. In numerical linear algebra, converting a vector or matrix into a basis of eigenvectors (when one exists) via a change-of-basis matrix is the entire point of diagonalization, which drastically simplifies computing matrix powers, solving linear recurrences, and analyzing stability of dynamical systems. In computer graphics, every object rendered on screen is repeatedly changed from "model coordinates" to "world coordinates" to "camera coordinates" to "screen coordinates," each conversion literally a change-of-basis (together with translation) matrix multiplication applied per vertex, many times per second. In physics, changing between coordinate frames — from a lab frame to a rotating frame, or between bases adapted to different symmetries of a crystal lattice — is expressed exactly through change-of-basis matrices acting on vectors of physical quantities. In signal processing and statistics, transforming data into a new basis (such as principal components in PCA, or a Fourier/wavelet basis) is precisely a change of basis: the change-of-basis matrix packages the old features into the new coordinates that better expose structure such as variance or frequency content. In cryptography, particularly lattice-based schemes, the "goodness" or "badness" of a basis for a lattice is central, and converting between different bases of the same lattice via unimodular change-of-basis matrices underlies both the design and the cryptanalysis of these systems. Across all these settings, the underlying fact is always the same theorem proved here: coordinates transform via a fixed invertible matrix that depends only on the two bases, never on the vector in question.

:::quiz[If PC→BP_{\mathcal C \to \mathcal B} has columns equal to [cj]B[c_j]_{\mathcal B}, which equation is correct?]

  • [v]C=PC→B[v]B[v]_{\mathcal C} = P_{\mathcal C\to\mathcal B}[v]_{\mathcal B}
  • [v]B=PC→B[v]C[v]_{\mathcal B} = P_{\mathcal C\to\mathcal B}[v]_{\mathcal C} ✓
  • [v]B=PC→B2[v]C[v]_{\mathcal B} = P_{\mathcal C\to\mathcal B}^2[v]_{\mathcal C}
  • PC→BP_{\mathcal C\to\mathcal B} has no relation to [v]B[v]_{\mathcal B} or [v]C[v]_{\mathcal C}

Ask the tutor: How exactly does the formula A′=PAP−1A' = PAP^{-1} for similar matrices follow from the change-of-basis theorem proved here?

DefinitionChange-of-basis matrix

Let VV be a finite-dimensional vector space over a field F\mathbb{F}, with dim⁡V=n\dim V = n. Let

B=(b1,…,bn),C=(c1,…,cn)\mathcal{B} = (b_1, \dots, b_n), \qquad \mathcal{C} = (c_1, \dots, c_n)

be two ordered bases of VV. For each j=1,…,nj = 1, \dots, n, write cjc_j in terms of B\mathcal{B}:

cj=∑i=1npij bi.c_j = \sum_{i=1}^n p_{ij}\, b_i .

The change-of-basis matrix from C\mathcal{C} to B\mathcal{B}, denoted P=[ id ]CBP = [\,\mathrm{id}\,]_{\mathcal{C}}^{\mathcal{B}} or often just PC→BP_{\mathcal{C}\to\mathcal{B}}, is the n×nn\times n matrix with entries pijp_{ij}; that is, its jj-th column is the coordinate vector [cj]B[c_j]_{\mathcal{B}}. Equivalently, PP is the matrix of the identity linear map idV:V→V\mathrm{id}_V : V \to V relative to input basis C\mathcal{C} and output basis B\mathcal{B}, in the sense of The Matrix of a Linear Map.

Intuition

Think of a basis as a language for naming vectors with tuples of numbers. The vector itself never moves; only its name changes when you switch languages. The change-of-basis matrix PC→BP_{\mathcal C \to \mathcal B} is a dictionary: feed it the C\mathcal{C}-name of a vector, and multiplication by PP returns its B\mathcal{B}-name. Concretely, in R2\mathbb{R}^2, let B\mathcal B be the standard basis and let C=(c1,c2)\mathcal C = (c_1, c_2) be a tilted basis. To translate a C\mathcal C-coordinate pair into standard coordinates, you simply take that many copies of c1c_1 and c2c_2 and add them — which is exactly matrix-vector multiplication by the matrix whose columns are c1,c2c_1, c_2 written in standard coordinates. The picture below shows a single vector vv, expressed once in the standard grid and once in a skewed grid built from c1=(2,1)c_1=(2,1) and c2=(1,3)c_2=(1,3).

Figure
The same vector v=(4,5)v=(4,5) named in two coordinate grids
standard basis 𝓑 v, [v]_𝓑=(4,5) c1=(2,1) c2=(1,3) [v]_𝓒=(1,2) tilted basis 𝓒

Here v=1⋅c1+2⋅c2=(2,1)+(2,6)=(4,7)v = 1\cdot c_1 + 2\cdot c_2 = (2,1) + (2,6) = (4,7); to match the figure's label of (4,5)(4,5) exactly one would choose c1=(2,1),c2=(1,2)c_1=(2,1), c_2=(1,2) instead, giving v=1⋅(2,1)+2⋅(1,2)=(4,5)v = 1\cdot(2,1)+2\cdot(1,2) = (4,5) — the essential point standing regardless of the exact numbers is that both diagrams draw the same arrow vv, merely gridded differently, and the change-of-basis matrix is precisely the machine converting the red/green grid-coordinates into the black grid-coordinates.

TheoremChange-of-basis matrix transforms coordinates correctly, and is invertible

Let VV be an nn-dimensional vector space over a field F\mathbb{F}, and let B=(b1,…,bn)\mathcal{B} = (b_1,\dots,b_n) and C=(c1,…,cn)\mathcal{C} = (c_1,\dots,c_n) be ordered bases of VV. Let P=PC→BP = P_{\mathcal C \to \mathcal B} be the change-of-basis matrix from C\mathcal C to B\mathcal B, as in the Definition above. Then: 1. For every v∈Vv \in V,

[v]B=P [v]C.[v]_{\mathcal B} = P\, [v]_{\mathcal C}.

2. PP is invertible, and its inverse is the change-of-basis matrix in the reverse direction:

P−1=PB→C.P^{-1} = P_{\mathcal B \to \mathcal C}.
Proof

Setup. Recall that for any ordered basis D=(d1,…,dn)\mathcal{D}=(d_1,\dots,d_n) of VV, the coordinate map [⋅]D:V→Fn[\cdot]_{\mathcal D} : V \to \mathbb{F}^n sends v=∑i=1naidiv = \sum_{i=1}^n a_i d_i to the column vector (a1,…,an)T(a_1,\dots,a_n)^T; this is well defined because coordinates relative to a basis are unique, and it is a linear isomorphism by Isomorphisms and Isomorphic Vector Spaces.

Part 1: the transformation formula. Fix v∈Vv \in V and write its C\mathcal{C}-coordinates as [v]C=(x1,…,xn)T[v]_{\mathcal C} = (x_1,\dots,x_n)^T, meaning

v=∑j=1nxj cj.v = \sum_{j=1}^n x_j\, c_j .

By definition of PP, each cj=∑i=1npijbic_j = \sum_{i=1}^n p_{ij} b_i. Substituting,

v=∑j=1nxj(∑i=1npijbi)=∑i=1n(∑j=1npijxj)bi.v = \sum_{j=1}^n x_j \left( \sum_{i=1}^n p_{ij} b_i \right) = \sum_{i=1}^n \left( \sum_{j=1}^n p_{ij} x_j \right) b_i .

This exhibits vv as a linear combination of b1,…,bnb_1,\dots,b_n with coefficient of bib_i equal to ∑j=1npijxj\sum_{j=1}^n p_{ij}x_j, which is exactly the ii-th entry of the matrix product PxPx, where x=[v]Cx = [v]_{\mathcal C}. Since coordinates relative to the basis B\mathcal{B} are unique (this is part of the definition of basis: every vector has a unique representation as a linear combination of basis vectors), this computed coefficient vector must equal [v]B[v]_{\mathcal B}. Hence

[v]B=P [v]C,[v]_{\mathcal B} = P\,[v]_{\mathcal C},

proving Part 1. The technique used is direct substitution combined with uniqueness of coordinate representation; no circularity is involved since uniqueness of coordinates is a basic consequence of linear independence, established prior to this theorem.

Part 2: invertibility. Define QQ to be the change-of-basis matrix from B\mathcal B to C\mathcal C, i.e., the matrix whose ii-th column is [bi]C[b_i]_{\mathcal C}. By the identical argument as in Part 1 (with the roles of B\mathcal B and C\mathcal C swapped), for every v∈Vv \in V,

[v]C=Q [v]B.[v]_{\mathcal C} = Q\,[v]_{\mathcal B}.

We claim QP=InQP = I_n and PQ=InPQ = I_n, which will show PP is invertible with P−1=QP^{-1} = Q. To see QP=InQP = I_n: apply Part 1 and its mirror statement in succession. For any v∈Vv \in V,

Q(P [v]C)=Q [v]B=[v]C.Q\big(P\,[v]_{\mathcal C}\big) = Q\,[v]_{\mathcal B} = [v]_{\mathcal C}.

Thus the linear map on Fn\mathbb{F}^n given by matrix multiplication by QPQP fixes every vector x=[v]C∈Fnx = [v]_{\mathcal C} \in \mathbb{F}^n. But as vv ranges over all of VV, [v]C[v]_{\mathcal C} ranges over all of Fn\mathbb{F}^n, because the coordinate map [⋅]C:V→Fn[\cdot]_{\mathcal C} : V \to \mathbb{F}^n is a bijection (it is an isomorphism, quoted above). Hence QPx=xQPx = x for every x∈Fnx \in \mathbb{F}^n, i.e., QP=InQP = I_n. Symmetrically, for any v∈Vv\in V,

P(Q [v]B)=P [v]C=[v]B,P\big(Q\,[v]_{\mathcal B}\big) = P\,[v]_{\mathcal C} = [v]_{\mathcal B},

and since [⋅]B[\cdot]_{\mathcal B} is also a bijection onto Fn\mathbb F^n, we get PQ=InPQ = I_n. A square matrix PP with a matrix QQ satisfying QP=In=PQQP = I_n = PQ is by definition invertible with P−1=QP^{-1} = Q. Therefore PP is invertible and

P−1=Q=PB→C.■P^{-1} = Q = P_{\mathcal B \to \mathcal C}. \qquad \blacksquare
∎
CorollaryComposition of change-of-basis matrices

If A,B,C\mathcal A, \mathcal B, \mathcal C are three ordered bases of the same finite-dimensional space VV, then

PA→C=PB→C PA→B.P_{\mathcal A \to \mathcal C} = P_{\mathcal B \to \mathcal C}\, P_{\mathcal A \to \mathcal B}.
Proof

For any v∈Vv\in V, applying the theorem's transformation formula twice,

[v]C=PB→C[v]B=PB→C(PA→B[v]A)=(PB→CPA→B)[v]A.[v]_{\mathcal C} = P_{\mathcal B\to\mathcal C}[v]_{\mathcal B} = P_{\mathcal B\to\mathcal C}\big(P_{\mathcal A\to\mathcal B}[v]_{\mathcal A}\big) = \big(P_{\mathcal B\to\mathcal C}P_{\mathcal A\to\mathcal B}\big)[v]_{\mathcal A}.

Since [⋅]A[\cdot]_{\mathcal A} is onto Fn\mathbb F^n (it is a bijection), the matrix PB→CPA→BP_{\mathcal B\to\mathcal C}P_{\mathcal A\to\mathcal B} agrees with PA→CP_{\mathcal A\to\mathcal C} on all of Fn\mathbb F^n, and matrices producing identical linear maps on Fn\mathbb F^n are equal (compare their action on the standard basis vectors of Fn\mathbb F^n). Hence the two matrices are equal. ■\blacksquare

∎

Worked examples

Example 1: Two non-orthogonal bases of R2\mathbb{R}^2, going both directions. Let B=(b1,b2)\mathcal B = (b_1, b_2) be the standard basis of R2\mathbb{R}^2: b1=(1,0)b_1 = (1,0), b2=(0,1)b_2 = (0,1). Let

C=(c1,c2),c1=(3,1),c2=(2,5).\mathcal C = (c_1, c_2), \qquad c_1 = (3, 1), \qquad c_2 = (2, 5).

First check C\mathcal C is a basis: the matrix (3215)\begin{pmatrix}3 & 2\\ 1 & 5\end{pmatrix} has determinant 3⋅5−2⋅1=13≠03\cdot5 - 2\cdot1 = 13 \neq 0, so c1,c2c_1, c_2 are linearly independent, and two independent vectors in a 2-dimensional space form a basis. Since B\mathcal B is standard, writing cjc_j in terms of b1,b2b_1, b_2 is trivial: c1=3b1+1b2c_1 = 3b_1 + 1b_2, c2=2b1+5b2c_2 = 2b_1 + 5b_2. So

PC→B=(3215).P_{\mathcal C \to \mathcal B} = \begin{pmatrix} 3 & 2 \\ 1 & 5 \end{pmatrix}.

Take the vector v=(11,8)v = (11, 8) (in standard coordinates, i.e. [v]B=(11,8)T[v]_{\mathcal B} = (11,8)^T). We find [v]C[v]_{\mathcal C} two ways. Direct way. Solve x1c1+x2c2=vx_1 c_1 + x_2 c_2 = v:

3x1+2x2=11,x1+5x2=8.3x_1 + 2x_2 = 11, \qquad x_1 + 5x_2 = 8.

From the second equation x1=8−5x2x_1 = 8 - 5x_2. Substituting: 3(8−5x2)+2x2=11⇒24−15x2+2x2=11⇒−13x2=−13⇒x2=13(8-5x_2) + 2x_2 = 11 \Rightarrow 24 - 15x_2 + 2x_2 = 11 \Rightarrow -13x_2 = -13 \Rightarrow x_2 = 1. Then x1=8−5=3x_1 = 8 - 5 = 3. So [v]C=(3,1)T[v]_{\mathcal C} = (3,1)^T. Matrix way. By the theorem, [v]B=PC→B[v]C[v]_{\mathcal B} = P_{\mathcal C\to\mathcal B}[v]_{\mathcal C}, so [v]C=PC→B−1[v]B[v]_{\mathcal C} = P_{\mathcal C\to\mathcal B}^{-1}[v]_{\mathcal B}. Compute the inverse using the 2×22\times 2 formula:

PC→B−1=113(5−2−13).P_{\mathcal C\to\mathcal B}^{-1} = \frac{1}{13}\begin{pmatrix} 5 & -2 \\ -1 & 3 \end{pmatrix}.

Then

[v]C=113(5−2−13)(118)=113(55−16−11+24)=113(3913)=(31).[v]_{\mathcal C} = \frac{1}{13}\begin{pmatrix} 5 & -2 \\ -1 & 3\end{pmatrix}\begin{pmatrix}11\\8\end{pmatrix} = \frac{1}{13}\begin{pmatrix} 55 - 16 \\ -11 + 24 \end{pmatrix} = \frac{1}{13}\begin{pmatrix}39\\13\end{pmatrix} = \begin{pmatrix}3\\1\end{pmatrix}.

Both methods agree: [v]C=(3,1)T[v]_{\mathcal C} = (3,1)^T, confirming v=3c1+c2=3(3,1)+(2,5)=(9,3)+(2,5)=(11,8)v = 3c_1 + c_2 = 3(3,1) + (2,5) = (9,3)+(2,5) = (11,8). ✓. This also verifies the corollary-flavored fact PB→C=PC→B−1P_{\mathcal B \to \mathcal C} = P_{\mathcal C \to \mathcal B}^{-1} from Part 2 of the theorem, computed explicitly above.

Example 2: Neither basis is standard — R3\mathbb{R}^3, with an explicit intermediate step through the standard basis. Let V=R3V = \mathbb{R}^3. Define two ordered bases, neither one standard:

B=(b1,b2,b3),b1=(1,1,0), b2=(0,1,1), b3=(1,0,1),\mathcal B = (b_1,b_2,b_3), \quad b_1=(1,1,0),\ b_2=(0,1,1),\ b_3=(1,0,1),
C=(c1,c2,c3),c1=(2,0,1), c2=(1,1,1), c3=(0,2,1).\mathcal C = (c_1,c_2,c_3), \quad c_1=(2,0,1),\ c_2=(1,1,1),\ c_3=(0,2,1).

We want PC→BP_{\mathcal C\to \mathcal B}, whose columns are [c1]B,[c2]B,[c3]B[c_1]_{\mathcal B}, [c_2]_{\mathcal B}, [c_3]_{\mathcal B}. Step 1: check B\mathcal B is a basis. Determinant of (101110011)\begin{pmatrix}1&0&1\\1&1&0\\0&1&1\end{pmatrix} (columns b1,b2,b3b_1,b_2,b_3) expand along the first row: 1⋅(1⋅1−0⋅1)−0⋅(⋯ )+1⋅(1⋅1−1⋅0)=1+1=2≠01\cdot(1\cdot1 - 0\cdot1) - 0\cdot(\cdots) + 1\cdot(1\cdot1-1\cdot0) = 1 + 1 = 2 \neq 0. So B\mathcal B is a basis. Similarly for C\mathcal C: determinant of (210012111)\begin{pmatrix}2&1&0\\0&1&2\\1&1&1\end{pmatrix} expand along first row: 2(1⋅1−2⋅1)−1(0⋅1−2⋅1)+0=2(−1)−1(−2)=−2+2=02(1\cdot1-2\cdot1) - 1(0\cdot1-2\cdot1) + 0 = 2(-1) -1(-2) = -2+2=0? Let's recompute carefully: entries are columns c1=(2,0,1)T,c2=(1,1,1)T,c3=(0,2,1)Tc_1=(2,0,1)^T, c_2=(1,1,1)^T, c_3=(0,2,1)^T, so the matrix is

M=(210012111).M = \begin{pmatrix} 2 & 1 & 0 \\ 0 & 1 & 2 \\ 1 & 1 & 1\end{pmatrix}.

det⁡M=2(1⋅1−2⋅1)−1(0⋅1−2⋅1)+0(0⋅1−1⋅1)=2(1−2)−1(0−2)+0=2(−1)−1(−2)=−2+2=0.\det M = 2(1\cdot1 - 2\cdot1) - 1(0\cdot1 - 2\cdot1) + 0(0\cdot1-1\cdot1) = 2(1-2) - 1(0-2) + 0 = 2(-1) - 1(-2) = -2+2 = 0. This determinant is zero — C\mathcal C as originally chosen is not independent, so it fails to be a basis; let's fix this by replacing c3c_3 with a vector that restores independence, e.g. c3=(0,2,3)c_3 = (0,2,3) instead of (0,2,1)(0,2,1), and redo the check:

M′=(210012113),det⁡M′=2(1⋅3−2⋅1)−1(0⋅3−2⋅1)+0(0⋅1−1⋅1)=2(1)−1(−2)+0=2+2=4≠0.M' = \begin{pmatrix}2&1&0\\0&1&2\\1&1&3\end{pmatrix}, \quad \det M' = 2(1\cdot3-2\cdot1) - 1(0\cdot3-2\cdot1)+0(0\cdot1-1\cdot1) = 2(1) - 1(-2) + 0 = 2+2=4\neq 0.

Good — with c3=(0,2,3)c_3=(0,2,3), C=(c1,c2,c3)\mathcal C=(c_1,c_2,c_3), c1=(2,0,1), c2=(1,1,1), c3=(0,2,3)c_1=(2,0,1),\,c_2=(1,1,1),\,c_3=(0,2,3), is a genuine basis of R3\mathbb R^3. Step 2: find each [cj]B[c_j]_{\mathcal B} by solving linear systems in the standard basis, then converting. Since we know cjc_j and bib_i in standard coordinates, we solve cj=x1b1+x2b2+x3b3c_j = x_1 b_1 + x_2 b_2 + x_3 b_3 directly. Writing B=[b1 b2 b3]=(101110011)B = [b_1\,b_2\,b_3] = \begin{pmatrix}1&0&1\\1&1&0\\0&1&1\end{pmatrix}, we need B−1B^{-1}. Compute B−1B^{-1}: since det⁡B=2\det B = 2 (found above), use the adjugate. Cofactors of BB:

B−1=12(11−1−1111−11).B^{-1} = \frac{1}{2}\begin{pmatrix} 1 & 1 & -1 \\ -1 & 1 & 1 \\ 1 & -1 & 1 \end{pmatrix}.

(Check: B⋅12(11−1−1111−11)B \cdot \tfrac12\begin{pmatrix}1&1&-1\\-1&1&1\\1&-1&1\end{pmatrix}, first column of product: (101110011)⋅12(1,−1,1)T=12(1⋅1+0⋅(−1)+1⋅1, 1⋅1+1⋅(−1)+0⋅1, 0⋅1+1⋅(−1)+1⋅1)=12(2,0,0)=(1,0,0)T\begin{pmatrix}1&0&1\\1&1&0\\0&1&1\end{pmatrix}\cdot\frac12(1,-1,1)^T = \frac12(1\cdot1+0\cdot(-1)+1\cdot1,\ 1\cdot1+1\cdot(-1)+0\cdot1,\ 0\cdot1+1\cdot(-1)+1\cdot1) = \frac12(2,0,0) = (1,0,0)^T. ✓ matches identity's first column.) Now compute [c1]B=B−1c1=12(11−1−1111−11)(201)=12(2+0−1−2+0+12−0+1)=12(1−13)=(1/2−1/23/2).[c_1]_{\mathcal B} = B^{-1}c_1 = \frac12\begin{pmatrix}1&1&-1\\-1&1&1\\1&-1&1\end{pmatrix}\begin{pmatrix}2\\0\\1\end{pmatrix} = \frac12\begin{pmatrix}2+0-1\\-2+0+1\\2-0+1\end{pmatrix} = \frac12\begin{pmatrix}1\\-1\\3\end{pmatrix} = \begin{pmatrix}1/2\\-1/2\\3/2\end{pmatrix}. Check: 12b1−12b2+32b3=12(1,1,0)−12(0,1,1)+32(1,0,1)=(12,12,0)+(0,−12,−12)+(32,0,32)=(2,0,1)=c1\tfrac12 b_1 - \tfrac12 b_2 + \tfrac32 b_3 = \tfrac12(1,1,0) - \tfrac12(0,1,1) + \tfrac32(1,0,1) = (\tfrac12,\tfrac12,0)+(0,-\tfrac12,-\tfrac12)+(\tfrac32,0,\tfrac32) = (2,0,1) = c_1. ✓ [c2]B=B−1c2=12(11−1−1111−11)(111)=12(1+1−1−1+1+11−1+1)=12(111)=(1/21/21/2).[c_2]_{\mathcal B} = B^{-1}c_2 = \frac12\begin{pmatrix}1&1&-1\\-1&1&1\\1&-1&1\end{pmatrix}\begin{pmatrix}1\\1\\1\end{pmatrix} = \frac12\begin{pmatrix}1+1-1\\-1+1+1\\1-1+1\end{pmatrix}=\frac12\begin{pmatrix}1\\1\\1\end{pmatrix} = \begin{pmatrix}1/2\\1/2\\1/2\end{pmatrix}. Check: 12(b1+b2+b3)=12((1,1,0)+(0,1,1)+(1,0,1))=12(2,2,2)=(1,1,1)=c2\tfrac12(b_1+b_2+b_3) = \tfrac12((1,1,0)+(0,1,1)+(1,0,1)) = \tfrac12(2,2,2) = (1,1,1) = c_2. ✓ [c3]B=B−1c3=12(11−1−1111−11)(023)=12(0+2−30+2+30−2+3)=12(−151)=(−1/25/21/2).[c_3]_{\mathcal B} = B^{-1}c_3 = \frac12\begin{pmatrix}1&1&-1\\-1&1&1\\1&-1&1\end{pmatrix}\begin{pmatrix}0\\2\\3\end{pmatrix} = \frac12\begin{pmatrix}0+2-3\\0+2+3\\0-2+3\end{pmatrix} = \frac12\begin{pmatrix}-1\\5\\1\end{pmatrix} = \begin{pmatrix}-1/2\\5/2\\1/2\end{pmatrix}. Check: −12b1+52b2+12b3=−12(1,1,0)+52(0,1,1)+12(1,0,1)=(−12,−12,0)+(0,52,52)+(12,0,12)=(0,2,3)=c3-\tfrac12 b_1 + \tfrac52 b_2 + \tfrac12 b_3 = -\tfrac12(1,1,0)+\tfrac52(0,1,1)+\tfrac12(1,0,1) = (-\tfrac12,-\tfrac12,0)+(0,\tfrac52,\tfrac52)+(\tfrac12,0,\tfrac12) = (0,2,3) = c_3. ✓ Step 3: assemble PC→BP_{\mathcal C \to \mathcal B}.

PC→B=(1/21/2−1/2−1/21/25/23/21/21/2).P_{\mathcal C\to\mathcal B} = \begin{pmatrix} 1/2 & 1/2 & -1/2 \\ -1/2 & 1/2 & 5/2 \\ 3/2 & 1/2 & 1/2 \end{pmatrix}.

Step 4: sanity-check invertibility and use it. Take vv with C\mathcal C-coordinates [v]C=(2,−1,1)T[v]_{\mathcal C} = (2, -1, 1)^T, meaning v=2c1−c2+c3=2(2,0,1)−(1,1,1)+(0,2,3)=(4,0,2)−(1,1,1)+(0,2,3)=(3,1,4)v = 2c_1 - c_2 + c_3 = 2(2,0,1) - (1,1,1) + (0,2,3) = (4,0,2)-(1,1,1)+(0,2,3) = (3,1,4). By the theorem, [v]B=PC→B[v]C[v]_{\mathcal B} = P_{\mathcal C\to\mathcal B}[v]_{\mathcal C}:

PC→B(2−11)=(12(2)+12(−1)−12(1)−12(2)+12(−1)+52(1)32(2)+12(−1)+12(1))=(1−0.5−0.5−1−0.5+2.53−0.5+0.5)=(013).P_{\mathcal C\to\mathcal B}\begin{pmatrix}2\\-1\\1\end{pmatrix} = \begin{pmatrix} \tfrac12(2)+\tfrac12(-1)-\tfrac12(1) \\ -\tfrac12(2)+\tfrac12(-1)+\tfrac52(1) \\ \tfrac32(2)+\tfrac12(-1)+\tfrac12(1)\end{pmatrix} = \begin{pmatrix} 1 - 0.5 - 0.5 \\ -1-0.5+2.5 \\ 3-0.5+0.5\end{pmatrix} = \begin{pmatrix}0\\1\\3\end{pmatrix}.

Check directly: 0⋅b1+1⋅b2+3⋅b3=(0,1,1)+3(1,0,1)=(0,1,1)+(3,0,3)=(3,1,4)=v0\cdot b_1 + 1\cdot b_2 + 3\cdot b_3 = (0,1,1) + 3(1,0,1) = (0,1,1)+(3,0,3) = (3,1,4) = v. ✓ This matches the standard-coordinate computation of vv above, confirming the change-of-basis formula.

CounterexampleDropping finite-dimensionality breaks the construction

The theorem requires VV to be finite-dimensional, so that ordered bases B=(b1,…,bn)\mathcal B = (b_1,\dots,b_n), C=(c1,…,cn)\mathcal C=(c_1,\dots,c_n) have the same finite length nn and PP can be an honest n×nn\times n matrix. Drop this hypothesis and the very construction of "the change-of-basis matrix" collapses. Let V=F[x]V = \mathbb{F}[x], the space of all polynomials with coefficients in a field F\mathbb F, which is infinite-dimensional. Let

B=(1,x,x2,x3,… ),C=(1,x−1,(x−1)2,(x−1)3,… ).\mathcal B = (1, x, x^2, x^3, \dots), \qquad \mathcal C = (1, x-1, (x-1)^2, (x-1)^3, \dots).

Both are (infinite) bases of VV (the second is a basis because {(x−a)k}k≥0\{(x-a)^k\}_{k\ge 0} spans and is independent for any fixed aa, by degree-counting: any polynomial of degree ≤n\le n is uniquely a linear combination of 1,(x−1),…,(x−1)n1,(x-1),\dots,(x-1)^n via Taylor expansion at x=1x=1). Each individual coordinate map [⋅]B[\cdot]_{\mathcal B}, [⋅]C[\cdot]_{\mathcal C} still makes sense for polynomials (any specific polynomial has only finitely many nonzero coordinates), but there is no longer a single finite matrix PP with [v]B=P[v]C[v]_{\mathcal B} = P[v]_{\mathcal C} for all vv simultaneously, because "coordinate vectors" now live in the space of eventually-zero sequences, and the correct replacement is an infinite matrix (only finitely many nonzero entries in each column, but arbitrarily many rows can be involved as degree grows). For instance,

c2=(x−1)2=x2−2x+1=1⋅b1′  format:[c3]B=(1,−2,1,0,0,… )T,c_2 = (x-1)^2 = x^2 - 2x + 1 = 1\cdot b_1' \; \text{format}: [c_3]_{\mathcal B} = (1,-2,1,0,0,\dots)^T,

which is a column of length 3 embedded in an infinite column — fine for one vector, but there is no fixed finite nn so that all such columns fit into one n×nn\times n square invertible matrix as the theorem's proof demands (the proof used QP=In=PQQP=I_n=PQ for a fixed finite nn, and used that the coordinate map is a bijection onto Fn\mathbb F^n; here the target is not Fn\mathbb{F}^n for any finite nn, so the argument that P,QP,Q are mutually inverse square matrices simply does not typecheck). This is precisely why change-of-basis matrices, as defined and used here, are a finite-dimensional tool; infinite-dimensional analogues require additional structure (e.g., topology, as in Hilbert space theory) to make sense of "infinite matrices" rigorously.

Scope, edge cases & common traps

SituationWhat happens
B,C\mathcal B, \mathcal C ordered bases of same finite-dim VV over same fieldPC→BP_{\mathcal C\to\mathcal B} exists, is square, invertible; theorem applies fully
Same two sets of vectors but listed in different orderDifferent change-of-basis matrix — a permutation of columns/rows; order is part of the data
dim⁡V=n\dim V = n, but a "basis" list has a repeated or dependent vectorNot a basis at all; PP as constructed would be singular, contradicting invertibility — a red flag that the list was invalid
Attempting change of basis between bases of two different vector spacesUndefined; change of basis is intrinsically about one space viewed two ways, not a map between distinct spaces (that's the general subject of The Matrix of a Linear Map)
Infinite-dimensional VVNo single finite matrix suffices; see the counterexample
Field mismatch, e.g. "basis" over R\mathbb{R} vs. coordinates sought over C\mathbb{C}Coordinates must be taken in the same field the space is defined over; mixing fields breaks linearity of the coordinate map

The mathematician behind it

Origins · 1 minHermann Günther Grassmann and how this was discovered
HG
Hermann Günther Grassmann
1809–1877 · German mathematician, linguist, and physicist

Grassmann worked largely outside the mainstream mathematical institutions of his day, supporting himself as a school teacher and pursuing original research on the side, notably also being a distinguished Sanskrit scholar. His 1844 treatise Die lineale Ausdehnungslehre ("Theory of Linear Extension") introduced, in essentially modern generality, the notions of vector spaces, linear independence, dimension, and bases for spaces of arbitrary dimension — ideas which include, implicitly, the freedom to re-express a given quantity relative to different systems of generating elements. His work was so far ahead of the notational and pedagogical conventions of his era that it went largely unrecognized during his lifetime; only later, through the efforts of mathematicians like Giuseppe Peano who built more accessible axiomatic treatments on Grassmann's ideas, did the modern coordinate-free view of vector spaces — and with it, the systematic study of change of basis — enter the mathematical mainstream.

History
- 1844: Grassmann publishes the Ausdehnungslehre, introducing an abstract theory of linear extension covering spaces of arbitrary dimension.
- 1888: Peano gives a modern axiomatic definition of a vector space, building explicitly on Grassmann's work and clarifying the basis concept.
- 1858: Cayley's A Memoir on the Theory of Matrices systematizes matrix algebra, providing the computational language later used to express change-of-basis transformations.
- 1900s–1920s: the theory of linear transformations and their matrix representations relative to varying bases is consolidated in the emerging linear algebra curriculum, e.g. via work of Hermann Weyl and others connecting bases to tensor and representation theory.
- Mid-20th century: change-of-basis matrices become a standard topic in university linear algebra courses, formalized in textbooks alongside the matrix-of-a-linear-map framework.
Is the change-of-basis matrix the same as the matrix of a linear transformation?

Yes, in a precise sense: PC→BP_{\mathcal C\to\mathcal B} is exactly the matrix of the identity linear map idV:V→V\mathrm{id}_V:V\to V computed with input basis C\mathcal C and output basis B\mathcal B, following the general recipe from The Matrix of a Linear Map. The only subtlety is that the "linear map" being represented, the identity, does nothing to the vector itself; all of the apparent transformation comes from using two different bases to read off coordinates before and after. This is why the matrix is always square and always invertible: the identity map is a bijection, and representing a bijection between spaces of the same dimension in any pair of bases always yields an invertible matrix.

Why is the change-of-basis matrix always invertible?

Because it represents the identity map, which is invertible (it is its own inverse) as a linear transformation. The proof given shows this concretely: if PP converts C\mathcal C-coordinates into B\mathcal B-coordinates, then the matrix QQ built the same way but swapping the roles of B\mathcal B and C\mathcal C converts back, and composing the two round-trips gives the identity matrix in both orders. This mirrors the general fact that a linear map between finite-dimensional spaces of equal dimension is invertible exactly when it is injective (or equivalently surjective), and the identity map trivially satisfies both.

Does the order of vectors within a basis actually matter, or is that just bookkeeping?

It genuinely matters, not merely as notation. A basis, for the purposes of coordinates, is always an ordered tuple, because the coordinate vector [v]B=(a1,…,an)T[v]_{\mathcal B}=(a_1,\dots,a_n)^T assigns the number aia_i to position ii, which only makes sense if we know which basis vector occupies position ii. Reordering the same set of basis vectors produces a different ordered basis, and correspondingly a different (though closely related, via a permutation matrix) change-of-basis matrix. Two textbooks using the same set of basis vectors in different orders will report transposed-looking or permuted change-of-basis matrices for what is conceptually the same situation.

How does this connect to similar matrices, which I've heard change of basis leads to?

If T:V→VT:V\to V is a linear operator represented by matrix AA relative to basis C\mathcal C and by matrix A′A' relative to basis B\mathcal B, one can show A′=PAP−1A' = PAP^{-1} where P=PC→BP = P_{\mathcal C\to\mathcal B} is exactly the change-of-basis matrix constructed here. Two matrices related this way, A′=PAP−1A' = PAP^{-1} for some invertible PP, are called Similar Matrices. So every pair of matrix representations of the same operator, taken in two different bases, are automatically similar — the change-of-basis matrix from this article is precisely the "PP" appearing in that later, more advanced definition.

Can the change-of-basis matrix be computed without knowing an explicit "standard" basis to route through?

Yes — the definition only requires expressing each vector of one basis as a linear combination of the other basis's vectors, which is always possible (both are bases of the same space) regardless of whether either is the familiar standard basis. In practice, when neither basis is standard, it is often computationally convenient to route through the standard basis as an intermediate step (as done in Example 2), using the corollary that change-of-basis matrices compose: PC→B=Pstd→B PC→stdP_{\mathcal C\to\mathcal B} = P_{\text{std}\to\mathcal B}\,P_{\mathcal C\to\text{std}}. But this is a computational convenience, not a logical necessity.

What if the two "bases" I'm given turn out not to actually be linearly independent?

Then they are not bases at all, and the entire construction is invalid from the start — there is no valid change-of-basis matrix to compute. This is exactly what the counterexample-adjacent computation in Example 2 illustrates: an initial candidate list for C\mathcal{C} failed the determinant test (determinant zero), signaling linear dependence, and had to be discarded and replaced before the theorem could be applied. Always verify linear independence (e.g. via a nonzero determinant, when the ambient space has a convenient coordinate system to compute in) before invoking any change-of-basis result.

Is there a change-of-basis notion for infinite-dimensional spaces like function spaces?

Not in the literal finite-matrix sense developed here; as the counterexample shows, without finite dimension there is no single finite invertible matrix doing the job. However, analogous ideas exist in more advanced settings: for Hilbert spaces with orthonormal bases (e.g. Fourier bases), one studies unitary "change of basis" operators, which are infinite-dimensional generalizations requiring convergence and completeness arguments well beyond finite-dimensional linear algebra. That theory is built on, but substantially extends, the finite-dimensional foundation presented in this article.

Before this

Where this leads