Question about TPrincipal::GetCovarianceMatrix()

It looks like this was discussed year ago here:

Apparently, the authors only stored half of the covariance matrix. @BiaseGabriel, you could try the following (untested):

auto original = pca.GetCovarianceMatrix();
TMatrixD copy(*original);
TMatrixDSym sym;
sym.Use(covarianceMatrix.GetNrows(), covarianceMatrix.GetMatrixArray());
sym.Print("");

If you are lucky, it understands how to take the correct half of the matrix, and you can do math with sym. If it doesn’t understand it, you can symmetrise the matrix by assigning the elements
copy[i][j] = copy[j][i]
in the right order.

@moneta:
It looks like TPrincipal should be using an eigen-matrix from the start …