tensr (version 1.0.1)

polar: The left polar decomposition.

Description

polar calculates the left polar decomposition of a matrix.

Usage

polar(X)

Arguments

X

A matrix.

Value

P A \(n\) by \(n\) symmetric positive definite matrix.

Z A \(n\) by \(p\) matrix with orthonormal rows.

Note that X == P %*% Z, up to numerical precision.

Details

polar Takes a matrix \(X\), of dimensions \(n\) by \(p\), and returns two matrices \(P\) and \(Z\) such that \(X = PZ\). \(P\) is a symmetric positive definite matrix of dimension \(n\) by \(n\) and \(Z\) is an \(n\) by \(p\) matrix with orthonormal rows.

Examples

Run this code
# NOT RUN {
X <- matrix(1:6, nrow = 2)
polar_x <- polar(X)
P <- polar_x$P
Z <- polar_x$Z
P
Z
trim(Z %*% t(Z))
trim(X - P %*% Z)
# }

Run the code above in your browser using DataLab