Change of Basis Calculator

Verify coordinate conversions between two bases while the vector stays fixed.

Results are calculated automatically as you enter data.

Convert coordinates while verifying that the geometric vector stays fixed.

Old basis vectors
New basis vectors
Vector values

Formula and verification

▼ See explanations and tips below ▼

What Is Changing Vector Coordinates Between Bases?

Changing vector coordinates between two bases means describing the same vector using two different coordinate systems.

In ordinary two-dimensional coordinates, the vector \((3, 2)\) usually means:

$$ 3\begin{bmatrix}1\\0\end{bmatrix} + 2\begin{bmatrix}0\\1\end{bmatrix} $$

That interpretation uses the standard basis: one unit step in the \(x\) direction and one unit step in the \(y\) direction. But linear algebra lets you choose other basis vectors. If the basis vectors point in different directions or have different lengths, the coordinate pair \((3, 2)\) can describe a different standard vector.

A change of basis converts coordinates from one ordered basis to another. The vector itself does not move. Only its coordinate description changes.

For example, a vector may be written as:

$$ v = 3v_1 + 2v_2 $$

in one basis, but as:

$$ v = 2.5u_1 - 0.5u_2 $$

in another basis. Both expressions can name the same arrow in space.


Why Change of Basis Matters

Change of basis is useful because some problems become much simpler when written in the right coordinate language.

In geometry, a reflection may be awkward in the standard \(x\)-\(y\) basis but simple in a basis aligned with the mirror line. In signal processing, an image can be described pixel by pixel, or it can be described by coefficients in a frequency or wavelet basis. In differential equations, eigenvector bases can turn repeated matrix multiplication into a much simpler diagonal calculation.

The main idea is practical: choose a basis that makes the structure of the problem easier to see.


Key Terms to Know

  • Vector: A mathematical object that can be added and scaled. In \(\mathbb{R}^n\), it is often pictured as an arrow or an ordered list of \(n\) real numbers.
  • Basis: An ordered list of vectors that spans the space and is linearly independent. Every vector in the space has exactly one coordinate vector in that basis.
  • Coordinate vector: The list of scalars needed to build a vector from a basis. If \(v = c_1b_1 + c_2b_2 + \cdots + c_nb_n\), then \([v]_{\mathcal{B}} = \begin{bmatrix}c_1 & c_2 & \cdots & c_n\end{bmatrix}^T\).
  • Standard basis: The usual coordinate axes in \(\mathbb{R}^n\), such as \((1,0)\) and \((0,1)\) in \(\mathbb{R}^2\).
  • Basis matrix: A square matrix whose columns are the basis vectors.
  • Determinant: A number associated with a square matrix. For a basis matrix, a nonzero determinant means the basis vectors are independent and the matrix is invertible.
  • Change-of-basis matrix: A matrix that converts coordinate vectors from one basis to another.

How Changing Basis Works

Suppose the old ordered basis is:

$$ \mathcal{B}_{\text{old}} = (v_1, v_2, \ldots, v_n) $$

and the new ordered basis is:

$$ \mathcal{B}_{\text{new}} = (u_1, u_2, \ldots, u_n) $$

Build the two basis matrices by placing each basis vector as a column:

$$ B_{\text{old}} = \begin{bmatrix}v_1 & v_2 & \cdots & v_n\end{bmatrix} $$
$$ B_{\text{new}} = \begin{bmatrix}u_1 & u_2 & \cdots & u_n\end{bmatrix} $$

If a vector has old-basis coordinates \(c_{\text{old}}\), then its standard-coordinate vector is:

$$ x = B_{\text{old}}c_{\text{old}} $$

To find the new-basis coordinates of that same vector, solve:

$$ B_{\text{new}}c_{\text{new}} = x $$

When \(B_{\text{new}}\) is invertible, this gives:

$$ c_{\text{new}} = B_{\text{new}}^{-1}x $$

Substitute \(x = B_{\text{old}}c_{\text{old}}\) to get the old-to-new change-of-basis formula:

