Declares one or more `LRV`

data structures.

### Options

`ROWS` = scalar, vector or pointer |
Number of rows, or row labels, for the matrix; default `*` |
---|---|

`COLUMNS` = scalar, vector or pointer |
Number of columns, or column labels, for matrix and diagonal matrix; default `*` |

### Parameters

`IDENTIFIER` = identifiers |
Identifiers of the LRVs |
---|---|

`VECTORS` = matrices |
Matrix to contain the latent vectors for each LRV |

`ROOTS` = diagonal matrices |
Diagonal matrix to contain the latent roots for each LRV |

`TRACE` = scalars |
Trace of the matrix |

### Description

The LRV is a compound data structure. These are similar to pointers in that they point to other structures, but they have a fixed number of elements which must be of the correct types and must form a consistent set (in terms of their sizes and so on). You can refer to elements of compound structures in exactly the same way as the elements of pointers, but the suffixes and their labels are fixed for each type of structure. Unlike pointers, the labels are also not case sensitive; Genstat will recognize the label in either upper case or lower case, or in any mixture of the two.

The LRV structure is used to store latent roots and vectors resulting from the decomposition of a matrix (by the `FLRV`

directive), or produced in multivariate analysis. It points to three structures (identified by their suffixes):

The length of each latent vector is specified by the `ROWS`

option; this then defines the number of rows in the `'VECTORS'`

matrix. The `COLUMNS`

option defines the number of latent roots to be stored; this is also the number of latent vectors, and so indicates the number of columns in the `'VECTORS'`

matrix and the number of elements in the `'ROOTS'`

matrix. If you do not specify the number of columns Genstat will set it to be the same as the number of rows. The value of `COLUMNS`

can be less than the value of `ROWS`

; however, it must not exceed than that of `ROWS`

, otherwise Genstat gives an error diagnostic. Row and column labels can be defined, as in the `MATRIX`

directive.

You can specify identifiers for the three individual elements of the LRV by using the `VECTORS`

, `ROOTS`

and `TRACE`

parameters. If you have declared them already they must be of the correct type (and you can also have given them values). If you have given these identifiers row or column settings, then these will be used for the `LRV`

declaration and must match any of the corresponding options of `LRV`

that you choose to set.

Options: `ROWS`

, `COLUMNS`

.

Parameters: `IDENTIFIER`

, `VECTORS`

, `ROOTS`

, `TRACE`

.

### See also

Directives: `FLRV`

, `DIAGONALMATRIX`

, `MATRIX`

, `POINTER`

, `QRD`

, `SVD`

, `SYMMETRICMATRIX`

.

Commands for: Data structures, Multivariate and cluster analysis.

### Example

" Example LRV-1: Latent roots and vectors" POINTER [VALUES=stem,leaf,root,petal,pollen] Vars SYMMETRICMATRIX [ROWS=Vars] Symm READ Symm 1.000 -0.655 1.000 -0.945 0.866 1.000 -0.756 0.000 0.500 1.000 0.500 -0.982 -0.756 0.189 1.000: PRINT Symm " Declare a latent roots and vectors structure" LRV [ROWS=Vars; COLUMNS=2] Latent; VECTORS=Lvecs " Form the values of the structure" FLRV Symm; Latent PRINT Latent['Vectors','Roots']