def __init__(self, Y, A, X, G, terms):
self._Y = asarray(Y, float)<EOL>self._A = asarray(A, float)<EOL>self._X = asarray(X, float)<EOL>self._G = asarray(G, float)<EOL>self._H = terms["<STR_LIT:H>"]<EOL>self._logdetK = terms["<STR_LIT>"]<EOL>self._W = terms["<STR_LIT>"]<EOL>self._yKiy = terms["<STR_LIT>"]<EOL>self._WA = terms["<STR_LIT>"]<EOL>self._WL0 = terms["<STR_LIT>"]<EOL>self._Lz = terms["<STR_LIT>"]<EOL>self._XRiM = terms["<STR_LIT>"]<EOL>self._ZiXRiy = terms["<STR_LIT>"]<EOL>self._ZiXRiM = terms["<STR_LIT>"]<EOL>self._MRiM = terms["<STR_LIT>"]<EOL>self._MRiXZiXRiM = terms["<STR_LIT>"]<EOL>self._MRiy = terms["<STR_LIT>"]<EOL>self._MRiXZiXRiy = terms["<STR_LIT>"]<EOL>
Constructor.

Parameters
----------
Y : (n, p) array_like
    Outcome matrix.
A : (n, n) array_like
    Trait-by-trait design matrix.
X : (n, c) array_like
    Covariates design matrix.
G : (n, r) array_like
    Matrix G from the GGᵀ term.
terms : dict
    Pre-computed terms.