Condition Number & Matrix Norms, Computed Live

Enter a square or rectangular matrix and instantly get its 2-norm condition number (from singular values), the 1-, infinity-, and Frobenius norms, and a plain-English read on how numerically stable it is.

How the condition number is calculated

The 2-norm condition number of a matrix A is the ratio of its largest to smallest singular value: κ₂(A) = σmax / σmin. Singular values are the non-negative square roots of the eigenvalues of the symmetric matrix AᵀA. This tool forms AᵀA explicitly, then runs the classic cyclic Jacobi eigenvalue algorithm — repeatedly zeroing the largest off-diagonal entry with a plane rotation until the matrix is diagonal to machine tolerance. The diagonal holds the eigenvalues; their square roots are σ.

AᵀA = V Σ² Vᵀ  →  σᵢ = √(λᵢ(AᵀA))  →  κ₂ = σ₁ / σₙ

The other norms follow directly from the entries. The 1-norm is the maximum absolute column sum, the infinity-norm is the maximum absolute row sum, and the Frobenius norm is the square root of the sum of squared entries (equivalently √(Σ σᵢ²)). The 2-norm itself equals σmax.

Why care? The condition number bounds how much relative error in b can be amplified when solving Ax = b. If κ(A) ≈ 10ᶉ, you can lose up to k significant decimal digits in the solution. A value near 1 is perfectly conditioned (orthogonal matrices sit exactly at 1); values above 1/εmachine ≈ 10¹⁶ for double precision mean the matrix is numerically singular and the solution is meaningless. Ill-conditioning is why naive Gaussian elimination on a Hilbert matrix produces garbage while the same code sails through a diagonally dominant system. Use this to sanity-check design matrices, covariance matrices, and stiffness matrices before you trust a solver's output.

Related Tools

Matrix Determinant Calculator Eigenvalue & Eigenvector Calculator Linear System (Ax=b) Solver