$$ c_{\text{new}} = B_{\text{new}}^{-1}B_{\text{old}}c_{\text{old}} $$

So the old-to-new change-of-basis matrix is:

$$ C_{\text{old}\to\text{new}} = B_{\text{new}}^{-1}B_{\text{old}} $$

This formula has an important meaning. The old basis first turns old coordinates into the actual vector. The inverse of the new basis matrix then asks, “Which new-basis coordinates rebuild that same vector?”

Both basis matrices must be invertible:

$$ \det(B_{\text{old}}) \ne 0 \quad\text{and}\quad \det(B_{\text{new}}) \ne 0 $$

If either determinant is zero, the listed vectors do not form a valid basis for the selected dimension, so coordinates are not unique for all vectors.


Examples of Change of Basis in Practice

Example 1: Converting from the Standard Basis to a New 2D Basis

Let the old basis be the standard basis:

$$ B_{\text{old}} = \begin{bmatrix}1 & 0\\0 & 1\end{bmatrix} $$

Let the new basis vectors be:

$$ u_1 = \begin{bmatrix}1\\1\end{bmatrix}, \quad u_2 = \begin{bmatrix}-1\\1\end{bmatrix} $$

So:

$$ B_{\text{new}} = \begin{bmatrix}1 & -1\\1 & 1\end{bmatrix} $$

Suppose the vector has old-basis coordinates:

$$ c_{\text{old}} = \begin{bmatrix}3\\2\end{bmatrix} $$

Because the old basis is standard, the standard vector is:

$$ x = B_{\text{old}}c_{\text{old}} = \begin{bmatrix}3\\2\end{bmatrix} $$

The determinant of the new basis matrix is:

$$ \det(B_{\text{new}}) = (1)(1) - (-1)(1) = 2 $$

Since the determinant is nonzero, the new basis is valid. Its inverse is:

$$ B_{\text{new}}^{-1} = \frac{1}{2}\begin{bmatrix}1 & 1\\-1 & 1\end{bmatrix} $$

Now compute the new coordinates:

$$ c_{\text{new}} = B_{\text{new}}^{-1}x = \frac{1}{2}\begin{bmatrix}1 & 1\\-1 & 1\end{bmatrix} \begin{bmatrix}3\\2\end{bmatrix} = \begin{bmatrix}\frac{5}{2}\\-\frac{1}{2}\end{bmatrix} $$

So:

$$ \begin{bmatrix}3\\2\end{bmatrix}_{\text{old}} = \begin{bmatrix}2.5\\-0.5\end{bmatrix}_{\text{new}} $$

That does not mean the vector changed. It means the same vector is built as \(2.5\) copies of \(u_1\) plus \(-0.5\) copies of \(u_2\).


Example 2: Why a Different Basis Can Make Data Easier to Use

An image can be viewed as a long vector of pixel values. The standard basis describes the image one pixel at a time. Another basis, such as a frequency or wavelet basis, describes the same image using patterns.

In a simplified form, if \(p\) is a vector of pixel values and \(W\) is a matrix whose columns are wavelet basis vectors, then:

$$ p = Wc $$

The coefficient vector is:

$$ c = W^{-1}p $$

The vector \(p\) and the coefficient vector \(c\) contain two descriptions of the same data. The advantage is that many real signals can be represented well using only a small number of important coefficients in a carefully chosen basis.


Example 3: A Singular Basis Is Not a Basis

Consider the two proposed new basis vectors:

$$ u_1 = \begin{bmatrix}1\\1\end{bmatrix}, \quad u_2 = \begin{bmatrix}2\\2\end{bmatrix} $$

These vectors point in the same direction. The basis matrix is:

$$ B_{\text{new}} = \begin{bmatrix}1 & 2\\1 & 2\end{bmatrix} $$

Its determinant is:

$$ \det(B_{\text{new}}) = (1)(2) - (2)(1) = 0 $$

