packages feed

moonlight-homology-0.1.0.0: src-public/Moonlight/Homology.hs

module Moonlight.Homology
  ( HomologyBackendTag (..),
    HomologyBackend (..),
    homologyBackendTag,
    runHomologyBackend,
    GraphBoundaryGF2,
    gbgf2VertexIndex,
    gbgf2Edges,
    gbgf2Boundary,
    GraphBoundaryGF2Failure (..),
    prepareGraphBoundaryGF2,
    graphBoundaryRankDefectGF2,
    FiniteChainComplex,
    mkFiniteChainComplexChecked,
    maxHomologicalDegree,
    incidenceMatrixAt,
    degreeCardinality,
    basisCellNodeId,
    finiteChainBasisRefsAtDegree,
    basisIndexCellMapAtDegree,
    inverseBasisRefMap,
    validateFiniteChainComplexShape,
    restrictComplex,
    BoundaryScope (..),
    ScopedBoundary (..),
    BoundaryIncidenceShapeError (..),
    BoundaryEntry,
    sourceIndex,
    targetIndex,
    boundaryCoefficient,
    mkBoundaryEntry,
    mkBoundaryEntryFromInts,
    BoundaryIncidence,
    sourceCardinality,
    targetCardinality,
    boundaryEntries,
    mkBoundaryIncidence,
    mkBoundaryIncidenceFromOrderedEntries,
    overlapBoundaryIncidence,
    emptyBoundaryIncidence,
    emptyBoundaryIncidenceOf,
    identityBoundaryIncidenceOf,
    directSumBoundaryIncidence,
    reindexBoundaryIncidenceWith,
    boundaryIncidenceApply,
    transposeBoundaryIncidence,
    composeBoundaryIncidence,
    boundaryIncidenceDiagonal,
    addBoundaryIncidence,
    mapBoundaryCoefficients,
    BlockBoundaryEntry,
    blockSourceIndex,
    blockTargetIndex,
    blockSubmatrix,
    mkBlockBoundaryEntry,
    BlockBoundaryIncidence,
    blockSourceDimensions,
    blockTargetDimensions,
    blockEntries,
    mkBlockBoundaryIncidence,
    flattenBlockIncidence,
    scaleBoundaryIncidence,
    materializeIncidenceBoundary,
    materializeBoundary,
    FieldRankBackend (..),
    fieldBettiCapability,
    GF2RankFailure (..),
    PreparedGF2Boundary,
    pgbIncidence,
    pgbPackedMatrix,
    prepareGF2Boundary,
    rankPreparedGF2Boundary,
    gf2BoundaryRank,
    SmithNormalForm (..),
    SNFReducer (..),
    SNFCapability,
    computeSmithNormalForm,
    HomologicalDegree (..),
    incrementDegree,
    decrementDegree,
    EulerCharacteristic (..),
    PersistencePair (..),
    RepresentativeChain (..),
    RepresentativeCycle,
    RepresentativeCocycle,
    HarmonicBasisElement (..),
    ExactRepresentativeClass (..),
    TopologyWitness (..),
    emptyTopologyWitness,
    mergeTopologyWitness,
    mergeTopologyWitnessChecked,
    topologyRepresentativeCycles,
    topologyRepresentativeCocycles,
    topologyWitnessFromBetti,
    BettiReducer (..),
    BettiCapability,
    computeBettiNumbers,
    TopologyWitnessReducer (..),
    TopologyWitnessCapability,
    computeTopologyWitness,
    EffectiveHomology,
    sourceComplex,
    reducedComplex,
    reductionWitness,
    finiteBoundary,
    mkEffectiveHomology,
    HomologyLaw (..),
    NonEffectiveCause (..),
    TopologyInputObstruction (..),
    HomologyFailure (..),
    FiniteAbelianTorsion,
    mkFiniteAbelianTorsion,
    torsionFromHomologyGroup,
    finiteAbelianInvariants,
    normalizeTorsionOrders,
    finiteAbelianSummandCount,
    finiteAbelianCyclicSummandMultiplicity,
    finiteAbelianFilteredCardinality,
    finiteAbelianCardinality,
    finiteAbelianExponent,
    finiteAbelianOrderSupport,
    finiteAbelianPrimaryOrderSupport,
    finiteAbelianExactOrderElementCount,
    isPrime,
    matchesOptional,
    DegreeSelection (..),
    GradedAggregation (..),
    GradedQuery (..),
    selectAllDegrees,
    selectDegree,
    degreeSelectionFromMaybe,
    combineSelectedQuery,
    preserveDegreewiseQuery,
    matchesDegreeSelection,
    enumerateDegreeIndexed,
    lookupDegreeIndexed,
    selectDegreeIndexed,
    selectGradedMembers,
    countGradedMembers,
    directProductQuery,
    degreewiseUnionQuery,
    GradedTorsionFamily,
    mkGradedTorsionFamily,
    gradedTorsionPresent,
    gradedTorsionAtDegree,
    gradedTorsionCombined,
    gradedTorsionOrderSupport,
    gradedTorsionPrimaryOrderSupport,
    HomologyGroup (..),
    HomologyPhase (..),
    RequirePhase2,
    RequirePhase4,
    requirePhase2Witness,
    requirePhase4Witness,
    ChainMap (..),
    ChainHomotopy (..),
    Reduction (..),
    ReductionWitness,
    checkedReduction,
    ReductionLawContext (..),
    ReductionViolation (..),
    Validation (..),
    ReductionValidation,
    ReductionChecks (..),
    mkReductionWitness,
    MayerVietorisReducer (..),
    MayerVietorisCapability,
    mayerVietoris,
    FiltrationFunction,
    Bidegree,
    mkBidegree,
    bidegreeFromTotalDegree,
    bidegreeCoordinates,
    bidegreeFiltrationDegree,
    bidegreeComplementaryDegree,
    bidegreeTotalDegree,
    targetBidegreeAfterDifferential,
    FormalMap (..),
    RationalFormalMap,
    SpectralEntry (..),
    RationalSpectralEntry,
    SpectralPage (..),
    RationalSpectralPage,
    SpectralChain,
    SpectralFamily (..),
    RationalSpectralFamily,
    SpectralAdvance (..),
    SpectralCapability,
    nextPage,
    computeRationalSpectralFamily,
    computeRationalSpectralPages,
    stableSpectralPage,
    convergenceDepth,
    isKPassParseable,
    SkeletonSignature (..),
    skeletonSignatureWithinTolerance,
    macroScaffoldSignature,
    macroScaffoldSummaryAlgebra,
    mkMacroScaffoldTopologyView,
    mkMacroScaffoldWitnessInterpreter,
    TopologyObserver,
    runTopologyObserver,
    WitnessInterpreter,
    mkWitnessInterpreter,
    runWitnessInterpreter,
    observeEulerCharacteristic,
    observeBettiVector,
    observeIntegralHomology,
    observeIntegralHomologyAt,
    observeTorsionFamily,
    observeExactRepresentativeClasses,
    observeExactRepresentativeClassCount,
    observePersistencePairs,
    observePersistenceCount,
    observeCoefficientRepresentativeCycles,
    observeCoefficientRepresentativeCycleCount,
    observeCoefficientRepresentativeCocycles,
    observeCoefficientRepresentativeCocycleCount,
    observeHarmonicBasis,
    observeHarmonicCount,
    observeMacroScaffold,
    observeScaffoldSummary,
    observeLowSpectralModes,
    ScaffoldSummaryAlgebra,
    mkScaffoldSummaryAlgebra,
    runScaffoldSummaryAlgebra,
    TopologyView,
    WitnessSlice,
    mkTopologyView,
    runWitnessSlice,
    topologyViewTorsionFamily,
    sliceEulerCharacteristic,
    sliceBettiVector,
    sliceIntegralHomology,
    sliceIntegralHomologyAt,
    sliceExactRepresentativeClasses,
    slicePersistencePairs,
    sliceCoefficientRepresentativeCycles,
    sliceCoefficientRepresentativeCocycles,
    sliceHarmonicBasis,
    sliceMacroScaffold,
    sliceScaffoldSummary,
    sliceLowSpectralModes,
    CellTypes (..),
    Dimension (..),
    CellRef (..),
    cellDimension,
    OrientedEdge (..),
    CellComplex2D (..),
    ValidateComplex2D (..),
    isBoundaryEdge,
    isInteriorEdge,
    eulerCharacteristic,
    BasisCellRef (..),
    MorsePivotOps (..),
    TopologyObservationConfig (..),
    defaultTopologyObservationConfig,
    TopologyWitnessSeed (..),
    CriticalKind (..),
    PotentialValue,
    PotentialValueError (..),
    unPotentialValue,
    mkPotentialValue,
    PotentialNormalization (..),
    CellCarrier,
    CellCarrierError (..),
    carrierDegree,
    carrierCells,
    mkCellCarrier,
    ScalarPotentialField,
    ScalarPotentialFieldError (..),
    scalarPotentialCarrier,
    scalarPotentialNormalization,
    scalarPotentialSamples,
    mkScalarPotentialField,
    mkScalarPotentialFieldFromSamples,
    DirectionSymmetryOrder,
    DirectionSymmetryOrderError (..),
    unDirectionSymmetryOrder,
    mkDirectionSymmetryOrder,
    DirectionPhase,
    DirectionPhaseError (..),
    unDirectionPhase,
    mkDirectionPhase,
    DirectionCoefficient,
    DirectionCoefficientError (..),
    unDirectionCoefficient,
    mkDirectionCoefficient,
    DirectionFieldEncoding (..),
    DirectionField,
    DirectionFieldError (..),
    directionFieldCarrier,
    directionFieldSymmetryOrder,
    directionFieldEncoding,
    mkDirectionField,
    mkDirectionAngleField,
    mkDirectionCochainField,
    ReebNodeId (..),
    ReebArcId (..),
    MorseReebNode (..),
    Monotonicity (..),
    MorseReebArc (..),
    MorseReebScaffold (..),
    SingularityIndex (..),
    SingularityId (..),
    Singularity (..),
    HarmonicLoopId (..),
    HarmonicLoopWeight (..),
    HarmonicLoopPeriod (..),
    HarmonicLoop (..),
    MacroScaffoldIR (..),
    MacroScaffoldCompositionError (..),
    StitchRoute (..),
    StitchRouteKey (..),
    StitchBoundarySide (..),
    StitchSupportSelection (..),
    StitchSupportRefinement (..),
    StitchSemantics (..),
    MacroScaffoldStitchError (..),
    composeMacroScaffoldsWithScopes,
    composeMacroScaffolds,
    stitchMacroScaffoldRoutes,
    GraphEdge (..),
    Graph1Skeleton (..),
    graphAdjacency,
    GraphSkeletonExtractionFailure (..),
    GraphSpectralMode (..),
    eulerCharacteristicOf,
    integralHomologyGroupsOf,
    exactRepresentativeClassesOf,
    freeBettiVector,
    representativeCyclesOverQ,
    representativeCocyclesOverQ,
    homologyBasisAt,
    cohomologyBasisAt,
    sparseHomologyBasisAt,
    sparseCohomologyBasisAt,
    sparseFreeBettiVector,
    sparseQuotientRepresentatives,
    QuotientPresentation (..),
    mkQuotientPresentation,
    presentationCoordinates,
    quotientRepresentatives,
    vectorToRepresentative,
    representativeToVector,
    exactTopologyWitness,
    TopologyTarget (..),
    TargetViolation (..),
    topologyTargetConstraints,
    validateTarget,
    validateTargets,
    validateTopologyTarget,
    validateTopologyTargets,
    graphFromEdgeSupports,
    graph1SkeletonFromComplex,
    graphFiniteChainComplex,
    graphMacroScaffold,
    graphSpectralModes,
    graphTopologyWitness,
    criticalKindAt,
    lowerNeighborEdges,
    lowerNeighbors,
    higherNeighborEdges,
    higherNeighbors,
    addUndirectedAdjacency,
    connectedComponentsFromAdjacency,
    observeGraphTopologyWitness,
    observeTopologyWitnessSeed,
    observeTopologyWitness,
    Orientation (..),
    RawCellData (..),
    RawCellScopes (..),
    RealizationBudget (..),
    realizeScaffoldRawWithScopes,
    realizeScaffoldRaw,
    intUnitMorsePivotOps,
    integerUnitMorsePivotOps,
    rationalMorsePivotOps,
    gf2MorsePivotOps,
    AlgebraicMorsePair,
    AlgebraicMorseMatching,
    AlgebraicMorseComplex,
    AcyclicPair (..),
    IntegralAcyclicPair,
    LocalizedAcyclicPair (..),
    RationalAcyclicPair,
    CollapseObstruction (..),
    LocalizedCollapseObstruction (..),
    AcyclicMatching (..),
    LocalizedAcyclicMatching (..),
    MorseComplex (..),
    LocalizedMorseComplex (..),
    RefinedMatchingStage,
    RefinedAcyclicMatching,
    RefinedMorseComplex (..),
    FilteredMorsePairWitness (..),
    FilteredMorseCompatibility (..),
    FilteredRefinedMorseComplex (..),
    RefinedMatchingSummary (..),
    acyclicMatching,
    acyclicMatchingLocalized,
    refinedAcyclicMatchingTranscript,
    refinedMorseComplex,
    filteredRefinedMorseComplex,
    reducedFiltrationByCriticalBasis,
    filteredReducedFiltration,
    rationalizeFiniteChainComplex,
    foldRefinedAcyclicMatching,
    traverseRefinedStages,
    mapRefinedStages,
    summarizeRefinedMatching,
    refinedMatchingSummary,
    refinedStageCount,
    hasRefinedStages,
    isTerminalRefinedMatching,
    finalRefinedCriticalDegrees,
    finalRefinedCriticalCellCount,
    finalRefinedCriticalDegreeHistogram,
    finalRefinedHomologicalSupport,
    finalRefinedMaxCriticalDegree,
    refinedMatchingCriticalCells,
    refinedStageMatching,
    refinedStageReducedComplex,
    refinedStageCriticalBasis,
    flattenRefinedAcyclicMatching,
    refinedAcyclicMatching,
    acyclicMatchingWith,
    morseComplexWith,
    isAcyclicMatchingWith,
    extractCandidatePairsWith,
    reverseCandidateEdgeWith,
    morseComplex,
    morseComplexLocalized,
    isAcyclicMatching,
    isAcyclicMatchingLocalized,
    extractCandidatePairsLocalized,
    reverseCandidateEdgeLocalized,
    BasisBlock (..),
    BlockSchurPivot (..),
    BlockPivotOps (..),
    integerUnimodularBlockPivotOps,
    rationalBlockPivotOps,
    gf2BlockPivotOps,
    BlockSchurTranscript (..),
    BlockSchurReduction (..),
    BlockSchurFailure (..),
    blockSchurReduceWith,
    BiFilteredCell (..),
    BiPersistencePair (..),
    FiltrationValue (..),
    FilteredFiniteChainComplex (..),
    mkFilteredFiniteChainComplex,
    mod2PersistentPairs,
    mod2PersistenceTopologyWitness,
    Bound (..),
    TargetBetti (..),
    PersistenceBudget (..),
    EulerBound (..),
    LoopSemanticRole (..),
    LoopRole (..),
    RequireTorsionInvariant (..),
    RequireElementOrder (..),
    RequireOrderSupport (..),
    PrimaryOrderSupportBudget (..),
    RequirePrimaryOrderSupport (..),
    TorsionBudgetMeasure (..),
    TorsionBudget (..),
    RequireCyclicOrder (..),
    SingularityBudget (..),
    HarmonicLoopBudget (HarmonicLoopBudget, harmonicLoopCountBound),
    SkeletonAdherence (..),
    TopologicalConstraint (..),
    TopologicalViolation (..),
    evaluateTopologicalConstraint,
    evaluateTopologicalConstraints
  )
