## generate sample data
set.seed(1234)
n <- 10
p <- 6
X <- matrix(rnorm(n * p, 1), n, p)
## QR factorization via Givens rotation
output <- qr(X, type = "givens", complete = TRUE)
Q <- output$Q
R <- output$R
## check
round(Q %*% R - X, 5)
max(abs(Q %*% R - X))
## QR factorization via Householder rotation
output <- qr(X, type = "householder", complete = TRUE)
Q <- output$Q
R <- output$R
## check
round(Q %*% R - X, 5)
max(abs(Q %*% R - X))
Run the code above in your browser using DataLab