This matrix cannot be inverted. The two vectors span only a line, not all of \(\mathbb{R}^2\). A vector on that line can be represented in more than one way, while a vector off the line cannot be represented at all. That is why a zero determinant prevents a valid change of basis.


How to Interpret the Result

The old coordinates and new coordinates are two coordinate descriptions of the same vector. They should not be read as two different vectors.

The standard vector is the underlying vector in ordinary \(\mathbb{R}^n\) coordinates after the selected input mode has been interpreted. If you enter old-basis coordinates, the standard vector is found by multiplying by the old basis matrix. If you enter new-basis coordinates, it is found by multiplying by the new basis matrix. If you enter standard coordinates, the standard vector is already given.

The old-to-new change-of-basis matrix maps any old-coordinate column vector directly into its new-coordinate form:

$$ c_{\text{new}} = C_{\text{old}\to\text{new}}c_{\text{old}} $$

The determinants tell you whether the old and new vector lists are valid bases. A nonzero determinant means the basis matrix is invertible. A determinant of zero means the vectors are linearly dependent and cannot provide unique coordinates for every vector in the selected dimension.

The verification error measures how closely the reconstructed standard vector matches from both coordinate descriptions. A value near \(0\) means the two descriptions agree within the displayed numeric precision. A larger error can point to rounding effects, very ill-conditioned bases, or invalid input.

Coordinate values can be negative, decimal, or zero. A negative coordinate simply means the vector uses that basis direction in the opposite sense. A large coordinate does not necessarily mean the vector is “large” in standard space; it means the vector needs a large scalar multiple of one or more selected basis vectors.


Common Mistakes and Misconceptions

Confusing standard coordinates with basis coordinates. The list [3, 2] means different things depending on the basis. Always check whether the vector is being entered as old-basis coordinates, new-basis coordinates, or standard coordinates.

Treating a change of basis as moving the vector. In this context, the vector stays the same. The coordinate language changes.

Using dependent basis vectors. If one basis vector is a scalar multiple or linear combination of the others, the determinant is zero and the basis matrix has no inverse.

Mixing up rows and columns. In the formulas, basis vectors are columns of the basis matrix. If a table asks for basis vectors one per row, remember that each listed vector still becomes a column in the mathematical basis matrix.

Choosing the wrong input mode. The same coordinate list can produce a different standard vector when interpreted in a different basis.

Mixing dimensions. A basis for \(\mathbb{R}^2\) needs two vectors with two coordinates each. A basis for \(\mathbb{R}^3\) needs three vectors with three coordinates each.

Expecting exact symbolic answers. Decimal arithmetic can introduce small roundoff differences. Values that should be exactly zero may appear as very small numbers, or very small values may be displayed as zero.


When to Use Change of Basis

Use a change of basis when you need to:

  • compare the same vector in two coordinate systems;
  • move between standard coordinates and coordinates relative to custom basis vectors;
  • verify whether two coordinate descriptions refer to the same vector;
  • simplify a linear transformation by choosing a more convenient basis;
  • understand geometric operations such as projections, reflections, rotations, and scalings in a basis adapted to the problem;
  • prepare for topics such as diagonalization, eigenvectors, Fourier bases, wavelet bases, and coordinate transformations.

Limitations and Things to Keep in Mind

A change-of-basis calculation requires square bases of the same dimension. It does not handle changes between different-dimensional spaces, rectangular spanning sets, least-squares projections, or non-basis coordinate systems.

The basis vectors must be linearly independent. In determinant terms, this means:

$$ \det(B) \ne 0 $$

Very small determinants can also be troublesome in numerical work. A matrix may be technically invertible but still produce unstable coordinates because tiny changes in the input can cause large changes in the result.

For numerical stability, the calculator can reject a nonzero pivot that is too small relative to the entered matrix scale. When that happens, it reports that the basis is numerically ill-conditioned rather than claiming that its mathematical determinant is zero. Rescale the vectors or choose a better-conditioned basis before retrying.

The calculator works with finite real decimal values. It does not provide symbolic algebra, complex-number arithmetic, or exact fraction simplification. If exact rational answers are required, verify the result separately with exact algebra.

