How to Perform QR Decomposition in R - Step by Step Examples
How to Perform QR Decomposition in R ?
Answer
To perform QR decomposition in R, you can use the qr()
function. This function computes the QR decomposition of a matrix, representing it as the product of an orthogonal matrix Q and an upper triangular matrix R.
✐ Examples
1 Performing QR Decomposition on a 3x3 Matrix
In this example,
- We start by creating a 3x3 matrix named
mat
using thematrix()
function. This matrix represents the data we want to decompose. - Next, we use the
qr()
function to perform QR decomposition on the matrixmat
. We assign the result to a variable namedqr_res
. - We extract the orthogonal matrix Q from
qr_res
using the$qr
attribute and assign it to a variable namedQ
. - We also extract the upper triangular matrix R from
qr_res
using the$qr
attribute and assign it to a variable namedR
. - We print both matrices
Q
andR
to the console to see the results. This allows us to verify the decomposition.
R Program
mat <- matrix(c(1, 2, 3, 4, 5, 6, 7, 8, 9), nrow = 3, byrow = TRUE)
qr_res <- qr(mat)
Q <- qr.Q(qr_res)
R <- qr.R(qr_res)
print('Orthogonal Matrix Q:')
print(Q)
print('Upper Triangular Matrix R:')
print(R)
Output
[1] "Orthogonal Matrix Q:" [,1] [,2] [,3] [1,] -0.1230915 0.9045340 0.4082483 [2,] -0.4923660 0.3015113 -0.8164966 [3,] -0.8616404 -0.3015113 0.4082483 [1] "Upper Triangular Matrix R:" [,1] [,2] [,3] [1,] -8.124038 -9.601136 -1.107823e+01 [2,] 0.000000 0.904534 1.809068e+00 [3,] 0.000000 0.000000 -2.220446e-16
2 Performing QR Decomposition on a 4x2 Matrix
In this example,
- We start by creating a 4x2 matrix named
mat
using thematrix()
function. This matrix represents another set of data we want to decompose. - Next, we use the
qr()
function to perform QR decomposition on the matrixmat
. We assign the result to a variable namedqr_res
. - We extract the orthogonal matrix Q from
qr_res
using the$qr
attribute and assign it to a variable namedQ
. - We also extract the upper triangular matrix R from
qr_res
using the$qr
attribute and assign it to a variable namedR
. - We print both matrices
Q
andR
to the console to see the results. This allows us to verify the decomposition.
R Program
mat <- matrix(c(1, 2, 3, 4, 5, 6, 7, 8), nrow = 4, byrow = TRUE)
qr_res <- qr(mat)
Q <- qr.Q(qr_res)
R <- qr.R(qr_res)
print('Orthogonal Matrix Q:')
print(Q)
print('Upper Triangular Matrix R:')
print(R)
Output
[1] "Orthogonal Matrix Q:" [,1] [,2] [1,] -0.1091089 -0.8295151 [2,] -0.3273268 -0.4391550 [3,] -0.5455447 -0.0487950 [4,] -0.7637626 0.3415650 [1] "Upper Triangular Matrix R:" [,1] [,2] [1,] -9.165151 -10.9108945 [2,] 0.000000 -0.9759001
Summary
In this tutorial, we learned How to Perform QR Decomposition in R language with well detailed examples.
More R Matrices Tutorials
- How to Create a Matrix in R ?
- How to Combine Matrices by Columns in R ?
- How to Combine Matrices by Rows in R ?
- How to Create Diagonal Matrices in R ?
- How to Access Matrix Elements using Indexing and Slicing in R ?
- How to get Matrix Size in R ?
- How to get Number of Rows in Matrix in R ?
- How to get Number of Columns in Matrix in R ?
- How to do Matrix Addition in R ?
- How to do Matrix Subtraction in R ?
- How to do Matrix Multiplication in R ?
- How to do Scalar Multiplication on a Matrix in R ?
- How to do Scalar Division on a Matrix in R ?
- How to do Element-Wise Operations in a Matrix in R ?
- How to Assign Row and Column Names in a Matrix in R ?
- How to get Row Names in a Matrix in R ?
- How to get Column Names in a Matrix in R ?
- How to find Transpose of a Matrix in R ?
- How to Extract the Diagonal of a Matrix in R ?
- How to find Determinant of a Matrix in R ?
- How to find Inverse of a Matrix in R ?
- How to find Rank of a Matrix in R ?
- How to Find Eigenvalues and Eigenvectors of a Matrix in R ?
- How to Perform Singular Value Decomposition (SVD) in R ?
- How to Perform QR Decomposition in R ?
- How to Perform Cholesky Decomposition in R ?
- How to Reshape Matrices in R ?
- How to Convert Data Frames to Matrices in R ?
- How to Create Identity Matrix in R ?
- How to Create Zero Matrix in R ?
- How to Create Ones Matrix in R ?
- How to Generate Random Matrices in R ?
- How to Calculate Row and Column Sums in R ?
- How to Calculate Row and Column Means in R ?
- How to Find Row and Column Max/Min in R ?
- How to Perform Element-Wise Comparisons in R ?