R/cov_clm__getGradientFunction__fittingGradientGLSC2.R

Defines functions fittingGradientGLSC2

fittingGradientGLSC2 <- function(derivativesExprList, sigmaThetaExprList, fit) {
  function(params) {
    sigmaTheta <- evalSigmaThetaExprList(sigmaThetaExprList, as.list(params))
    derivSigmaThetaList <- evalDerivSigmaThetaExprList(derivativesExprList, sigmaThetaExprList, as.list(params))

    gradient <- sapply(derivSigmaThetaList, function(derivSigmaThetaj) {
      sum(diag((solve(fit$sigmaHat) %*% sigmaTheta - diag(1, nrow = fit$info$T)) %*% solve(fit$sigmaHat) %*% derivSigmaThetaj))
    })

    return(gradient)
  }
}
phmpacheco-ufjf/clm documentation built on Dec. 22, 2021, 8:40 a.m.