Skip to contents

[Experimental]

Usage

evolvability(object, direction, ...)

respondability(object, direction, ...)

conditional_evolvability(object, direction, ...)

autonomy(object, direction, ...)

mean_evolvability(object, ...)

g_max(object, ...)

variance_along_gradient(object, direction, normalize = TRUE, ...)

eigen_G(object, ...)

Arguments

object

An hsquared_fit from the multivariate model.

direction

A numeric vector of selection gradients, one per trait. It is normalised to unit length internally; only its direction matters.

...

Unused.

normalize

For variance_along_gradient(), whether to scale direction to unit length first (TRUE, the default, which then equals evolvability()); FALSE uses direction as given, returning the genetic variance in the raw (un-normalised) selection gradient beta'G beta.

Value

A scalar for the directional metrics; a list for eigen_G() (values, vectors) and g_max() (eigenvalue, eigenvector).

Details

These extractors summarise the genetic variance-covariance matrix G of an multivariate hsquared_fit (a cbind() response; dense and validation-scale, capped by max_dense_cells) through its rotation-invariant geometry, following Hansen & Houle (2008). They are defined on G itself (not on factor loadings), so they are well defined for any multivariate fit – unstructured, diagonal, or (when bridged) low-rank / factor-analytic – and do not depend on a loading rotation convention.

  • eigen_G() returns the genetic eigenstructure: values (the variance along each genetic principal axis, descending) and vectors (the genetic principal components, sign-canonicalised so the largest-magnitude element of each is positive).

  • g_max() returns the leading genetic axis: its eigenvalue and eigenvector (the direction of maximum evolvability).

  • mean_evolvability() is the average evolvability over random selection directions, tr(G) / t.

  • evolvability(fit, direction) is e(beta) = beta'G beta (unit beta): the additive genetic variance available to directional selection along direction.

  • variance_along_gradient(fit, direction, normalize) is beta'G beta for a unit direction (normalize = TRUE, equal to evolvability()) or for the raw direction (normalize = FALSE).

  • respondability(fit, direction) is ||G beta||: the length of the response.

  • conditional_evolvability(fit, direction) is 1 / (beta' G^-1 beta): evolvability when all other directions are held under stabilising selection (requires a positive-definite G).

  • autonomy(fit, direction) is conditional_evolvability / evolvability in [0, 1] (requires a positive-definite G).

These are computed in R from the fitted genetic_covariance(fit) and match the engine's evolvability.jl definitions (verified by a skip-guarded live parity test). They are descriptive geometry of the estimated G; they carry the same experimental, REML-only, not-coverage-calibrated status as the multivariate fit itself and report no standard errors.

References

Hansen, T. F., & Houle, D. (2008). Measuring and comparing evolvability and constraint in multivariate characters. Journal of Evolutionary Biology, 21(5), 1201-1219.