'Log of the matrix normal probability density function.
Parameters
X : array_like
Quantiles, with the last two axes of `X` denoting the components.
%(_matnorm_doc_default_callparams)s
Returns
logpdf : ndarray
Log of the probability density function evaluated at `X`
Notes
%(_matnorm_doc_callparams_note)s'

def logpdf(self, X, mean=None, rowcov=1, colcov=1):

    (dims, mean, rowcov, colcov) = self._process_parameters(mean, rowcov, colcov)
    X = self._process_quantiles(X, dims)
    rowpsd = _PSD(rowcov, allow_singular=False)
    colpsd = _PSD(colcov, allow_singular=False)
    out = self._logpdf(dims, X, mean, rowpsd.U, rowpsd.log_pdet, colpsd.U, colpsd.log_pdet)
    return _squeeze_output(out)
