BarcodeContext

org.appliedtopology.tda4j.barcode.BarcodeContext
class BarcodeContext[FiltrationT]()(using evidence$1: Ordering[FiltrationT])

Attributes

Experimental
true
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Type members

Classlikes

class BarAssembly(val lower: BarcodeEndpoint[BarcodeContext.this.FiltrationT], val upper: BarcodeEndpoint[BarcodeContext.this.FiltrationT])

Infix notation for hand-building explicit persistence bars: lower upper constructs a BarAssembly, which dim(d)(...) then turns into a PersistenceBar. Each infix method's name spells out its endpoint kinds in birth-then-death order: cl = closed, op = open, inf = infinite (only ever at the far end -- negative infinity as a lower bound, positive infinity as an upper bound). So a clop b is the closed-open bar [a, b) (the usual half-open persistence interval, and what the bare bc alias also means); a clcl b is [a, b]; a opop b is (a, b); a opcl b is (a, b]; clinf(a)/opinf(a) are [a, ∞)/(a, ∞); infcl(b)/infop(b) are (-∞, b]/(-∞, b).

Infix notation for hand-building explicit persistence bars: lower upper constructs a BarAssembly, which dim(d)(...) then turns into a PersistenceBar. Each infix method's name spells out its endpoint kinds in birth-then-death order: cl = closed, op = open, inf = infinite (only ever at the far end -- negative infinity as a lower bound, positive infinity as an upper bound). So a clop b is the closed-open bar [a, b) (the usual half-open persistence interval, and what the bare bc alias also means); a clcl b is [a, b]; a opop b is (a, b); a opcl b is (a, b]; clinf(a)/opinf(a) are [a, ∞)/(a, ∞); infcl(b)/infop(b) are (-∞, b]/(-∞, b).

val ctx = BarcodeContext[Double]()
import ctx.*
ctx.dim(1)(3.0 clop 5.0)   // PersistenceBar(1, ClosedEndpoint(3.0), OpenEndpoint(5.0))
ctx.dim(0)(clinf(2.0))     // PersistenceBar(0, ClosedEndpoint(2.0), PositiveInfinity())

Attributes

Supertypes
class Object
trait Matchable
class Any

Types

type Bar = PersistenceBar[FiltrationT, Nothing]

Value members

Concrete methods

def clinf(lower: FiltrationT): BarAssembly
def dim(d: Int)(ba: BarAssembly): PersistenceBar[FiltrationT, Nothing]
def infcl(upper: FiltrationT): BarAssembly
def infop(upper: FiltrationT): BarAssembly
def opinf(lower: FiltrationT): BarAssembly

Extensions

Extensions

extension (lower: FiltrationT)
infix def bc(upper: FiltrationT): BarAssembly
infix def clcl(upper: FiltrationT): BarAssembly
infix def clop(upper: FiltrationT): BarAssembly
infix def opcl(upper: FiltrationT): BarAssembly
infix def opop(upper: FiltrationT): BarAssembly