Singular Values Calculator - Sigma-1, Sigma-2, Sigma-3 SVD
Use this singular values calculator to read sigma-1, sigma-2, and sigma-3 of a 2x2 or 3x3 matrix with the spectral norm, condition number, and rank.
Singular Values Calculator
Results
What Is Singular Values Calculator?
A singular values calculator turns a real 2x2 or 3x3 matrix into the three non-negative numbers that describe how A stretches or shrinks space: the singular values σ₁ ≥ σ₂ [≥ σ₃]. They are the diagonal entries of Σ in A = U Σ V^T and the square roots of the eigenvalues of A^T A. Use this singular values calculator to read σ₁, σ₂, and σ₃, the spectral norm, the condition number, and the numerical rank of a small matrix.
- • Rank and conditioning checks: Count non-zero singular values and read the condition number to surface rank-deficiency or near-singularity before a downstream solve.
- • Spectral norm for stability analysis: Pull σ₁ as the spectral norm ‖A‖₂ when bounding operator growth in iterative methods.
- • Image and data-compression workflows: Drive truncated SVD, Eckart-Young low-rank fits, and explained-variance ratios in teaching or research.
- • Geometric interpretation: Feed a 2x2 linear map to see how much it stretches the unit circle along its principal axes, the most common teaching use of the SVD.
Output is sorted in descending order, so σ₁ is always first. A 2x2 input returns σ₁ and σ₂; a 3x3 input adds σ₃, with the unused slot at 0.
Singular values are dimensionless ratios of stretching factors, so the calculator does not display a unit. The spectral norm inherits whatever units the matrix entries carry.
For a symmetric positive definite A, the Cholesky factor L satisfies A = L L^T, and the singular values of A equal the eigenvalues of A, so the Cholesky Decomposition Calculator pairs naturally with this tool when the input is a covariance or kernel matrix.
How Singular Values Calculator Works
The calculator uses two methods depending on matrix size. A 2x2 input is solved in closed form from the trace and determinant of A^T A. A 3x3 input uses the one-sided Jacobi iteration on A^T A, which diagonalizes the symmetric matrix in a sequence of plane rotations.
- A: The real 2x2 or 3x3 matrix whose singular values you want, entered in row-major order a₁₁ through a₃₃.
- U, V: Orthogonal factors of the SVD. The calculator reports only the singular values, not U and V.
- Σ: Diagonal matrix of singular values in descending order. The values are non-negative, so every square root is well defined.
- ‖A‖₂: Spectral norm of A, reported as the largest singular value.
- κ₂(A): 2-norm condition number, reported as σ_max divided by σ_min, with a sentinel of 0 when σ_min is effectively zero.
The result panel sorts the singular values in descending order, then derives the spectral norm, condition number, and numerical rank. Rank uses a relative tolerance of 1e-10 against σ_max, so a 0 in any slot means the matrix does not stretch space in that direction. A condition number of 0 means σ_min is below 1e-10, the rank-deficient flag.
The Frobenius-norm check is the verification line. By the Frobenius identity, ‖A‖_F equals √(sum of squared singular values), so the reported number should match the manual Frobenius norm. If it does not, the form inputs are inconsistent.
2x2 identity matrix A = I
A = [[1, 0], [0, 1]]. A^T A = I, so eigenvalues are both 1 and singular values are 1, 1.
σ₁ = 1, σ₂ = 1, ‖A‖₂ = 1, κ₂(A) = 1, rank = 2.
An isometry keeps every unit vector at length 1, which is what σ₁ = σ₂ = 1 means geometrically.
3x3 diagonal A = diag(2, 5, 1)
A^T A = diag(4, 25, 1). Eigenvalues of A^T A are 25, 4, 1 and singular values are 5, 2, 1.
σ₁ = 5, σ₂ = 2, σ₃ = 1, ‖A‖₂ = 5, κ₂(A) = 5, rank = 3.
The most stretched axis is 5x the least, and rank is 3.
According to Wikipedia Singular value decomposition, the singular values of a real matrix A are the square roots of the eigenvalues of A^T A, listed in descending order.
Computing A^T A inside the calculator reuses the same transpose that the Adjoint Matrix Calculator exercises, so the two tools share an internal definition of row-major A.
Key Concepts Explained
Four ideas from linear algebra explain what the singular values calculator reports and why the ordering matters.
The SVD identity A = U Σ V^T
Every real m-by-n matrix A factors as an orthogonal U, a diagonal Σ with non-negative entries, and the transpose of an orthogonal V. The diagonal entries of Σ are the singular values, with U and V giving the principal directions.
Singular values from A^T A
The singular values of A are the square roots of the eigenvalues of A^T A. A^T A is symmetric positive semi-definite, so its eigenvalues are non-negative and the singular values are well defined. The calculator iterates on A^T A to keep the rotation sweep stable.
Spectral norm and condition number
The largest singular value is the spectral norm ‖A‖₂, the tightest operator bound. The condition number κ₂(A) = σ_max / σ_min measures how much A amplifies rounding error. A value of 1 means a perfect isometry; a value of 0 means rank-deficient.
Numerical rank from σ_min
Floating-point arithmetic cannot tell whether a tiny singular value is exactly 0 or just very small. The calculator uses a 1e-10 relative tolerance against σ_max and counts singular values above that threshold.
The same identities hold in any dimension, not just 2x2 or 3x3 inputs. The calculator restricts itself to 2x2 and 3x3 because the page is a teaching and verification tool. For larger inputs the same formulas apply, but a library routine such as LAPACK DGESDD is the right next step.
Geometrically, the singular values are the semi-axes of the ellipsoid that A maps the unit sphere to. The ordering σ₁ ≥ σ₂ ≥ σ₃ matches the semi-axes from longest to shortest, the convention used by NumPy, MATLAB, and LAPACK.
Each column of U scaled by the corresponding singular value has length equal to that singular value, so the Vector Magnitude Calculator can cross-check individual σ values.
How to Use This Calculator
Type the matrix entries in row-major order, choose the size, and read the sorted singular values together with the derived diagnostics in the result panel.
- 1 Pick the matrix size: Select 2x2 or 3x3. Extra entries can be left at zero when the input is 2x2.
- 2 Fill in row-major entries: Type a₁₁ through a₃₃.
- 3 Read the singular values in order: σ₁ ≥ σ₂ ≥ σ₃, with the bracket list at the top showing them in one line.
- 4 Check the spectral norm: The ‖A‖₂ row equals σ₁ by construction.
- 5 Read the condition number and rank: Treat a value near 1 as well-conditioned, above 100 as poorly conditioned, and 0 as rank-deficient.
- 6 Confirm the Frobenius-norm check: Compare the reported value against a manual √(sum of squared entries).
For A = [[3, 0, 0], [0, 4, 0], [0, 0, 5]] the calculator returns σ₁ = 5, σ₂ = 4, σ₃ = 3, κ₂(A) = 1.6667, and rank = 3.
When you want the determinant, inverse, or transpose of the same A, the Matrix Calculator handles the algebra-side operations while this tool handles SVD-side diagnostics.
Benefits of Using This Calculator
The calculator replaces a hand-coded eigenvalue routine with a tool that returns the singular values and a verification line in the same panel.
- • Saves a hand verification step: The Frobenius-norm check turns a manual cross-multiplication into a single number.
- • Catches rank-deficient inputs: A zero σ_min triggers the condition-number sentinel and a reduced rank count.
- • Pairs with Cholesky: For a symmetric positive definite A, the Cholesky decomposition A = L L^T and the singular value decomposition share the same spectrum, so reading σ values here and the L entries on a Cholesky page covers the same matrix from two complementary angles.
- • Supports teaching: Reading σ₁, σ₂, and σ₃ next to the matrix entries shows how each axis of the unit circle is stretched.
- • Provides a quick numerical rank: The rank row uses a 1e-10 relative tolerance against σ_max, the practical way to answer "is this matrix full rank?".
The condition number is a quick sanity check for any matrix about to be inverted, used in a least-squares solve, or fed to an iterative solver. A value above 1e6 means a tiny input perturbation will be amplified a million times.
The same singular values drive the truncated SVD, the Eckart-Young low-rank approximation theorem, and principal component analysis. Reading them is the first step of those workflows.
The condition number from the calculator also bounds error amplification when solving a linear system, so feeding the same A and a right-hand side into the System of Equations Calculator is a natural next step.
Factors That Affect Your Results
Three factors determine the accuracy of the calculator and one structural limitation matters for users with larger matrices.
Numerical conditioning of A^T A
When A has both very large and very small singular values, A^T A can lose several digits of precision during the Jacobi iteration. The relative tolerance of 1e-10 catches the rank drop.
Sweep count and convergence
The Jacobi iteration runs up to 50 sweeps and stops early when the off-diagonal Frobenius norm falls below 1e-24. For typical 2x2 and 3x3 inputs that converges in under 30 sweeps.
Relative tolerance for rank
A singular value below 1e-10 × σ_max is treated as zero for ranking. Rank-deficient inputs report a condition number of 0 and a reduced rank, the right behavior for downstream solves.
- • The calculator only handles 2x2 and 3x3 real matrices. The same formulas apply to larger inputs, but the form would not be readable and a library routine such as LAPACK DGESDD is the right next step.
- • The output assumes the input is real. A complex matrix needs a different factorization using the conjugate transpose.
- • A Frobenius-norm check discrepancy near 1e-6 is normal floating-point noise. A discrepancy above 1e-3 means the matrix is ill-conditioned.
Use the calculator as a quick check on small matrices, not as a tuned numerical library. For production-scale SVDs the right tools are LAPACK DGESDD, NumPy linalg.svd, and MATLAB svd; all of them avoid forming A^T A directly (which would square the condition number) and instead reduce A to bidiagonal form via Householder reflections before applying divide-and-conquer on the bidiagonal matrix.
According to Wolfram MathWorld Singular Value Decomposition, the Frobenius norm of A equals the square root of the sum of the squares of the singular values, and the largest singular value equals the spectral norm.
The eigenvalues of A^T A that this calculator squares and takes the square root of are the roots of det(A^T A − λI) = 0, so the Characteristic Polynomial Calculator is the natural companion for readers who want the polynomial coefficients behind the singular values.
Frequently Asked Questions
Q: What are singular values of a matrix?
A: Singular values are the non-negative diagonal entries σ₁ ≥ σ₂ ≥ σ₃ in the diagonal matrix Σ of the singular value decomposition A = U Σ V^T. They are the square roots of the eigenvalues of A^T A and they describe how much A stretches space along its principal axes.
Q: How is a singular values calculator different from an eigenvalue calculator?
A: An eigenvalue calculator returns λ from A x = λ x and only works on square matrices in the conventional sense. A singular values calculator returns σ = sqrt(λ(A^T A)) and works on any real matrix, which makes it the right tool for rank, condition number, and the geometric stretching picture.
Q: What does the spectral norm of a matrix mean?
A: The spectral norm ‖A‖₂ is the largest singular value σ₁. It is the tightest operator bound for A: for any vector x, ‖A x‖ ≤ ‖A‖₂ ‖x‖, and the bound is tight along the right singular vector that corresponds to σ₁.
Q: How do I read the condition number from the singular values?
A: The 2-norm condition number κ₂(A) is σ_max divided by σ_min. A value of 1 is perfect conditioning, a value above 100 is poorly conditioned, and a reported 0 in the calculator means σ_min is below 1e-10 and the matrix is numerically rank-deficient.
Q: Can this calculator tell me if my matrix is rank-deficient?
A: Yes. The calculator reports a condition number of 0 and a reduced rank whenever σ_min falls below 1e-10. For a 2x2 input like [[1, 2], [2, 4]] the result is σ₁ = 5, σ₂ = 0, ‖A‖₂ = 5, and rank = 1, which is the canonical rank-deficient test case.
Q: Is the singular values calculator accurate for ill-conditioned matrices?
A: It is accurate to several digits for most 2x2 and 3x3 inputs, but ill-conditioned A^T A can lose precision during the Jacobi iteration. The Frobenius-norm check at the bottom of the result panel is the cheapest way to spot that loss, and for production-scale inputs LAPACK DGESDD is the right next step.