# Variance Structure Qualifiers

## Constraining Variance parameters

This section explains how to make several variance parameters have the same value.

#### Parameter within a variance model

Equality of parameters in a variance model can be specified using the !=s qualifier where s is a string of letters and/or zeros. Positions in the string correspond to the parameters of the variance model:
• all parameters with the same letter in the structure are treated as the same parameter,
• 1-9 are different from a-z which are different from A-Z so that 61 equalities can be specified. 0 and . mean unconstrained. A colon generates a sequence viz. a:e is the same as abcde
• Putting % as the first character in s makes the interpretation of codes absolute (so that they apply across structures.
• Putting * as the first character in s indicates that numbers are repeat counts, A-Z are equality codes and only . is unconstrained. Thus !=*.3A2. is equivalent to !=0AAA00 or !=0aaa00)

#### Examples

``` 4 0 US  !=ABACBA0CBA
```
constrains all parameters corresponding to A to be equal, similarly for B and C. The 7th parameter would be left unconstrained. This sequence applied to an unstructured 4 x 4 matrix would make it banded, that is
A
B A
C B A
0 C B A

```
site.gen 2  # G header line
site  0  US  .3  !=0A0AA0 !GPUPUUP
.1  .4  .1  .1  .3
gen
```
defines a structure for the genotype by site interaction effects in a MET in which the genotypes are independent random effects within sites but are correlated across sites with equal covariance.
``` site  0  FA2 !G4PZ3P4P !=00000000VVVV
4*.9       # initial values for 1st factor
0 3*.1      # initial values for 2nd factor, first fixed at 0
4*.2        # initial values for site variances
```
defines a 2 factor Factor Analytic model for 4 sites with equal variance. The first loading in the second factor is constrained equal to 0 for identifiability. P places restrictions on the magnitude of the loadings and the variances to be positive.
``` xfa(site,2) 0 XFA2 !=VVVV0 !4P4PZ3P
4*.2        # initial specific variances
```
defines a 2 factor Factor analytic model in which the specific variances are all equal.

#### Parameters between and within variance models

More general relationships between variance parameters can be defined using the !VCC c qualifier placed on the data file definition line.
• !VCC c specifies that there are c constraint lines defining constraints to be applied,
• the constraint lines occur after the variance header line and any R and G structure lines, that is, there must be a variance header line,
• each constraint is specified in a separate line in the form
P_1 * V_1 P_2} * V_2 ...
where
P_i is the number of a parameter and \$V_i\$ is a coefficient,
P_1 is the primary parameter number,
* indicates that the next values (V_i) is a weighting coefficient,
if the coefficient is 1 you may omit the * 1,
if the coefficient is -1 you may write -P_i instead of P_i *-1,
the meaning of the coefficients is as follows P_2} = V_2 * P_1/ V_1,
typically V_1 = 1,
a variance parameter may only be included in constraints once,
• the P_i terms refer to positions in the full variance parameter vector. This may change if the model is changed. The full vector includes a term for each factor in the model and then a term for each parameter defined in the R and G structures. A list of P_i numbers and their initial values is returned in the .asl file to help you to check the numbers. Alternatively, examine the .asr file from an initial run with !VCC included but no arguments supplied. The job will terminate but ASReml will provide the P_i values associated with each variance component. Otherwise the numbers are given in the .res file.

#### Examples

5 7 * .1 parameter 7 is a tenth of parameter 5 5 -7 parameter 7 is the negative of parameter 32 34 35 37 38 39 for a 4 by 4 US matrix given by parameters 31...40, the covariances are forced to be equal.