Skip to contents

A non-Cholesky Omega path that differentiates with respect to the variance-covariance entries directly (for reporting SEs on the natural scale or building an analytic covariance over the Omega elements). Returns Omega^{-1}, log|Omega|, and their first (and optionally second) derivatives with respect to each free lower-triangular element omega_{ab}, via

Usage

rxOmegaVarCovDeriv(omega, order = 2L)

Arguments

omega

symmetric positive-definite random-effects covariance matrix.

order

integer; 1 for first derivatives only, 2 (default) to also return the second derivatives needed for the covariance Hessian.

Value

a list with omegaInv, logDet, the free-element index matrix elements (each row c(a, b), a >= b), first derivatives dOmegaInv / dLogDet, and (when order = 2) second derivatives d2OmegaInv / d2LogDet.

Details

$$\partial \Omega^{-1}/\partial \omega_{ab} = -\Omega^{-1} E_{ab} \Omega^{-1}$$ $$\partial \log|\Omega|/\partial \omega_{ab} = \mathrm{tr}(\Omega^{-1} E_{ab})$$

where \(E_{ab}\) is the symmetric single-entry basis matrix.

Author

Hidde van de Beek