Converts a set of covariance matrices from representation as a 3-D array to a parameterization by eigenvalue decomposition.

`sigma2decomp(sigma, G = NULL, tol = sqrt(.Machine$double.eps), ...)`

The covariance matrices for the mixture components in decomposition form, including the following components:

- modelName
A character string indicating the infered model. The help file for

`mclustModelNames`

describes the available models.- d
The dimension of the data.

- G
The number of components in the mixture model.

- scale
Either a

*G*-vector giving the scale of the covariance (the*d*th root of its determinant) for each component in the mixture model, or a single numeric value if the scale is the same for each component.- shape
Either a

*G*by*d*matrix in which the*k*th column is the shape of the covariance matrix (normalized to have determinant 1) for the*k*th component, or a*d*-vector giving a common shape for all components.- orientation
Either a

*d*by*d*by*G*array whose`[,,k]`

th entry is the orthonomal matrix whose columns are the eigenvectors of the covariance matrix of the*k*th component, or a*d*by*d*orthonormal matrix if the mixture components have a common orientation. The`orientation`

component of`decomp`

can be omitted in spherical and diagonal models, for which the principal components are parallel to the coordinate axes so that the orientation matrix is the identity.

- sigma
Either a 3-D array whose [,,k]th component is the covariance matrix for the kth component in an MVN mixture model, or a single covariance matrix in the case that all components have the same covariance.

- G
The number of components in the mixture. When

`sigma`

is a 3-D array, the number of components can be inferred from its dimensions.- tol
Tolerance for determining whether or not the covariances have equal volume, shape, and or orientation. The default is the square root of the relative machine precision,

`sqrt(.Machine$double.eps)`

, which is about`1.e-8`

.- ...
Catches unused arguments from an indirect or list call via

`do.call`

.

`decomp2sigma`

```
meEst <- meEEE(iris[,-5], unmap(iris[,5]))
names(meEst$parameters$variance)
meEst$parameters$variance$Sigma
sigma2decomp(meEst$parameters$variance$Sigma, G = length(unique(iris[,5])))
```

Run the code above in your browser using DataLab