I am trying to implement a speaker recognition system in MATLAB. I am using Gaussian Mixture Models (GMM) for speaker modelling and maximizing the posterior probabilities for classification.

The gmdistribution.fit function returns the covariance matrix diagonals. How do I get the determinant from the diagonal elements?

Is the product of the diagonal elements the determinant?


If you've used the "diagonal" option of gmdistribution.fit, then the covariance matrices will be forced to be diagonal. This may or may not be an appropriate choice, but if you've made this choice, then you can take the product of the diagonal entries in a diagonal covariance matrix to get its determinant.

The default option in gmdistribution.fit is "full." This is generally a much more reasonable way to do things, but you'll have to compute the determinant. MATLAB's built-in det() function can do that for you.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.