R: Known variance structures

known_vs {asreml} | R Documentation

## Known variance structures

### Description

Model function associating a known variance structure with a factor in the data.

### Usage

    vm(obj, source, singG = NULL)

    ide(obj)

    ric(obj, source, singG = NULL)

### Arguments

`obj` | A factor in `data`.
`source` | The known inverse or relationship matrix with the following descriptions: 1. A sparse inverse variance matrix held in three-column coordinate form in row-major order. This triplet matrix must have class `ginv` from a call to `ainverse()`, or have attribute `INVERSE` set to `TRUE`. For backwards compatibility, a three-column data frame is also accepted. In either case, the `source` must have a `rowNames` attribute, or 2. A sparse relationship matrix held in three-column coordinate form (as a matrix) in row-major order. If the attribute `INVERSE` is not set then `FALSE` is assumed; a `rowNames` attribute must be set, or 3. A `matrix` (or `Matrix` object) with a `dimnames` attribute giving the levels of the model term being defined. This may be a relationship matrix or its inverse; if an inverse, it must have an `INVERSE` attribute set to `TRUE`, or 4. A numeric vector of the lower triangular elements in row-major order. The vector must have a `rowNames` attribute, and if an inverse, it must have an `INVERSE` attribute set to `TRUE`.
`singG` | Ignored if `source` has class `ginv` or attribute `INVERSE = TRUE`; in such cases `source` must be one of: 1. A sparse matrix in coordinate form with class `ginv`, or attribute `INVERSE = TRUE`, or 2. An object of class `matrix` or `Matrix` with `INVERSE = TRUE`, or 3. A vector assumed to be the lower triangle in row-major order with attribute `INVERSE = TRUE`. If `source` does not have class `ginv`, or the attribute `INVERSE` is `FALSE` or not set, and `singG = NULL`, then `source` is assumed a positive definite relationship matrix and `singG` is reset to `"PD"`. Otherwise, a character string giving the state of the (to be inverted) `source` object: `"PD"`: Positive definite (default). `"ND"`: `source` is non-singular indefinite (positive and negative roots). In this case `asreml` ignores the indefinite condition and proceeds. `"PSD"`: `source` is positive semi-definite. In this case, `asreml` proceeds using Lagrange multipliers to process the matrix. Two cases arise: whether the singularity arises because an effect has zero variance or whether it arises as a linear dependence. An example of the first is when the genomic relationship matrix represents a dominance matrix, and the list of genotypes includes fully inbred individuals (which by definition have no dominance). An example of the second is when the list of genotypes includes clones. `"NSD"`: `source` is singular indefinite (positive, zero and negative roots). The indefinite condition is ignored and `asreml` proceeds using Lagrange multipliers as for `"PSD"` matrices.

### Details

If `source` is of class `Matrix`, `asreml` will convert `source` internally to either a sparse triplet form (class `dsparseMatrix`), or dense vector form (class `ddenseMatrix`) for processing.

### Functions

- `asr_vm()`: Create a model term associating a known relationship structure in `source` with a factor in `data`.

- `asr_ide()`: Create a term with the levels of `vm`, and modelled by the homogeneous form of the identity variance structure. The `vm` term must precede `ide` in the model for the factor levels to be found.

- `asr_ric()`: Create a model term associating a known relationship structure in `source` and residual additive genetic effects with a factor in `data`.

[Package asreml version 4.2.0.480 Index]