HighDimMixedModels.L_update!Method
L_update!(L::Matrix, XGgrp, ygrp, Zgrp, β, σ², coords, control)

Update of entry (coords[1], coords[2]) of matrix L, the lower traiangular Choelsky factor of the random effects covariance matrix

source
HighDimMixedModels.L_update!Method
L_update!(L::AbstractVector, XGgrp, ygrp, Zgrp, β, σ², s, control)

Update of coordinate s of L for diagonal covariance structure

source
HighDimMixedModels.armijo!Method
armijo!(
    XGgrp,
    ygrp,
    invVgrp,
    β,
    j,
    q,
    cut,
    hessj_untrunc::Real,
    hessj::Real,
    penalty,
    λ,
    a,
    fct_old,
    arm_con,
    control,
)

Performs Armijo line search to update jth component of β, i.e. β[j]

source
HighDimMixedModels.get_negllMethod
get_negll(invVgrp, ygrp, XGgrp, β)

Calculate the negative log-likelihod -l(ϕ̃) = -l(β, θ, σ²) = .5(N*log(2π) + log|V| + (y-xβ)'V⁻¹(y-Xβ))

Arguments

  • invVgrp :: Vector of length the number of groups, each of whose elements is the precision matrix of the responses within a group
  • ygrp :: Vector of vector of responses for each group
  • X :: Vector of fixed effect design matrices for each group
  • β :: Fixed effects
source
HighDimMixedModels.hessian_diag!Method
hessian_diag!(XGgrp, invVgrp, active_set, hess, mat_act)

Calculate active_set entries of the diagonal of Hessian matrix for fixed effect parameters

source
HighDimMixedModels.invV!Method
invV!(invVgrp, Zgrp, L, σ²)

Update precision matrices of the responses, by group, by modifying invVgrp in place.

Arguments

  • invVgrp :: Container for precision matrices of the responses, by group
  • Zgrp :: Container of random effects design matrices, by group
  • L :: Parameters for random effect covariance matrix (can be scalar, vector, or lower triangular matrix)
  • σ² :: Variance of error
source
HighDimMixedModels.special_quadMethod
special_quad(XG, y, β, j, invVgrp, XGgrp, grp)

Calculate (y-ỹ)' * invV * X[:,j], where ỹ are the fitted values if we ignored the jth column i.e. XG[:,Not(j)] * β[Not(j)] To improve perforamce, we calculate ỹ at once with the entire dataset. We then split into groups and calculate (y-ỹ)' * invV * X[:,j] for each group

source