Skip to main content

Crate holos_tda

Crate holos_tda 

Source
Expand description

Vietoris-Rips persistent homology and finite H1 degree-Rips modules over a prime field.

The scalar engine uses implicit persistent cohomology. Its tie-breaking and output conventions match Ripser. The degree-Rips path constructs every node and cover map on a declared finite grid.

Re-exports§

pub use atlas::AtlasEvaluation;
pub use atlas::AtlasUpdate;
pub use atlas::ClassSensitivity;
pub use atlas::CoordinateDerivative;
pub use atlas::EdgeKey;
pub use atlas::EndpointGradient;
pub use atlas::EvaluatedClassSpace;
pub use atlas::LineageId;
pub use atlas::PersistenceAtlas;
pub use atlas::PointAtlasUpdate;
pub use atlas::PointClassSensitivity;
pub use atlas::PointEndpointGradient;
pub use atlas::PointPersistenceAtlas;
pub use atlas::TopologyEvent;
pub use atlas::TopologyEventKind;
pub use atlas::UpdateMode;
pub use atlas_wire::AtlasArtifact;
pub use atlas_wire::AtlasArtifactError;
pub use atlas_wire::AtlasArtifactRepair;
pub use atlas_wire::AtlasDecodeLimits;
pub use bifiltration::BifiltrationLimits;
pub use bifiltration::BifiltrationSlice;
pub use bifiltration::Bigrade;
pub use bifiltration::BirthAntichain;
pub use bifiltration::DegreeRipsBifiltration;
pub use bifiltration::DegreeRipsParams;
pub use bifiltration::MulticriticalBifiltration;
pub use bifiltration::MulticriticalSimplex;
pub use bipersistence::BipersistenceLimits;
pub use bipersistence::BipersistenceMap;
pub use bipersistence::BipersistenceMapColumn;
pub use bipersistence::BipersistenceModule;
pub use bipersistence::BipersistenceNode;
pub use bipersistence::BipersistenceRectangle;
pub use bipersistence::BipersistenceRegion;
pub use bipersistence::BipersistenceTerm;
pub use bipersistence::CircularCoordinateFamily;
pub use bipersistence::CircularCoordinateFamilyEntry;
pub use bipersistence::CircularCoordinateFamilyStatus;
pub use bipersistence::ClassExtension;
pub use bipersistence::ClassExtensionKind;
pub use bipersistence::ClassExtensionRegion;
pub use bipersistence::CohomologyClassAtlas;
pub use bipersistence_artifact::BipersistenceArtifact;
pub use bipersistence_artifact::BipersistenceArtifactLimits;
pub use bipersistence_artifact::BipersistenceArtifactSummary;
pub use bipersistence_artifact::BipersistenceRectangleClaim;
pub use bipersistence_artifact::BipersistenceRegionClaim;
pub use certificate::CertificateError;
pub use certificate::CertificateLimits;
pub use certificate::CertificateTerm;
pub use certificate::CertifiedReductionRegion;
pub use certificate::CertifiedRegionEvaluation;
pub use certificate::ChangeColumn;
pub use certificate::FiltrationSimplex;
pub use certificate::ReductionCertificate;
pub use certificate::ReductionGuard;
pub use certificate::ReductionGuardKind;
pub use certificate::ReductionRepair;
pub use certificate::ReductionRepairMode;
pub use certificate::ReductionRepairWork;
pub use certificate::RegionViolation;
pub use certificate::RegionViolationKind;
pub use circular::CircularClassTerm;
pub use circular::CircularCoordinate;
pub use circular::CircularCoordinateContinuation;
pub use circular::CircularCoordinateParams;
pub use circular::IntegralCocycleTerm;
pub use circular::circular_coordinate;
pub use circular::circular_coordinate_for_class;
pub use circular::circular_coordinate_with_integral_lift;
pub use circular::cocycle_from_ripser_terms;
pub use circular::continue_circular_coordinate;
pub use circular_artifact::CircularArtifactError;
pub use circular_artifact::CircularArtifactSummary;
pub use circular_artifact::CircularCoordinateArtifact;
pub use classes::BasisClassId;
pub use classes::Cocycle;
pub use classes::CocycleTerm;
pub use classes::CriticalPair;
pub use classes::CriticalSimplex;
pub use classes::ExplainedDiagram;
pub use classes::IntervalGroupId;
pub use classes::PersistentClass;
pub use classes::PersistentClassProvenance;
pub use classes::PersistentClassSpace;
pub use classes::lift_h1_classes;
pub use classes::rips_persistence_with_classes_sparse;
pub use cohomology::CochainTerm;
pub use cohomology::CohomologyClass;
pub use cohomology::CohomologyClassId;
pub use cohomology::CohomologyContinuation;
pub use cohomology::CohomologyContinuationKind;
pub use cohomology::CohomologyLimits;
pub use cohomology::CohomologyMapColumn;
pub use cohomology::CohomologyMapTerm;
pub use cohomology::CohomologyRelation;
pub use cohomology::CohomologyRelationTerm;
pub use cohomology::CohomologyRelationVector;
pub use cohomology::CohomologyRestriction;
pub use cohomology::CohomologySpace;
pub use cohomology::CohomologySpaceId;
pub use cohomology::CohomologySubspace;
pub use cohomology::CohomologySubspaceGenerator;
pub use cohomology::CohomologySubspaceTerm;
pub use cohomology::cohomology_continuation;
pub use cohomology::cohomology_relation;
pub use cohomology::cohomology_restriction;
pub use cohomology::cohomology_space;
pub use cohomology_intervention::CohomologyInterventionArtifact;
pub use cohomology_intervention::CohomologyInterventionCandidate;
pub use cohomology_intervention::CohomologyInterventionLimits;
pub use cohomology_intervention::CohomologyInterventionScenario;
pub use cohomology_intervention::CohomologyInterventionStatus;
pub use correspondence::ClassCorrespondence;
pub use correspondence::CorrespondenceTerm;
pub use correspondence::CorrespondenceVector;
pub use correspondence::class_correspondences;
pub use coverage::CoverageEvaluation;
pub use coverage::CoverageFence;
pub use coverage::CoverageLimits;
pub use coverage::CoverageTriangleTerm;
pub use coverage::PlanarCoverageModel;
pub use coverage::evaluate_planar_coverage;
pub use coverage_frontier::CoverageComponentFrontier;
pub use coverage_frontier::CoverageComposition;
pub use coverage_frontier::CoverageCompositionStatus;
pub use coverage_frontier::CoverageFrontierEntry;
pub use coverage_frontier::compose_coverage_frontiers;
pub use coverage_geometry::CoverageGeometry;
pub use coverage_geometry::CoverageGeometryLimits;
pub use coverage_geometry::GeometryBoundCoverageArtifact;
pub use coverage_geometry::GeometryBoundCoverageDecodeLimits;
pub use coverage_geometry::PlanarPoint;
pub use coverage_synthesis::CoverageAction;
pub use coverage_synthesis::CoverageComponent;
pub use coverage_synthesis::CoverageCounterexample;
pub use coverage_synthesis::CoveragePlanEvaluation;
pub use coverage_synthesis::CoverageSource;
pub use coverage_synthesis::CoverageSpecification;
pub use coverage_synthesis::CoverageState;
pub use coverage_synthesis::CoverageSynthesisArtifact;
pub use coverage_synthesis::CoverageSynthesisLimits;
pub use coverage_synthesis::CoverageSynthesisStatus;
pub use coverage_synthesis::evaluate_coverage_plan;
pub use distances::DistanceMatrix;
pub use distances::PointCloudGraph;
pub use distances::PointCloudParams;
pub use distances::PointCloudStats;
pub use distances::PointCloudStrategy;
pub use distances::SparseDistanceMatrix;
pub use distributed::ArtifactId;
pub use distributed::DistributedInterfaceCommit;
pub use distributed::DistributedInterfaceError;
pub use distributed::DistributedInterfaceManifest;
pub use distributed::DistributedInterfaceWork;
pub use distributed::DurableInterfaceStore;
pub use explicit_certificate::ExplicitReductionCertificate;
pub use filtration::ComplexLimits;
pub use filtration::CoordinateProjection;
pub use filtration::FilteredSimplex;
pub use filtration::FilteredSimplicialComplex;
pub use filtration::FiltrationError;
pub use filtration::FiltrationGrade;
pub use filtration::FlagComplexParams;
pub use filtration::LinearFiltrationGrade;
pub use filtration::ProductGrade;
pub use filtration::ScalarGrade;
pub use filtration::ScalarProjection;
pub use graded_certificate::GradedDimensionWork;
pub use graded_certificate::GradedReductionCertificate;
pub use graded_certificate::GradedReductionRepair;
pub use graded_certificate::GradedReductionRepairWork;
pub use index::DiagramDelta;
pub use index::IndexBranch;
pub use index::IndexDiff;
pub use index::IndexEdit;
pub use index::IndexEvent;
pub use index::IndexEventKind;
pub use index::IndexParams;
pub use index::IndexSummary;
pub use index::IndexTransition;
pub use index::IndexUpdateMode;
pub use index::IndexWork;
pub use index::InterfaceMode;
pub use index::InterfacePolicy;
pub use index::InterfaceSummary;
pub use index::PersistenceIndex;
pub use index::TopologyPatch;
pub use index_proof::IndexDeltaProof;
pub use index_proof::IndexProofError;
pub use index_proof::IndexProofSummary;
pub use index_proof::IndexSnapshotProof;
pub use index_stream::IndexStream;
pub use index_stream::IndexStreamProof;
pub use index_stream::IndexStreamStep;
pub use intervention::EdgeWeightEdit;
pub use intervention::H1Intervention;
pub use intervention::InterventionArtifact;
pub use intervention::InterventionBudget;
pub use intervention::InterventionDecodeLimits;
pub use intervention::InterventionError;
pub use intervention::InterventionStatus;
pub use intervention::VerifiedIntervention;
pub use kinetic::KineticCohomologyEvent;
pub use kinetic::KineticEdge;
pub use kinetic::KineticEdgeKey;
pub use kinetic::KineticEvent;
pub use kinetic::KineticEventKind;
pub use kinetic::KineticFiltration;
pub use kinetic::KineticGraphState;
pub use kinetic::KineticGraphStateKind;
pub use kinetic::KineticLimits;
pub use kinetic::KineticSchedule;
pub use kinetic::KineticZigzag;
pub use kinetic::KineticZigzagArrow;
pub use kinetic::KineticZigzagNode;
pub use kinetic::KineticZigzagNodeKind;
pub use kinetic_zigzag_artifact::KineticZigzagArtifact;
pub use kinetic_zigzag_artifact::KineticZigzagArtifactLimits;
pub use kinetic_zigzag_artifact::KineticZigzagArtifactSummary;
pub use kinetic_zigzag_artifact::KineticZigzagIntervalClaim;
pub use persistent_class_artifact::PersistenceCycleTerm;
pub use persistent_class_artifact::PersistenceTriangleTerm;
pub use persistent_class_artifact::PersistentClassArtifact;
pub use persistent_coordinate_artifact::PersistentCoordinateArtifact;
pub use persistent_coordinate_artifact::PersistentCoordinateArtifactError;
pub use persistent_coordinate_artifact::PersistentCoordinateArtifactSummary;
pub use program::BasisTransport;
pub use program::ClassContinuation;
pub use program::ContinuationKind;
pub use program::CorrespondenceMode;
pub use program::PersistenceProgram;
pub use program::ProgramAtomInfo;
pub use program::ProgramBranch;
pub use program::ProgramCheckpoint;
pub use program::ProgramDiagramState;
pub use program::ProgramDiagramUpdate;
pub use program::ProgramDiagramUpdateMode;
pub use program::ProgramEvaluation;
pub use program::ProgramEvent;
pub use program::ProgramEventKind;
pub use program::ProgramSummary;
pub use program::ProgramUpdate;
pub use program::ProgramUpdateMode;
pub use program::ProgramWork;
pub use program_trace::ProgramTraceArtifact;
pub use program_trace::ProgramTraceDecodeLimits;
pub use program_trace::ProgramTraceError;
pub use program_trace::ProgramTraceStep;
pub use program_trace::VerifiedProgramTrace;
pub use program_trace::VerifiedProgramTraceStep;
pub use program_wire::ProgramArtifact;
pub use program_wire::ProgramArtifactError;
pub use program_wire::ProgramAtomArtifact;
pub use program_wire::ProgramDecodeLimits;
pub use proof::ProofArtifact;
pub use proof::ProofArtifactError;
pub use proof::ProofArtifactSummary;
pub use relative_interface::InterfaceCancellation;
pub use relative_interface::InterfaceCell;
pub use relative_interface::InterfaceChainTerm;
pub use relative_interface::RelativeInterfaceCertificate;
pub use relative_interface::RelativeInterfaceWork;
pub use synthesis::SynthesisAction;
pub use synthesis::SynthesisArtifact;
pub use synthesis::SynthesisComponent;
pub use synthesis::SynthesisCoordinate;
pub use synthesis::SynthesisLimits;
pub use synthesis::SynthesisSource;
pub use synthesis::SynthesisState;
pub use synthesis::SynthesisStatus;
pub use synthesis::TopologicalSpecification;
pub use trajectory::TrajectoryArtifact;
pub use trajectory::TrajectoryDecodeLimits;
pub use trajectory::TrajectoryError;
pub use trajectory::TrajectoryStep;
pub use trajectory::VerifiedTrajectory;
pub use trajectory::VerifiedTrajectoryStep;
pub use zigzag::ZigzagBarcode;
pub use zigzag::ZigzagDirection;
pub use zigzag::ZigzagInterval;
pub use zigzag::ZigzagIntervalId;
pub use zigzag::ZigzagLimits;
pub use zigzag::ZigzagMap;
pub use zigzag::ZigzagModule;
pub use zigzag::ZigzagModuleId;
pub use zigzag::ZigzagTerm;

