pub(crate) use crate::faer_ndarray::FaerEigh;
pub(crate) use crate::faer_ndarray::{FaerCholesky, fast_atb, fast_av};
pub(crate) use crate::matrix::{
DesignMatrix, EmbeddedColumnBlock, LinearOperator, SignedWeightsView, SymmetricMatrix,
dense_rowwise_kronecker,
};
pub(crate) use crate::model_types::{
ActiveLinearConstraintBlock, EstimationError, ProjectedKktResidual,
};
pub(crate) use crate::pirls::{
LinearInequalityConstraints, solve_newton_directionwith_lower_bounds,
};
pub(crate) use crate::reml_contracts::{
BlockLocalDrift, ContractedPsiSecondOrder, ContractedPsiSecondOrderFn,
DenseMatrixHyperOperator, DriftDerivResult, FixedDriftDerivFn, HyperCoord, HyperCoordDrift,
HyperCoordPair, HyperOperator,
};
pub(crate) use crate::resource::{DerivativeStorageMode, ResourcePolicy};
pub(crate) use crate::solver::active_set::{
project_stationarity_residual_on_constraint_cone, solve_quadratic_with_linear_constraints,
};
pub(crate) use crate::solver::estimate::reml::penalty_logdet::PenaltyPseudologdet;
pub(crate) use crate::solver::estimate::reml::reml_outer_engine::{
BlockCoupledOperator, CompositeHyperOperator, DenseSpectralOperator, DispersionHandling,
ExactJeffreysTerm, HessianDerivativeProvider, HessianOperator, MatrixFreeSpdOperator,
OuterHessianDerivativeKernel, PenaltySubspaceTrace, StochasticTraceState,
compute_block_penalty_logdet_derivs, compute_efs_update, compute_hybrid_efs_update,
exact_pseudo_logdet, hessian_operator_geometric_scale, positive_eigenvalue_threshold,
spectral_epsilon, spectral_regularize,
};
pub(crate) use crate::solver::estimate::{
FitGeometry, ensure_finite_scalar_estimation, validate_all_finite_estimation,
};
pub(crate) use crate::types::{RidgeDeterminantMode, RidgePolicy};
pub(crate) use faer::Side;
pub(crate) use joint_newton::whitened_spectrum;
pub(crate) use ndarray::{Array1, Array2, ArrayView1, ArrayViewMut1, s};
pub(crate) use persistent_warm_start::{
capture_fit_artifact, consume_fit_artifact, load_persistent_custom_family_warm_start,
store_persistent_custom_family_warm_start, update_custom_outer_inner_cap_from_warm_start,
};
pub(crate) use std::any::Any;
pub(crate) use std::cell::RefCell;
pub(crate) use std::collections::{BTreeMap, HashMap};
pub(crate) use std::ops::Range;
pub(crate) use std::sync::atomic::{AtomicUsize, Ordering};
pub(crate) use std::sync::{Arc, Mutex, OnceLock, Weak};
pub(crate) use thiserror::Error;
pub use crate::reml_contracts::EvalMode;
pub use crate::solver::estimate::reml::reml_outer_engine::PseudoLogdetMode;
mod assembly;
mod block_spec;
mod blockwise_solve;
mod covariance;
mod error;
mod family_trait;
mod fit;
mod inner_blockwise_fit;
mod jeffreys;
mod joint_derivatives;
mod joint_newton;
mod options;
mod outer_objective;
mod penalty;
mod penalty_labels;
mod psi_design;
mod psi_hyper;
mod warm_start;
mod coefficient_groups;
mod persistent_warm_start;
pub use assembly::*;
pub use block_spec::*;
pub(crate) use blockwise_solve::*;
pub use coefficient_groups::*;
pub(crate) use covariance::*;
pub use error::*;
pub use family_trait::*;
pub use fit::*;
pub(crate) use inner_blockwise_fit::*;
pub(crate) use jeffreys::*;
pub(crate) use joint_derivatives::*;
pub use joint_newton::*;
pub use options::*;
pub(crate) use outer_objective::*;
pub use penalty::*;
pub(crate) use penalty_labels::*;
pub use psi_design::*;
pub use psi_hyper::*;
pub use warm_start::*;
#[cfg(test)]
mod test_support;
#[cfg(test)]
mod tests;