//! Multicollinearity diagnostics: [`vif`] and [`condition_number`].
//!
//! These answer *different* questions and can disagree, so the crate exposes
//! both rather than treating one as redundant:
//!
//! * **VIF** is *per-predictor*: how inflated is coefficient `j`'s variance
//! because predictor `j` is linearly explained by the others.
//! * **Condition number** is a *whole-design* scalar: how ill-conditioned the
//! design matrix is overall. A design can have a large condition number driven
//! by a combination of predictors while no single VIF is dramatic, and vice
//! versa.
//!
//! ## Threshold guidance (convention, not mathematical fact)
//!
//! The following rules of thumb are widely cited but vary by source; treat them
//! as convention:
//!
//! * VIF **> 5** is often flagged as concerning, **> 10** as serious.
//! * A condition number **> 30** is a common concern threshold.
pub use condition_number;
pub use vif;