Bug#1126374: gudhi: test_ripser_interfaces fails on ppc64el

Drew Parsons <[email protected]> Sun, 25 Jan 2026 02:08:20 +0100
Newsgroups gmane.linux.debian.ports.powerpc
Message-ID <176930330077.149957.3820687274112605190.reportbug__22892.5330958859$1769303491$gmane$org@sandy>
Source: gudhi
Version: 3.11.0+dfsg-1
Severity: serious
Justification: debci
X-Debbugs-Cc: [email protected]
User: [email protected]
Usertags: ppc64el

gudhi is failing test_ripser_interfaces during autopkgtest (debci)
tests on ppc64el:

 98s =================================== FAILURES ===================================
 98s ____________________________ test_ripser_interfaces ____________________________
 98s 
 98s     def test_ripser_interfaces():
 98s >       cmp_rips(points.sphere(n_samples=random.randint(100, 150), ambient_dim=2))
 98s 
 98s test/test_sklearn_rips_persistence.py:163: 
 98s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
 98s 
 98s point_cloud = array([[-0.21236015,  0.97719147],
 98s        [ 0.9453926 ,  0.32593379],
 98s        [-0.93585084, -0.35239638],
 98s        [-0.91...-0.97009724],
 98s        [ 0.43737629,  0.89927859],
 98s        [ 0.99975938, -0.02193595],
 98s        [-0.57846424, -0.81570774]])
 98s 
 98s     def cmp_rips(point_cloud):
 98s         primes = [2, 3, 11, 17, 29]  # Small list so 2 is often selected
 98s         field = random.choice(primes)
 98s         print(f"random prime = {field}")
 98s     
 98s         print(f"nb points = {len(point_cloud)}, dim = {point_cloud.shape[1]}")
 98s         dists = cdist(point_cloud, point_cloud)
 98s     
 98s         # Check cone radius
 98s         cr = dists.max(-1).min()
 98s         assert cr == _lower_cone_radius(dists)
 98s         assert cr < 2.0
 98s     
 98s         ## Compute with the SimplexTree
 98s         stree = RipsComplex(distance_matrix=dists).create_simplex_tree(max_dimension=2)
 98s         stree.compute_persistence(homology_coeff_field=field, persistence_dim_max=True)
 98s         dgm0 = stree.persistence_intervals_in_dimension(0)
 98s         dgm1 = stree.persistence_intervals_in_dimension(1)
 98s     
 98s         # Compute with Ripser
 98s         dgm = _full(dists, max_dimension=1, max_edge_length=float("inf"), homology_coeff_field=field)
 98s         # The order of the intervals may differ, so we cannot compare the arrays with np.testing.assert_almost_equal
 98s         assert bottleneck_distance(dgm0, dgm[0]) < 1e-8
 98s >       assert bottleneck_distance(dgm1, dgm[1]) < 1e-8
 98s E       assert 0.3300548399501084 < 1e-08
 98s E        +  where 0.3300548399501084 = bottleneck_distance(array([[0.23748386, 1.73508822]]), array([[0.23748386, 1.40503338]]))
 98s 
 98s test/test_sklearn_rips_persistence.py:120: AssertionError


The test failure interferes with migration to testing of dependencies, like scipy