gpuLsfit: Least squares fit using GPU-enabled QR decomposition

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/gpuLm.R

Description

The least squares estimate of b in the model

y = X b + e

is found.

Most of this documentation is copied from R's documentation for lsfit. The function gpuLsfit performs a least–squares fit using a GPU enabled QR decomposition.

Note: The QR decomposition employed by gpuLm is optimized for speed and uses minimal pivoting. If more precise pivoting is desired, then either the function gpuQR or, better still, svd should be used.

Usage

1
2
3
4
gpuLsfit(x, y,
  wt = NULL, intercept = TRUE, useSingle = TRUE,
  tolerance=gpuLm.defaultTol(useSingle),
  yname = NULL)

Arguments

x

a matrix whose rows correspond to cases and whose columns correspond to variables.

y

the responses, possibly a matrix if you want to fit multiple left hand sides.

wt

an optional vector of weights for performing weighted least squares.

intercept

whether or not an intercept term should be used.

useSingle

whether to use single precision arithmetic on the gpu. Only the 'TRUE' option is implemented so far.

tolerance

the tolerance to be used in the matrix decomposition. This defaults to 1e-04 for single–precision GPU computation.

yname

names to be used for the response variables.

Details

If weights are specified then a weighted least squares is performed with the weight given to the jth case specified by the jth entry in wt.

If any observation has a missing value in any field, that observation is removed before the analysis is carried out. This can be quite inefficient if there is a lot of missing data.

The implementation is via a modification of the LINPACK subroutines which allow for multiple left-hand sides.

Value

A list with the following named components:

coef

the least squares estimates of the coefficients in the model (b as stated above).

residuals

residuals from the fit.

intercept

indicates whether an intercept was fitted.

qr

the QR decomposition of the design matrix.

Author(s)

This function was adapted for Nvidia's CUDA–supporting GPGPUs by Mark Seligman at Rapid Biologics LLC. http://www.rapidbiologics.com

References

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

See Also

lsfit, lm, ls.print, ls.diag

Examples

1
2
3
##-- Using the same data as the lm(.) example:
lsD9 <- gpuLsfit(x = unclass(gl(2,10)), y = weight)
ls.print(lsD9)

gputools documentation built on May 30, 2017, 1:52 a.m.

Related to gpuLsfit in gputools...