pub mod conservation;
pub mod entropy;
pub mod flow;
pub mod gradient;
pub mod hodge;
pub mod persistence;
pub mod spectrum;
pub use conservation::{ConservationReport, EntropyViolation};
pub use entropy::{VerificationEntropy};
pub use flow::{EntropyFlow, ModuleId};
pub use gradient::{GradientSuggestion, GradientDescent};
pub use hodge::HodgeDecomposition;
pub use persistence::PersistenceDiagram;
pub use spectrum::SpectralAnalysis;
#[derive(Debug, thiserror::Error)]
pub enum EntropyError {
#[error("invalid probability distribution: probabilities must sum to 1.0, got {0}")]
InvalidDistribution(f64),
#[error("negative probability encountered: {0}")]
NegativeProbability(f64),
#[error("empty probability vector")]
EmptyVector,
#[error("singular matrix: {0}")]
SingularMatrix(String),
#[error("invalid Rényi order α: must be positive and ≠ 1 for Rényi, got {0}")]
InvalidRenyiOrder(f64),
}