This calculator takes a real 3×3 matrix as input and returns its eigenvalues and, for each real eigenvalue, a corresponding eigenvector. Internally, it builds the characteristic polynomial of the matrix, solves the resulting cubic equation using Cardano’s method, and then finds eigenvectors from the null space of A − λI. The tool is intended for students and practitioners who need quick eigenpairs for linear algebra exercises, vibration or stability analysis, or checks on manual calculations.
You enter the nine matrix entries in row-major order. The script computes the trace, determinant, and intermediate coefficients, solves for the eigenvalues, and then constructs normalized eigenvectors using cross products of rows of A − λI whenever the eigenvalue is real. Complex eigenvalues are still reported, but their eigenvectors are omitted because the implementation works over the real numbers only.
For a square matrix A, a (right) eigenvalue–eigenvector pair (λ, v) satisfies
Av = λv,
where v is a nonzero column vector and λ is a scalar. Geometrically, v points along a special direction that the linear transformation represented by A simply stretches or flips, without changing its direction. In three dimensions, you can think of these as principal stretching directions of space.
For a 3×3 matrix, there are up to three (not necessarily distinct) eigenvalues, counting algebraic multiplicity. They may be all real, one real with a pair of complex conjugates, or multiple equal values in the repeated-root case. The calculator works with all of these situations but only forms explicit eigenvectors for real eigenvalues.
Let
The eigenvalues are the roots of the characteristic polynomial
p(λ) = det(λI − A).
For a 3×3 matrix this polynomial has the general form
λ³ − t1 λ² + t2 λ − det(A) = 0,
where
The calculator computes these coefficients directly from your nine inputs and then solves the cubic exactly in closed form (up to floating‑point arithmetic) using Cardano’s method, without relying on iterative root-finding.
After assembling the characteristic polynomial
λ³ − t1 λ² + t2 λ − det(A) = 0,
the script converts it to a depressed cubic of the simpler form
y³ + py + q = 0
by substituting λ = y + t1/3. The new coefficients p and q depend on t1, t2, and det(A). The discriminant
Δ = (q² / 4) + (p³ / 27)
determines the structure of the roots:
For Δ ≥ 0, Cardano’s formula expresses a real solution as the sum of two cube roots, and the remaining roots follow from algebraic relations. For Δ < 0, trigonometric expressions with arccosines are used to obtain all three real roots while keeping numerical errors under control. The implementation chooses the appropriate branch based on the discriminant and returns eigenvalues formatted as real numbers when possible or as complex values when needed.
Once an eigenvalue λ is known and is real, the corresponding eigenvectors are the nonzero solutions of
(A − λI)v = 0.
For a 3×3 system, the null space is typically one-dimensional when λ is a simple eigenvalue. Instead of running a full Gaussian elimination, the calculator exploits the geometry of cross products. Each row of A − λI is a vector in ℝ³. Any eigenvector must be orthogonal to all rows, because their dot product is zero.
The script proceeds as follows:
This provides one representative eigenvector for each real eigenvalue. Any nonzero scalar multiple of the reported vector is also a valid eigenvector.
Consider the diagonal matrix
A = diag(1, 2, 3) = .
If you enter 1, 0, 0 in the first row, 0, 2, 0 in the second row, and 0, 0, 3 in the third row, the characteristic polynomial factors as
(λ − 1)(λ − 2)(λ − 3) = 0,
so the eigenvalues are 1, 2, and 3. For each eigenvalue, the matrix A − λI becomes diagonal with one zero on the diagonal, and its null space is spanned by a standard basis vector:
The calculator will display eigenvalues 1, 2, and 3 (subject to rounding) and normalized eigenvectors equal to the three standard basis vectors. You can use this matrix as a quick sanity check that your browser and the script are working as expected.
When the computation finishes, you will typically see a list of eigenvalues and, for each real eigenvalue, a unit eigenvector. Some common interpretations are:
You can use the eigenpairs to diagonalize a matrix when it has a full set of independent eigenvectors, to analyze stability of linear dynamical systems (e.g., sign of the real parts of eigenvalues), or to understand principal axes in physical or geometric problems.
| Aspect | Supported by this 3×3 tool | Not supported / out of scope |
|---|---|---|
| Matrix size | Exactly 3×3 real matrices | 2×2, 4×4, or larger matrices |
| Eigenvalues | Real and complex eigenvalues of the characteristic cubic | Symbolic parameters or matrices with non-numeric entries |
| Eigenvectors | One normalized eigenvector for each real eigenvalue | Eigenvectors corresponding to complex eigenvalues in ℂ³ |
| Computation method | Closed-form cubic solution (Cardano) and cross products | Iterative numerical methods (QR iteration, power method, etc.) |
| Precision | Double-precision floating‑point in the browser | Arbitrary precision or exact symbolic algebra |
| Use cases | Checking homework, quick engineering estimates, teaching demos | Heavy-duty numerical linear algebra for large systems |
The implementation makes several assumptions that are important for interpreting the results correctly:
For teaching and light computational work, these limitations are usually acceptable. For safety‑critical engineering or large‑scale simulations, treat this calculator as a quick reference rather than a final authority.
Arrange your entries row by row to match the standard matrix layout:
If you are checking hand calculations, try entering matrices with known eigenvalues (diagonal or triangular matrices) first, then move on to more complicated examples. For sensitive problems, it is wise to re-run the computation in a computer algebra system or numerical library and compare eigenvalues and eigenvectors.