# calc.FXtF2: Compute Quadratic Form Bewteen Temporal Trends and Sigma B In SpatioTemporal: Spatio-Temporal Model Estimation

## Description

Computes the quadratic form between a sparse matrix `F` containing the temporal trends and the covariance matrix for the beta fields (Sigma_B). Or possibly the product between two different `F`'s and a cross-covariance matrix.

See the examples for details.

## Usage

 `1` ```calc.FXtF2(F, mat, loc.ind, F2 = F, loc.ind2 = loc.ind) ```

## Arguments

 `F, F2` (number of obs.) - by - (number of temporal trends) matrices containing the temporal trends. Usually `mesa.model\$F`, where `mesa.model` is obtained from `createSTmodel`. `mat` A block diagonal, with equal size blocks. The number of blocks need to equal `dim(F)[2]` `loc.ind, loc.ind2` A vector indicating which location each row in `F` corresponds to, usually `mesa.model\$obs\$idx`.

## Value

Returns a square matrix with side `dim(F)[1]`

## Author(s)

Johan Lindstrom and Adam Szpiro

## See Also

Other block matrix functions: `blockMult`, `calc.FX`, `calc.mu.B`, `calc.tFXF`, `calc.tFX`, `makeCholBlock`, `makeSigmaB`, `makeSigmaNu`

Other temporal trend functions: `calc.FX`, `calc.tFXF`, `calc.tFX`, `expandF`

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30``` ```require(Matrix) ##create a trend trend <- cbind(1:5,sin(1:5)) ##an index of locations idx <- c(rep(1:3,3),1:2,2:3) idx2 <- c(rep(1:2,3),2,2) ##a list of time points for each location/observation T <- c(rep(1:3,each=3),4,4,5,5) T2 <- c(rep(1:3,each=2),4,5) ##expand the F matrix to match the locations/times in idx/T. F <- trend[T,] F2 <- trend[T2,] ##first column gives time and second location for each observation cbind(T, idx) ##...and for the second set cbind(T2, idx2) ##create a cross covariance matrix C <- makeSigmaB(list(c(1,1),c(1,.5)), crossDist(1:max(idx),1:max(idx2))) ##compute F %*% X %*% F2' FXtF2 <- calc.FXtF2(F, C, loc.ind=idx, F2=F2, loc.ind2=idx2) ##which is equivalent to FXtF2.alt <- expandF(F, idx) %*% C %*% t( expandF(F2, idx2) ) range(FXtF2 - FXtF2.alt) ```

SpatioTemporal documentation built on June 25, 2018, 9:03 a.m.