SimplicialSetStream

org.appliedtopology.tda4j.streams.SimplicialSetStream
See theSimplicialSetStream companion object
class SimplicialSetStream[G](sset: FiniteSimplicialSet[G])(using x$2: is[G, OrderedCell]) extends CellStream[G, Int]

Adapts a FiniteSimplicialSet[G] into the CellStream[G, Int] the existing homology engines actually require (CellularHomologyContext takes a stream: CellStream[CellT, FiltrationT], never a bare OrderedCell -- confirmed by reading Homology.scala). Every generator sits at the same nominal filtration value 0: this is ordinary (unfiltered) homology of one fixed finite simplicial set, not real persistence -- the adapter exists only because the engine has no entry point that skips the stream interface.

filtrationOrdering is Ordering.by(dimOf) ascending, then ord as tiebreak -- traced from Homology.scala's own CellularHomologyContext.HomologyState.processingOrder derivation comment (the reverted first attempt at that comparator used filtrationOrdering.reverse wholesale and got faces-before-cofaces backwards precisely because filtrationOrdering itself already sorts smaller dimension as smaller, un-negated): this matches that established convention exactly, not a fresh interpretation for this new case. With every generator's filtration value tied, processingOrder collapses to exactly this ascending-dimension order, so it alone determines faces-before-cofaces here.

G is OrderedCell is threaded explicitly (via the companion apply) rather than resolved as an ambient global given: unlike Simplex/Cube, a FiniteSimplicialSet's OrderedCell instance depends on that one simplicial set's own faces data, not on G alone, so it cannot be a single global instance for a given G.

Attributes

Companion
object
Experimental
true
Graph
Supertypes
trait CellStream[G, Int]
trait IterableOnce[G]
trait Filtration[G, Int]
trait Filterable[Int]
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def filtrationValue: PartialFunction[G, Int]
def iterator: Iterator[G]

An scala.collection.Iterator over the elements of this collection.

An scala.collection.Iterator over the elements of this collection.

If an IterableOnce object is in fact an scala.collection.Iterator, this method always returns itself, in its current state, but if it is an scala.collection.Iterable, this method always returns a new scala.collection.Iterator.

Attributes

Returns

an iterator over all elements of this collection

Inherited methods

def knownSize: Int

The number of elements in this collection, if it can be cheaply computed, -1 otherwise. Cheaply usually means: Not requiring a collection traversal.

The number of elements in this collection, if it can be cheaply computed, -1 otherwise. Cheaply usually means: Not requiring a collection traversal.

Attributes

Inherited from:
IterableOnce
def stepper[S <: Stepper[_]](implicit shape: StepperShape[G, S]): S

Returns a scala.collection.Stepper for the elements of this collection.

Returns a scala.collection.Stepper for the elements of this collection.

The Stepper enables creating a Java stream to operate on the collection, see scala.jdk.StreamConverters. For collections holding primitive values, the Stepper can be used as an iterator which doesn't box the elements.

The implicit scala.collection.StepperShape parameter defines the resulting Stepper type according to the element type of this collection.

  • For collections of Int, Short, Byte or Char, an scala.collection.IntStepper is returned
  • For collections of Double or Float, a scala.collection.DoubleStepper is returned
  • For collections of Long a scala.collection.LongStepper is returned
  • For any other element type, an scala.collection.AnyStepper is returned

Note that this method is overridden in subclasses and the return type is refined to S with EfficientSplit, for example scala.collection.IndexedSeqOps.stepper. For Steppers marked with scala.collection.Stepper.EfficientSplit, the converters in scala.jdk.StreamConverters allow creating parallel streams, whereas bare Steppers can be converted only to sequential streams.

Type parameters

S

the type of the returned Stepper, determined by the implicit StepperShape

Attributes

Inherited from:
IterableOnce

Concrete fields

val filtrationOrdering: Ordering[G]

Exports

Defined exports

def largest: Int
Exported from Filterable
def smallest: Int
Exported from Filterable