23 views

Uploaded by loshude

R_ the QR Decomposition of a Matrix

- LTU-EX-10003-SE
- Harvard University - Linear Algebra & Differential Equation
- Maths - Tensor and Big Data Processing-dynamic Tensor Analysis
- Actuarial Syllabus
- Mhgkj
- Linear Algebra and Numerical Analysis
- Week6 Homework
- Matrices
- P. V. Rao
- WYK Scilab Talk
- An Implementation of the Matrix-Based Supervisory Controller
- Optimization Notes
- RELATIVE HERMITIAN MATRICES
- Concept Osio
- Roi Baer and Martin Head-Gordon- Energy renormalization-group method for electronic structure of large systems
- DOC-20161203-WA0001 (1)
- lab1
- Business Decision Processes
- 2016-Fall-Midtrem_II2-3
- engg problems-cal

You are on page 1of 4

html

qr {base} R Documentation

Description

Usage

qr(x, ...)

## Default S3 method:

qr(x, tol = 1e-07 , LAPACK = FALSE, ...)

qr.coef(qr, y)

qr.qy(qr, y)

qr.qty(qr, y)

qr.resid(qr, y)

qr.fitted(qr, y, k = qr$rank)

qr.solve(a, b, tol = 1e-7)

## S3 method for class 'qr'

solve(a, b, ...)

is.qr(x)

as.qr(x)

Arguments

x

a numeric or complex matrix whose QR decomposition is to be computed. Logical

matrices are coerced to numeric.

tol

the tolerance for detecting linear dependencies in the columns of x. Only used if LAPACK

is false and x is real.

qr

a QR decomposition of the type computed by qr.

y, b

a vector or matrix of right-hand sides of equations.

a

a QR decomposition or (qr.solve only) a rectangular matrix.

k

effective rank.

LAPACK

logical. For real x, if true use LAPACK otherwise use LINPACK (the default).

...

further arguments passed to or from other methods

1 of 4 17/Sep/2017, 4:41 PM

R: The QR Decomposition of a Matrix http://127.0.0.1:31810/library/base/html/qr.html

Details

The QR decomposition plays an important role in many statistical techniques. In particular it can

be used to solve the equation \bold{Ax} = \bold{b} for given matrix \bold{A}, and vector \bold{b}.

It is useful for computing regression coefficients and in applying the Newton-Raphson algorithm.

The functions qr.coef, qr.resid, and qr.fitted return the coefficients, residuals and fitted

values obtained when fitting y to the matrix with QR decomposition qr. (If pivoting is used, some

of the coefficients will be NA.) qr.qy and qr.qty return Q %*% y and t(Q) %*% y, where Q is the

(complete) \bold{Q} matrix.

All the above functions keep dimnames (and names) of x and y if there are any.

solve.qr is the method for solve for qr objects. qr.solve solves systems of equations via the

QR decomposition: if a is a QR decomposition it is the same as solve.qr, but if a is a rectangular

matrix the QR decomposition is computed first. Either will handle over- and under-determined

systems, providing a least-squares fit if appropriate.

It is not possible to coerce objects to mode "qr". Objects either are QR decompositions or they are

not.

The LINPACK interface is restricted to matrices x with less than 2^31 elements.

Unsuccessful results from the underlying LAPACK code will result in an error giving a positive

error code: these can only be interpreted by detailed study of the FORTRAN code.

Value

in the returned value correspond directly to the values returned by DQRDC(2)/DGEQP3

/ZGEQP3.

qr

a matrix with the same dimensions as x. The upper triangle contains the \bold{R} of the

decomposition and the lower triangle contains information on the \bold{Q} of the

decomposition (stored in compact form). Note that the storage used by DQRDC and

DGEQP3 differs.

qraux

a vector of length ncol(x) which contains additional information on \bold{Q}.

rank

the rank of x as computed by the decomposition(*): always full rank in the LAPACK case.

pivot

information on the pivoting strategy used during the decomposition.

2 of 4 17/Sep/2017, 4:41 PM

R: The QR Decomposition of a Matrix http://127.0.0.1:31810/library/base/html/qr.html

Non-complex QR objects computed by LAPACK have the attribute "useLAPACK" with value TRUE.