where

import Moonlight.Homology.Backend as BackendX
import Moonlight.Homology.Boundary.GraphGF2 as GraphGF2X
import Moonlight.Homology.Boundary.Finite as FiniteX
import Moonlight.Homology.Boundary.LinAlg as LinAlgX
import Moonlight.Homology.Boundary.SNF as SnfX
import Moonlight.Homology.Pure.Topology.Morse as MorseX
import Moonlight.Homology.Pure.Topology.BlockSchur as BlockSchurX
import Moonlight.Homology.Persistence as PersistenceX
import Moonlight.Homology.Rank.Field as FieldRankX
import Moonlight.Homology.Rank.GF2 as GF2RankX
import Moonlight.Homology.Pure.Chain as ChainX
import Moonlight.Homology.Pure.Matrix.Reducer as ReducerX
import Moonlight.Homology.Pure.Constraint
import Moonlight.Homology.Pure.Effective as EffectiveX
import Moonlight.Homology.Pure.Failure as FailureX
import Moonlight.Homology.Pure.FiniteAbelian as FiniteAbelianX
import Moonlight.Homology.Pure.Graded.Query as GradedQueryX
import Moonlight.Homology.Pure.GradedTorsion as GradedTorsionX
import Moonlight.Homology.Pure.Group as GroupX
import Moonlight.Homology.Pure.Phase as PhaseX
import Moonlight.Homology.Pure.Reductions as ReductionsX
import Moonlight.Homology.Pure.Sequence.Exact as ExactX
import Moonlight.Homology.Pure.Sequence.Spectral as SpectralX
import Moonlight.Homology.Pure.Skeleton as SkeletonX
import Moonlight.Homology.Pure.Topology.ScaffoldSummary as ScaffoldSummaryX
import Moonlight.Homology.Pure.TopologyObserver as TopologyObserverX
import Moonlight.Homology.Pure.TopologyView as TopologyViewX
import Moonlight.Homology.Topology as TopologyX