Implements the ESIM by maximising the squared accuracy \(\rho_{HI}^2\) through the generalised eigenproblem of the multi-trait heritability matrix \(\mathbf{P}^{-1}\mathbf{C}\).
Unlike the Smith-Hazel LPSI, **no economic weights are required**. The net genetic merit vector \(\mathbf{w}_E\) is instead implied by the solution.
esim(pmat, gmat, selection_intensity = 2.063, n_indices = 1L)Object of class "esim", a list with:
summaryData frame with b coefficients, hI2, rHI, sigma_I, Delta_G, and lambda2 for each index requested.
bNamed numeric vector of optimal ESIM coefficients (1st index).
Delta_GNamed numeric vector of expected genetic gains per trait.
sigma_IStandard deviation of the index \(\sigma_I\).
hI2Index heritability \(h^2_{I_E}\) (= leading eigenvalue).
rHIAccuracy \(r_{HI_E}\).
lambda2Leading eigenvalue (maximised index heritability).
implied_wImplied economic weights \(\mathbf{w}_E\).
all_eigenvaluesAll eigenvalues of \(\mathbf{P}^{-1}\mathbf{C}\).
selection_intensitySelection intensity used.
Phenotypic variance-covariance matrix (n_traits x n_traits).
Genotypic variance-covariance matrix (n_traits x n_traits). Corresponds to C in the Chapter 7 notation.
Selection intensity constant \(k_I\) (default: 2.063 for 10% selection).
Number of leading ESIM vectors to return (default: 1). Returning >1 provides a ranked set of indices for comparative analysis.
Eigenproblem (Section 7.1): $$(\mathbf{P}^{-1}\mathbf{C} - \lambda_E^2 \mathbf{I})\mathbf{b}_E = 0$$
The solution \(\lambda_E^2\) (largest eigenvalue) equals the maximum achievable index heritability \(h^2_{I_E}\).
Key metrics: $$R_E = k_I \sqrt{\mathbf{b}_E^{\prime}\mathbf{P}\mathbf{b}_E}$$ $$\mathbf{E}_E = k_I \frac{\mathbf{C}\mathbf{b}_E}{\sqrt{\mathbf{b}_E^{\prime}\mathbf{P}\mathbf{b}_E}}$$
Implied economic weights: $$\mathbf{w}_E = \frac{\sqrt{\lambda_E^2}}{\mathbf{b}_E^{\prime}\mathbf{P}\mathbf{b}_E} \mathbf{C}^{-1}\mathbf{P}\mathbf{b}_E$$
Uses cpp_symmetric_solve and cpp_quadratic_form_sym from
math_primitives.cpp for efficient matrix operations, and R's
eigen() for the eigendecomposition.
Ceron-Rojas, J. J., & Crossa, J. (2018). Linear Selection Indices in Modern Plant Breeding. Springer International Publishing. Section 7.1.
if (FALSE) {
gmat <- gen_varcov(seldata[, 3:9], seldata[, 2], seldata[, 1])
pmat <- phen_varcov(seldata[, 3:9], seldata[, 2], seldata[, 1])
result <- esim(pmat, gmat)
print(result)
summary(result)
}
Run the code above in your browser using DataLab