In the (default) LINPACK case (LAPACK = FALSE), qr() uses a modified version of LINPACK's

DQRDC, called dqrdc2. It differs by using the tolerance tol for a pivoting strategy which

moves columns with near-zero 2-norm to the right-hand edge of the x matrix. This strategy means

that sequential one degree-of-freedom effects can be computed in a natural way.

Note

To compute the determinant of a matrix (do you really need it?), the QR decomposition is much

more efficient than using Eigen values (eigen). See det.

Using LAPACK (including in the complex case) uses column pivoting and does not attempt to

detect rank-deficient matrices.

Source

For qr, the LINPACK routine DQRDC (but modified to dqrdc2(*)) and the LAPACK routines

DGEQP3 and ZGEQP3. Further LINPACK and LAPACK routines are used for qr.coef, qr.qy and

qr.aty.

and their guides are listed in the references.

References

Anderson. E. and ten others (1999) LAPACK Users' Guide. Third Edition. SIAM.

Available on-line at http://www.netlib.org/lapack/lug/lapack_lug.html.

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth &

Brooks/Cole.

Dongarra, J. J., Bunch, J. R., Moler, C. B. and Stewart, G. W. (1978) LINPACK Users Guide.

Philadelphia: SIAM Publications.

See Also

qr.Q, qr.R, qr.X for reconstruction of the matrices. lm.fit, lsfit, eigen, svd.

Examples

h9 <- hilbert(9); h9

qr(h9)$rank #--> only 7

qrh9 <- qr(h9, tol = 1e-10)

qrh9$rank #--> 9

##-- Solve linear equation system H %*% x = y :

y <- 1:9/10

x <- qr.solve(h9, y, tol = 1e-10) # or equivalently :

x <- qr.coef(qrh9, y) #-- is == but much better than

#-- solve(h9) %*% y

3 of 4 17/Sep/2017, 4:41 PM

R: The QR Decomposition of a Matrix http://127.0.0.1:31810/library/base/html/qr.html

h9 %*% x # = y

## overdetermined system

A <- matrix(runif(12), 4)

b <- 1:4

qr.solve(A, b) # or solve(qr(A), b)

solve(qr(A, LAPACK = TRUE), b)

# this is a least-squares solution, cf. lm(b ~ 0 + A)

## underdetermined system

A <- matrix(runif(12), 3)

b <- 1:3

qr.solve(A, b)

solve(qr(A, LAPACK = TRUE), b)

# solutions will have one zero, not necessarily the same one

4 of 4 17/Sep/2017, 4:41 PM

- LTU-EX-10003-SEUploaded byAbdul
- Harvard University - Linear Algebra & Differential EquationUploaded byeverlbs
- Maths - Tensor and Big Data Processing-dynamic Tensor AnalysisUploaded byjagmohan.nanaware
- Actuarial SyllabusUploaded byEmmanuel K'pkor
- MhgkjUploaded byKarthikesan Mak
- Linear Algebra and Numerical AnalysisUploaded byDinesh Reddy
- Week6 HomeworkUploaded byyashar2500
- MatricesUploaded byNadeem Nasir Malik
- P. V. RaoUploaded byvna_vg
- WYK Scilab TalkUploaded bybnataraj
- An Implementation of the Matrix-Based Supervisory ControllerUploaded byHazwan Syahmi
- Optimization NotesUploaded bycrinaus2003
- RELATIVE HERMITIAN MATRICESUploaded byNadia F Mohammad Al-Roshdee
- Concept OsioUploaded byGerardo Tejeda
- Roi Baer and Martin Head-Gordon- Energy renormalization-group method for electronic structure of large systemsUploaded byNedsy8
- DOC-20161203-WA0001 (1)Uploaded bySiva Guru
- lab1Uploaded byMarco Caramello
- Business Decision ProcessesUploaded byOlga Savescu
- 2016-Fall-Midtrem_II2-3Uploaded byahmed
- engg problems-calUploaded bynabemdu
- sUploaded bySandeep Reddy
- BComHonoursdSyllabusUploaded byAlpha
- Mini Course on R(University of Leeds)Uploaded byVijay Kumar
- CS 200 HW2Uploaded by0307ali
- 10.1007@BF02287921Uploaded byphredlov
- 381 07 SC TestUploaded byChandrakanti Behera
- A Dsb Tender Clarifications 2Uploaded byanupamkhanna
- Nust Engineering Sample Paper 01Uploaded byBilal Nasir
- Wk02 Cad CamUploaded byquratulain
- Constrained Optimization-Lecture 11 (1)Uploaded bymaimoona

