Polar Decomposition Calculator

Decompose a matrix A = UP into a unitary factor U and positive semi-definite factor P. View singular values, condition number, and geometric interpretation.

Matrix A
Determinant
0.000000
det(A) — determines if the unitary factor is a proper rotation
Invertible?
No (singular)
A is invertible iff det(A) ≠ 0, ensuring unique decomposition
‖A‖_F
0.0000
Frobenius norm of A
Condition Number
σ_max / σ_min — measures numerical sensitivity
AᵀA Symmetric?
Yes ✓
AᵀA is always symmetric positive semi-definite
Singular Values
0.0000, 0.0000
Square roots of eigenvalues of AᵀA

Decomposition: A = U · P

Right polar decomposition: P = √(AᵀA) is positive semi-definite, U is unitary (orthogonal for real matrices).

AᵀA (Gram matrix)
0.00000.0000
0.00000.0000
P = √(AᵀA) (positive semi-definite factor)
0.00000.0000
0.00000.0000
AAᵀ (left Gram matrix)
0.00000.0000
0.00000.0000

Singular Value Spectrum

σ1
0.0000
σ2
0.0000

Eigenvalues of AᵀA

IndexEigenvalue (λ)Singular Value (√λ)% of Total
10.0000000.000000
0.0%
20.0000000.000000
0.0%

Geometric Interpretation

PropertyValueMeaning
U (unitary factor)Partial isometryPreserves lengths and angles
P (positive factor)StretchingScales along principal axes by σᵢ
det(A) signPositiveU is a proper rotation
ConditionIll-conditionedLower condition number = more numerically stable
Planning notes, formulas, and examples

About the Polar Decomposition Calculator

The polar decomposition factors any square matrix A into the product A = UP, where U is a unitary (orthogonal) matrix and P is a positive semi-definite matrix. This is the matrix analogue of writing a complex number in polar form z = re^{iθ}, where r is the magnitude and e^{iθ} is the rotation. In the matrix version, P captures the "stretching" (analogous to r) and U captures the "rotation" (analogous to e^{iθ}).

For invertible matrices the decomposition is unique: P = √(AᵀA) is computed from the eigenvalues of the Gram matrix AᵀA, and U = AP⁻¹. When A is singular, the unitary factor may not be unique, but the positive factor P remains uniquely determined. The left polar decomposition A = P'U reverses the order and uses P' = √(AAᵀ) instead.

This calculator computes the right polar decomposition for 2×2 and 3×3 matrices. It displays the Gram matrix AᵀA, the positive semi-definite factor P, singular values, the condition number, and a geometric interpretation of what the decomposition means for the linear transformation defined by A. Load a preset or enter your own matrix to explore.

When This Page Helps

The polar decomposition separates a linear transformation into its rotational and stretching components, making it essential in continuum mechanics (separating rigid rotation from deformation), computer graphics (interpolating between rotations), and numerical analysis (computing matrix square roots). Computing it by hand requires finding eigenvalues of AᵀA, taking square roots, and inverting — this calculator handles the full workflow and shows every intermediate step.

How to Use the Inputs

  1. Select the matrix size (2×2 or 3×3)
  2. Enter the matrix entries or click a preset to load an example
  3. View the computed singular values and condition number in the output cards
  4. Examine the Gram matrix AᵀA and the positive factor P = √(AᵀA)
  5. Check the singular value spectrum bar chart for relative magnitudes
  6. Review the eigenvalue table for detailed breakdown
  7. Read the geometric interpretation table to understand what U and P do
Formula used
Right polar decomposition: A = UP, where P = √(AᵀA) and U = AP⁻¹. Left polar decomposition: A = P'U, where P' = √(AAᵀ). Singular values σᵢ = √(λᵢ(AᵀA)).

Example Calculation

Result: Singular values: 5.372, 1.628; Condition number: 3.30

The symmetric matrix [[4,2],[2,3]] has eigenvalues 5 and 2, so singular values are √5 ≈ 2.236 and √2 ≈ 1.414. Since A is already symmetric positive definite, U = I (identity) and P = A.

Tips & Best Practices

  • For symmetric positive definite matrices, U = I and P = A (the matrix is its own positive factor)
  • The singular values of A equal the eigenvalues of P
  • A high condition number (σ_max / σ_min) indicates the matrix is nearly singular
  • If det(A) < 0, the unitary factor U includes a reflection
  • The polar decomposition generalizes to rectangular matrices using the SVD
  • In continuum mechanics, U is the rotation tensor and P is the right stretch tensor

The Mathematics of Polar Decomposition

Every square matrix A can be written as A = UP where U is unitary and P = √(AᵀA) is positive semi-definite. Computing P requires finding the eigenvalues λᵢ of the symmetric matrix AᵀA, then P has the same eigenvectors with eigenvalues √λᵢ. When A is invertible, U = AP⁻¹ is uniquely determined and satisfies UᵀU = I (orthogonal for real matrices). The decomposition extends to rectangular matrices via the SVD: if A = WΣVᵀ, then U = WVᵀ and P = VΣVᵀ.

Applications in Physics and Engineering

In solid mechanics, the deformation gradient tensor F maps material coordinates to spatial coordinates. The right polar decomposition F = RU separates the motion into a pure stretch U (the right stretch tensor) followed by a rigid rotation R. Engineers use this to distinguish elastic deformation from rigid body motion, which is essential for constitutive modeling. In fluid mechanics, similar decompositions of the velocity gradient help identify rotational vs. irrotational components of the flow.

Numerical Considerations

Computing the polar decomposition numerically requires care. The naive approach via eigendecomposition of AᵀA can lose accuracy when A is ill-conditioned. More robust methods include the iterative Higham algorithm: U_{k+1} = (U_k + U_k^{-T})/2, which converges quadratically to the unitary factor. The Newton-Schulz iteration avoids explicit inversion and is preferred for parallel implementations. For applications requiring high accuracy, such as rotation extraction in animation, these iterative methods are preferred over the SVD-based approach.

Sources & Methodology

Last updated:

Frequently Asked Questions

  • It factors a square matrix A into A = UP, where U is unitary (preserves lengths) and P is positive semi-definite (stretches along principal axes). It is analogous to writing a complex number as z = r·e^{iθ}.