Learn R Programming

klin (version 2007-02-05)

klin.preparels: Prepares matrices for the least squares solver

Description

You should use this function whenever you are calling klin.ls repeatedly with the same matrices.

Usage

klin.preparels(A)

Arguments

A
A list that contains the matrices, preferably of class Matrix.

Value

  • A list of class klin.prepls, contains matrices for the left and right hand side.

Details

To compute the least squares estimate, we are solving $$(A_1 \times A_2 \ldots \times A_K)^T (A_1 \times A_2 \times \ldots \times A_K) = (A_1 \times A_2 \times \ldots \times A_K)^T b$$ However, for square $A_i$ matrices, one can premultiply both sides by the Kronecker product of the inverse of $A_i^T$ (in the corresponding place) and identity matrices, making the problem simpler.

klin.prepls calculates the matrices needed on both sides, but does not evaluate the Kronecker product.

See Also

klin.eval, klin.solve, klin.ls, klin.klist.

Examples

Run this code
## dimensions
n <- c(2,4,3)
m <- n+c(1,0,2)			# we need m >= n
## make random matrices
A <- lapply(seq_along(n),
            function(i) Matrix(rnorm(m[i]*n[i]),m[i],n[i]))
b <- rnorm(prod(m))		# make random b
prepA <- klin.preparels(A)
x <- klin.ls(prepA,b)

Run the code above in your browser using DataLab