Attributes
- Companion
- class
- Experimental
- true
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
AlphaComplexDQP.type
Members list
Value members
Concrete methods
DTM-weighted alpha complex: weight(i) = -f(i)^2, where f is the empirical distance-to-measure (streams.DistanceToMeasure, Chazal-Cohen-Steiner-Merigot 2011) with k neighbours and exponent q.
DTM-weighted alpha complex: weight(i) = -f(i)^2, where f is the empirical distance-to-measure (streams.DistanceToMeasure, Chazal-Cohen-Steiner-Merigot 2011) with k neighbours and exponent q.
This is exactly the p = 2 ball equation of Anai et al., "DTM-based filtrations" (arXiv:1811.04757, Def. 3.1/Prop. 3.5) -- r_x(t)^2 = t^2 - f(x)^2 -- read against THIS class's own power-distance convention pi_i(y) = ||y-x_i||^2 - weight(i) (Definition 6/10 above): setting weight(i) = -f(i)^2 makes pi_i(y) = ||y-x_i||^2 + f(i)^2, so pi_i(y) <= alpha iff ||y-x_i||^2 <= alpha - f(i)^2 = r_x(sqrt(alpha))^2 exactly. alpha.PowerDistance/AlphaComplexDQP already implement the general weighted-alpha/restricted- nerve machinery this needs -- DTM-alpha is that machinery fed these specific weights, not a new construction. Cross-checked (not merely asserted) against streams.DtmRipsSimplexStream(..., p = 2.0): both are the SAME p = 2 weighted-ball union, so their H0 barcodes agree once alpha's own sqrt(alpha) units are doubled to match Rips's -- .claude/WORKLOG-dtm-filtrations.md has the full derivation and the cross-check itself (AlphaComplexDQPDtmSpec).
Uses JVPTree for the k-NN search (DistanceToMeasure's own default is the safer-but-slower BruteForce, needed only when the triangle inequality isn't guaranteed -- not a concern here, points is always genuinely Euclidean).
Depends on the vertex-attachment fix in AlphaComplexDQPBuilder.compute() (.claude/WORKLOG-dtm- filtrations.md): DTM weights make a point's own centre fall outside its own restricted power cell routinely (any point near an outlier), which the OLD unconditional weight(f) = -space.weight(x) got wrong -- this constructor would have produced spurious/missing H0 bars on essentially every real input before that fix landed.
Attributes
Unweighted alpha complex Alpha(S, r) up to dimension d. Filtration values come back as squared radii; see radiusOf.
Unweighted alpha complex Alpha(S, r) up to dimension d. Filtration values come back as squared radii; see radiusOf.
Attributes
Weighted alpha complex Alpha(S, p, a1) up to dimension d.
Weighted alpha complex Alpha(S, p, a1) up to dimension d.