Displayed values are rounded. Finite nonzero values outside the ordinary display range use scientific notation; arithmetic underflow, cancellation, or overflow can still affect an intermediate result. If a derived value cannot be represented as a finite JavaScript number, the calculator stops and asks you to rescale the inputs. For teaching, homework, or engineering work, keep more precision during intermediate steps when accuracy matters.

Diagrams are visual aids. A 2D or 3D graph can help show that the same vector is being described in two coordinate systems, but the numeric basis conversion comes from the matrix calculation.


How to Use This Calculator

  1. Choose the dimension shown in the dimension menu.
  2. Enter the old basis vectors and the new basis vectors. Each basis must contain the selected dimension’s number of vectors, and each vector must have the selected dimension’s number of coordinates.
  3. Choose whether the vector you enter is written in old-basis coordinates, new-basis coordinates, or standard coordinates.
  4. Enter the vector coordinates in the coordinate fields.
  5. Review the old coordinates, new coordinates, standard vector, basis determinants, old-to-new change-of-basis matrix, and verification error.
  6. For 2D or 3D examples, use the diagram to visualize the old basis, the new basis, and the same standard vector.

Blank vector coordinate fields are not valid. Blank basis-table cells may be treated as zero, so review the basis matrices carefully before interpreting the result.


Frequently Asked Questions

What is a change-of-basis matrix?

A change-of-basis matrix converts coordinate vectors from one basis to another. With the convention used here, the old-to-new matrix is \(B_{\text{new}}^{-1}B_{\text{old}}\), so it maps \(c_{\text{old}}\) directly to \(c_{\text{new}}\).


Why must the determinant be nonzero?

A nonzero determinant means the basis matrix is invertible. Without an inverse, the basis vectors cannot provide one unique coordinate vector for every vector in the space.


Are old coordinates and new coordinates different vectors?

No. They are different coordinate descriptions of the same vector. The standard vector is the shared object that both coordinate descriptions reconstruct.


Why can the same coordinate pair mean different things?

Coordinates are coefficients attached to a chosen basis. The pair \((3,2)\) in the standard basis means \(3e_1 + 2e_2\), but in another basis it means \(3b_1 + 2b_2\), which may be a different standard vector.


What does the verification error mean?

The verification error compares the standard vector reconstructed from the old-coordinate description with the standard vector reconstructed from the new-coordinate description. A value near \(0\) indicates that the two coordinate descriptions match within numeric precision.


Can I use decimals and negative numbers?

Yes. Decimal, negative, and zero coordinate values are valid as long as the basis matrices remain invertible and all entries are finite real numbers.


Why do some answers show small decimals instead of exact fractions?

The calculation is displayed numerically. A value such as \(0.333333\) may represent a repeating decimal, and a value such as \(1.0\times 10^{-12}\) may be roundoff noise rather than a meaningful nonzero coordinate.


Sources and References

Books and Open Textbooks

  1. Delft Institute of Applied Mathematics, TU Delft. Linear Algebra. Interactive Textbooks, 2025. Relevant sections used: Chapter 4.3, “Change of basis”; Chapter 5.4, “Miscellaneous applications of determinants”; Appendix B, “The inverse matrix theorem.” Chapter 4.3, Chapter 5.4, Appendix B. Accessed June 27, 2026.
  2. David Cherney, Tom Denton, Rohit Thomas, and Andrew Waldron. Linear Algebra. University of California, Davis, 2016. Relevant chapter used: Chapter 13, “Diagonalization,” especially Section 13.2, “Change of Basis.” UC Davis textbook page and LibreTexts Section 13.2. Accessed June 27, 2026.

Online Course Materials

  1. Gilbert Strang, Massachusetts Institute of Technology. “Lecture 31: Change of Basis; Image Compression.” 18.06SC Linear Algebra, MIT OpenCourseWare, Fall 2011. Lecture page and transcript PDF. Accessed June 27, 2026.