# Constraints on Variance parameters

## !VCC

!VCC n specifies that n constraints are to be applied to the variance parameters. The constraint lines occur after the G structures are defined. The constraints are described below after a section on defining equality constraints using !=. The variance header line must be present, even if only 0 0 0 indicating there are no explicit R or G structures

## 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
4*1.2       # initial loadings for 1st factor
0 3*.3      # initial loadings for 2nd factor
```
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 and is often difficult to determine as a number. If it refers to a parameter which is a single traditional variance component associated with a random term, the name of the random term may be given instead of the parameter number. The full parameter vector includes a term for each factor in the model and then a term for each parameter defined in the R and G structures. 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 .res 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. units -uni(check) parameter associated with model
term uni(check) has the same magnitude but opposite sign to the parameter associated with model term units