moonlight-homology-0.1.0.2: 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,
mkBoundaryIncidenceFromOrderedColumns,
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,
filteredBaseComplex,
filteredCellBirths,
filteredCriticalValues,
mkFilteredFiniteChainComplex,
mod2PersistentPairs,
CriticalBettiTable,
criticalBettiDegreeCount,
criticalBettiRankCount,
criticalBettiTableValues,
criticalBettiVectors,
mod2PersistentPairsWithCriticalBettiTable,
persistentBettiAt,
persistentBettiAtMany,
persistentBettiAtCriticalValues,
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