entropy_conservation/
lib.rs1pub mod conservation;
14pub mod entropy;
15pub mod flow;
16pub mod gradient;
17pub mod hodge;
18pub mod persistence;
19pub mod spectrum;
20
21pub use conservation::{ConservationReport, EntropyViolation};
22pub use entropy::{VerificationEntropy};
23pub use flow::{EntropyFlow, ModuleId};
24pub use gradient::{GradientSuggestion, GradientDescent};
25pub use hodge::HodgeDecomposition;
26pub use persistence::PersistenceDiagram;
27pub use spectrum::SpectralAnalysis;
28
29#[derive(Debug, thiserror::Error)]
31pub enum EntropyError {
32 #[error("invalid probability distribution: probabilities must sum to 1.0, got {0}")]
33 InvalidDistribution(f64),
34 #[error("negative probability encountered: {0}")]
35 NegativeProbability(f64),
36 #[error("empty probability vector")]
37 EmptyVector,
38 #[error("singular matrix: {0}")]
39 SingularMatrix(String),
40 #[error("invalid Rényi order α: must be positive and ≠ 1 for Rényi, got {0}")]
41 InvalidRenyiOrder(f64),
42}