This function estimates the covariance of a tensor random variable. We assume the covariance of the tensor random variable has a separable Kronecker covariance structure, i.e. \(\boldsymbol{\Sigma}=\boldsymbol{\Sigma}_{m}\otimes\cdots\otimes\boldsymbol{\Sigma}_{1}\). This algorithm is described in Manceur, A. M., & Dutilleul, P. (2013).
kroncov(Tn)
A \(p_1\times\cdots p_m\times n\) matrix, array or tensor, where \(n\) is the sample size.
The normalizing constant.
A matrix list, consisting of each normalized covariance matrix \(\boldsymbol{\Sigma}_1,\ldots,\boldsymbol{\Sigma}_m\).
The individual component covariance matrices \(\boldsymbol{\Sigma}_i, i=1,\ldots, m\) are not identifiable. So each matrix is normalized, and an overall normalizing constant \(\lambda\) is extract, which is defined as $$\boldsymbol{\Sigma}=\lambda \boldsymbol{\Sigma}_m \otimes \cdots \otimes \boldsymbol{\Sigma}_1.$$
Manceur, A. M., & Dutilleul, P. (2013). Maximum likelihood estimation for the tensor normal distribution: Algorithm, minimum sample size, and empirical bias and dispersion. Journal of Computational and Applied Mathematics, 239, 37-49.