Modules§

atlas
Certified local models of H1 persistence under changing inputs. Certified local models of H1 persistence under changing edge weights.
atlas_wire
Wire format for persistence atlases. Wire format for persistence atlases.
bifiltration
Finite multicritical bifiltrations and exact degree-Rips construction. Finite multicritical bifiltrations and exact degree-Rips construction.
bipersistence
Exact finite H1 modules over degree-Rips parameter grids. Exact finite H1 modules over a degree-Rips parameter grid.
bipersistence_artifact
Wire format for checked finite degree-Rips bipersistence modules. Wire format for checked finite degree-Rips bipersistence modules.
certificate
Algebraic reduction certificates. Algebraic certificates for exact H0 and H1 persistence.
circular
Checked circular coordinates and conservative continuation. Checked circular coordinates from canonical fixed-scale H1 classes.
circular_artifact
Wire format for checked circular coordinates and continuation. Wire format for checked circular coordinates and continuation.
classes
Stable H1 classes and cocycle validation. Stable H1 classes and cocycles on the caller’s graph.
cli
The holos CLI as a library function (shared with the Python bindings). The holos command-line interface, callable as a library function.
cohomology
Canonical cohomology and exact relations in any bounded dimension. Canonical cohomology spaces and exact relations in any bounded dimension.
cohomology_intervention
Weighted fixed-scale interventions across declared graph scenarios. Weighted fixed-scale class interventions across declared scenarios.
collapse
Filtered edge collapse for flag filtrations.
correspondence
Exact class-space correspondences across persistence updates. Exact class-space correspondences across persistence updates.
coverage
Relative topological coverage criteria for fenced planar sensor networks. Exact relative coverage witnesses for fenced planar Rips complexes.
coverage_frontier
Exact component frontiers for failure-tolerant coverage synthesis. Exact component frontiers for failure-tolerant coverage synthesis.
coverage_geometry
Exact planar geometry bindings for finite coverage specifications. Exact planar geometry bindings for finite coverage specifications.
coverage_synthesis
Failure-tolerant finite and kinetic relative coverage specifications. Failure-tolerant specifications for exact relative coverage.
distances
Distance-matrix construction and storage. Distance-matrix storage and exact point-cloud graph construction.
distributed
Durable content-addressed execution for relative interfaces. Durable content-addressed execution for relative interfaces.
explicit_certificate
Proof-carrying persistence for explicit scalar filtered complexes. Proof-carrying persistence for explicit scalar filtered complexes.
factorization
Vertex-biconnected factorization of sparse flag filtrations. Vertex-biconnected factorization of sparse flag filtrations.
filtration
Explicit filtered simplicial complexes and filtration grades. Explicit filtered simplicial complexes and filtration grades.
graded_certificate
Dimension-generic algebraic certificates for separator indexes. Dimension-generic algebraic certificates for separator interfaces.
index
Versioned exact persistence over checked separator interfaces. Versioned exact persistence over checked separator interfaces.
index_proof
Cold snapshots and warm deltas for persistence indexes. Cold snapshots and warm deltas for versioned persistence indexes.
index_stream
Stateful exact index streams with proof output. Stateful index streams with proof output.
intervention
Certified finite H1 lifetime interventions. Finite H1 lifetime interventions.
io
File formats and diagram output. Readers for point clouds and for dense or sparse distance matrices. Writers for the diagram output formats.
kinetic
Exact events for affine edge-weight trajectories. Exact event schedules for affine edge-weight trajectories.
kinetic_zigzag_artifact
Certificates for kinetic cohomology zigzags. Certificates for exact kinetic cohomology zigzags.
oracle
Brute-force reference implementation used by the test gates. Independent correctness oracle: explicit simplex enumeration and textbook boundary-matrix reduction over a prime field. Deliberately naive. It shares nothing with the solver path except the input and output types, down to the modular inverses (Fermat exponentiation here, a Euclid-style table there).
persistent_class_artifact
Source-bound persistent H1 class and cycle artifacts. Wire format and producer for one source-bound persistent H1 class.
persistent_coordinate_artifact
Harmonic coordinates bound to persistent H1 class artifacts. Wire format for one selected persistent circular coordinate.
program
Compositional H0 and H1 persistence programs. Compositional, change-sensitive H0 and H1 persistence programs.
program_trace
Update traces for persistence programs. Update traces for persistence programs.
program_wire
Wire format for persistence programs. Wire format for persistence programs.
proof
Unified proof DAGs for checked persistence trajectories. Unified proof DAGs for checked persistence trajectories.
relative_interface
Exact filtered chain cores relative to separator subcomplexes. Exact filtered chain cores relative to separator subcomplexes.
synthesis
Proof-carrying synthesis for finite temporal topology specifications. Proof-carrying synthesis for finite temporal cohomology specifications.
trajectory
Trajectories across atlas regions. Persistence trajectories across atlas regions.
zigzag
Exact interval decomposition of finite zigzag modules. Exact interval decomposition of finite zigzag vector-space modules.

Structs§

Bar
One persistence interval. death is f64::INFINITY for essential classes.
Diagram
A persistence diagram: the multiset of bars across dimensions.
RipsParams
Parameters for crate::rips_persistence.

Enums§

CollapseSchedule
The collapse the pipeline runs with RipsParams::collapse_edges set.
DenseStorage
Which storage form the dense engine reduces from.
Engine
Which engine reduces a dense input.
Error
Errors from construction, validation, and IO.
GraphFactorization
Structural routing for positive-dimensional sparse persistence.

Constants§

BUILD_PROFILE
Cargo build profile recorded at build time.
GIT_HASH
Short git commit hash recorded at build time (“unknown” outside a repo).
VERSION
Crate version.

Functions§

rips_persistence
Compute the Rips persistence diagram of a distance matrix.
rips_persistence_sparse
Compute the Rips persistence diagram of a sparse distance matrix.
rips_persistence_with_classes
Compute a diagram and stable H1 classes from a dense distance matrix.

Type Aliases§

Result
Crate-wide result alias.