- R cheatsheet Data WranglingUploaded byarekbee
- Lunar 2018Uploaded byloshude
- R_ Character Translation and CasefoldingUploaded byloshude
- R_ Report Capabilities of This Build of RUploaded byloshude
- R_ Numeric VersionsUploaded byloshude
- R_ Push Text Back on to a ConnectionUploaded byloshude
- R_ Class for 'No Quote' Printing of Character StringsUploaded byloshude
- R_ Time Intervals _ DifferencesUploaded byloshude
- R_ Date ClassUploaded byloshude
- R_ Combine Values Into a Vector or ListUploaded byloshude
- R_ Functions to Retrieve Values Supplied by Calls to the BrowserUploaded byloshude
- R_ Functions to Manipulate Connections (Files, URLs, ...)Uploaded byloshude
- R_ Apply a Function to a Data Frame Split by FactorsUploaded byloshude
- R_ Bitwise Logical OperationsUploaded byloshude
- R_ Binding and Environment Locking, Active BindingsUploaded byloshude
- R_ Environment AccessUploaded byloshude
- R_ QuotesUploaded byloshude
- R_ Display Numbers in OctalUploaded byloshude
- R_ Approximate String Matching (Fuzzy Matching)Uploaded byloshude
- R_ Lists - Generic and Dotted PairsUploaded byloshude
- R_ Date-Time ClassesUploaded byloshude
- R_ FactorsUploaded byloshude
- R_ Determine Duplicate ElementsUploaded byloshude
- Datatable Cheat Sheet RUploaded byloshude
- Approximate String Distances in RUploaded byloshude
- Data Output in rUploaded byloshude
- Dplyr Windows Rank in rUploaded byloshude
- Dplyr Helpers in rUploaded byloshude
- dphly lead lag in rUploaded byloshude

- FastStone Image ViewerUploaded bycrodero
- Zvr Sales Alv ReportUploaded byPradeep Reddy
- Project report on routing protocolsUploaded byBhawna03
- Prolog1Uploaded bydummy4mail
- ScjpUploaded bymathigangadhar
- AlgorithmsUploaded byAbbas Haider
- 16F1939Uploaded bystrek1
- Osce 11.0 Sp1 Cp AgUploaded byRavinder Kant
- White Paper for Archiving in SAP BI - United BiscuitsUploaded bycnubabudwh
- pertemuan -Uploaded byNuraini Azizah
- Sonicwall Nsa 2400 Getting Started GuideUploaded bySerge Rajaonarivelo
- Cantors Diagonal MethodUploaded byKK-bookslover
- kdbplus tutorial.pdfUploaded bySuperquant
- Automated Database Maintenance Task ManagementUploaded byNagaraju
- Secure Data Storage on Cloud System for Privacy PreservingUploaded byAnonymous kw8Yrp0R5r
- RCAN01quickstartupUploaded byculwaves
- c# Db Sync ExampleUploaded bylittlerab
- CS 157A Chap 1 - AhmadUploaded byMichael Price
- pdftk maunalUploaded byMarlon Machado
- asset-v1-BITSX+F241+2015-16_Semester_II+type@asset+block@protegUploaded byMohammed A. Maher
- Svm TutorialUploaded bylalithkumar_93
- Assignment2_kavya_puligundlaUploaded bykmaheshp
- F-Secure Client Security Administrator's GuideUploaded byAbqori Aula
- Think Python_ How to Think Like a Computer ScientistUploaded byyeeleong
- Crypto MapUploaded byJudge Fudge
- Hessian_Matrix_and_Convexity.pdfUploaded byDennis Ling
- GreenSQL_Pro_User_GuideUploaded byyousuff
- Simple Timer 1 Interrupt Example for TheUploaded byPci Electronica
- SrsUploaded byeger
- Input and Output in JavaUploaded byCHANDRA BHUSHAN