set.seed(1)
n <- 10; p <- 4
X <- matrix(rnorm(n * p), n, p)
y <- rnorm(n)
qr_res <- fastQR::qr_fast(X)
res1 <- fastQR::qr_Qty(qr = qr_res$qr, tau = qr_res$qraux, y = y)
## reference computation
Q <- base::qr.Q(base::qr(X), complete = TRUE)
res2 <- crossprod(Q, y)
max(abs(res1 - drop(res2)))
Run the code above in your browser using DataLab