#30528 closed enhancement (invalid)

Remove basic access to bitsets in combinatorial polyhedron

Reported by: gh-kliem Owned by:
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: geometry Keywords:
Cc: tscrim, mkoeppe Merged in:
Authors: Reviewers: Travis Scrimshaw
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description

This ticket removes basic access to bitsets in files related to combinatorial polyhedron and moves this to a new file combinatorial_polyhedron/bitsets.cc, which is more or less a copy of parts of data_structures/bitsets.pxi.

Also bit_vector_operations.cc is renamed to bitset_operations.cc.

bitsets.cc should be a C++ file, because bitset_operations.cc will use it (and the later one needs to be C++ or C, because it needs to be able to handle macros as indicated in #27103).

Follow ups:

  • Even less access to the underlying structure of faces or lists of faces by introducing structures that collect them. This will simplify the signature of get_next_level. Currently this is (uin64_t**, size_t, uint64_t**, uint64_t**, size_t, size_t) and much worse for the simple/simplicial case (#30040). Eventually this should be similar to (face_list_struct, face_list_struct, face_list_struct) for both cases and then the underlying function can worry about face_list_struct. This is also more solid with regard to future changes.
  • Eventually merging both versions of bitsets and only having small parts in an extra C++ file that can be optimized by intrinsics.

Change History (19)

comment:1 Changed 15 months ago by gh-kliem

  • Cc tscrim added
  • Status changed from new to needs_review

comment:2 Changed 15 months ago by tscrim

  • Reviewers set to Travis Scrimshaw
  • Status changed from needs_review to positive_review

This LGTM although it is making me wonder if we should have our own bitset operations class in Sage. There is the C++ STL bitset, and if we do need something slightly more custom, it would be good as a C++ library that we would then interface with.

comment:3 follow-up: Changed 15 months ago by gh-kliem

Thank you.

std::bitset isn't architecture optimized as far as I can see. There is also Roaring Bitmap and probably much more out there. Of course it must be portable to be shipped with sage.

The idea of this ticket (and a follow up) is to get to the point, where it makes sense to try different things. Currently, whenever I try something different, there is so many places that need to be adjusted. This is annoying. So the idea is that FaceIterator etc. do not know how that thing works. They just use it for top level functions to e.g. intersect two faces. Some down level function can worry about how to do this.

For a good face iterator I need the following:

  • Constant memory usage (I'm reusing the same things over and over, I cannot afford to allocate memory each time), as far as I can see Roaring Bitmap does not provide this.
  • Use of available intrinsics. Why waste a factor of two? (For the f_vector this was a factor of two for the total time, not just for part of the job.)
  • Some way to deal with very sparse sets. Further down the polyhedron there will be many faces containing just a tiny portion of the vertices. This can be exploited.

comment:4 Changed 15 months ago by git

  • Commit changed from 5052b06d9aaf952d127bbc9cff0abacdfda777d0 to 0b41c77a91f6686e3a6e9a99eb78053d93a2e904
  • Status changed from positive_review to needs_review

Branch pushed to git repo; I updated commit sha1 and set ticket back to needs_review. This was a forced push. Last 10 new commits:

f997cecsmall fixes
63b7bd6improvements in documentation
f2edc3dget rid of maybe_newfaces
6dfbe81get rid of compute_dimension_loop
f2dd072do not expose the coatoms
fc8124afix mistake
7b134d5Merge branch 'u/gh-kliem/simplify_conversion_tests' of git://trac.sagemath.org/sage into u/gh-kliem/no_more_basic_access_2
072e200temporary commit
cba37e8temporary commit
0b41c77remove basic acces to bitsets

comment:5 Changed 15 months ago by gh-kliem

  • Status changed from needs_review to positive_review

Rebased.

comment:6 Changed 15 months ago by tscrim

Thank you for the explanation and the rebase.

comment:7 in reply to: ↑ 3 Changed 13 months ago by gh-kliem

Replying to gh-kliem:

Thank you.

std::bitset isn't architecture optimized as far as I can see. There is also Roaring Bitmap and probably much more out there. Of course it must be portable to be shipped with sage.

The idea of this ticket (and a follow up) is to get to the point, where it makes sense to try different things. Currently, whenever I try something different, there is so many places that need to be adjusted. This is annoying. So the idea is that FaceIterator etc. do not know how that thing works. They just use it for top level functions to e.g. intersect two faces. Some down level function can worry about how to do this.

For a good face iterator I need the following:

  • Constant memory usage (I'm reusing the same things over and over, I cannot afford to allocate memory each time), as far as I can see Roaring Bitmap does not provide this.
  • Use of available intrinsics. Why waste a factor of two? (For the f_vector this was a factor of two for the total time, not just for part of the job.)
  • Some way to deal with very sparse sets. Further down the polyhedron there will be many faces containing just a tiny portion of the vertices. This can be exploited.

A quick update to the explanation:

I tested roaring and it performs wonderful, but only with bitsets starting with about 50,000 bits, as it stores in chunks and the chunks are set to 216 bits each. So this is not an option for small stuff, but very interesting if you go into very large things.

comment:8 Changed 13 months ago by vbraun

  • Status changed from positive_review to needs_work

Doesn't compile on osx

[sagelib-9.3.beta1] [18/20] gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wno-unused -Isage/geometry/polyhedron/combinatorial_polyhedron -I./sage/libs/flint -I./sage/cpython -I./sage/ext -I/Users/buildbot-sage/slave/sage_git/build/local/lib/python3.8/site-packages/cysignals -I/Users/buildbot-sage/slave/sage_git/build/build/pkgs/sagelib/src -I/Users/buildbot-sage/slave/sage_git/build/local/include/python3.8 -I/Users/buildbot-sage/slave/sage_git/build/local/lib/python3.8/site-packages/numpy/core/include -Ibuild/cythonized -I/Users/buildbot-sage/slave/sage_git/build/local/include/python3.8 -c build/cythonized/sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.cpp -o build/temp.macosx-10.9-x86_64-3.8/build/cythonized/sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.o -fno-strict-aliasing -DCYTHON_CLINE_IN_TRACEBACK=1 -std=c++11
[sagelib-9.3.beta1] In file included from build/cythonized/sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.cpp:2902:
[sagelib-9.3.beta1] build/cythonized/sage/geometry/polyhedron/combinatorial_polyhedron/bitsets.cc:143:12: error: no matching function for call to '__gmpn_scan1'
[sagelib-9.3.beta1]     return mpn_scan1(&limb, 0);
[sagelib-9.3.beta1]            ^~~~~~~~~
[sagelib-9.3.beta1] /Users/buildbot-sage/slave/sage_git/build/local/include/gmp.h:1828:19: note: expanded from macro 'mpn_scan1'
[sagelib-9.3.beta1] #define mpn_scan1 __MPN(scan1)
[sagelib-9.3.beta1]                   ^~~~~~~~~~~~
[sagelib-9.3.beta1] /Users/buildbot-sage/slave/sage_git/build/local/include/gmp.h:335:18: note: expanded from macro '__MPN'
[sagelib-9.3.beta1] #define __MPN(x) __gmpn_##x
[sagelib-9.3.beta1]                  ^~~~~~~~~~
[sagelib-9.3.beta1] <scratch space>:6:1: note: expanded from here
[sagelib-9.3.beta1] __gmpn_scan1
[sagelib-9.3.beta1] ^~~~~~~~~~~~
[sagelib-9.3.beta1] /Users/buildbot-sage/slave/sage_git/build/local/include/gmp.h:1829:28: note: candidate function not viable: no known conversion from 'uint64_t *' (aka 'unsigned long long *') to 'mp_srcptr' (aka 'const unsigned long *') for 1st argument
[sagelib-9.3.beta1] __GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE;
[sagelib-9.3.beta1]                            ^
[sagelib-9.3.beta1] /Users/buildbot-sage/slave/sage_git/build/local/include/gmp.h:1828:19: note: expanded from macro 'mpn_scan1'
[sagelib-9.3.beta1] #define mpn_scan1 __MPN(scan1)
[sagelib-9.3.beta1]                   ^
[sagelib-9.3.beta1] /Users/buildbot-sage/slave/sage_git/build/local/include/gmp.h:335:18: note: expanded from macro '__MPN'
[sagelib-9.3.beta1] #define __MPN(x) __gmpn_##x
[sagelib-9.3.beta1]                  ^
[sagelib-9.3.beta1] <scratch space>:125:1: note: expanded from here

comment:9 Changed 13 months ago by git

  • Commit changed from 0b41c77a91f6686e3a6e9a99eb78053d93a2e904 to 6fa7ac9335dcc1baf8fa086c0b82a3b1e70bde67

Branch pushed to git repo; I updated commit sha1. New commits:

610d7e1Merge branch 'u/gh-kliem/no_more_basic_access' of git://trac.sagemath.org/sage into u/gh-kliem/no_more_basic_access
6fa7ac9a workaround for mpn_scan1

comment:10 Changed 13 months ago by gh-kliem

  • Status changed from needs_work to needs_review

Ok, falling back to a manual mpn_scan1 for now.

It really doesn't matter that much, because it is not less efficient then the current one and it will hopefully be removed in follow up.

This ticket is mostly about moving some function out of the "frontend", to account for the fact that CombinatorialPolyhedron does not need to know how we want to store incidences. We could use any representation and the algorithm would still work. So the CombinatorialPolyhedron and FaceIterator should not relie on implementation details of the data structure and instead use access functions.

comment:11 follow-up: Changed 13 months ago by gh-kliem

  • Cc mkoeppe added

@mkoeppe: Could you maybe check if this works on OSX? So if it compiles now and if tests in geometry/polyhedron pass?

comment:12 in reply to: ↑ 11 Changed 13 months ago by tscrim

Replying to gh-kliem:

@mkoeppe: Could you maybe check if this works on OSX? So if it compiles now and if tests in geometry/polyhedron pass?

Yes, please as I don't have access to an OSX machine. @gh-kliem we can also hope the appropriate patchbot to come around too.

comment:13 Changed 13 months ago by gh-kliem

https://github.com/kliem/sage/actions/runs/374613473

Eventually this will also terminate.

Last edited 13 months ago by gh-kliem (previous) (diff)

comment:14 Changed 12 months ago by gh-kliem

  • Status changed from needs_review to positive_review

Ok. Seems to work now. The OSX patchbot came back and it is morally green (unrelated tests fail).

comment:15 Changed 12 months ago by vbraun

Fails on 32-bit:

File "src/sage/combinat/root_system/associahedron.py", line 121, in sage.combinat.root_system.associahedron.Associahedron
Failed example:
    TestSuite(p2).run()
Expected nothing
Got:
    Failure in _test_pyramid:
    Traceback (most recent call last):
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/misc/sage_unittest.py", line 297, in run
        test_method(tester=tester)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 7432, in _test_pyramid
        check_pyramid_certificate(pyr, cert)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 7421, in check_pyramid_certificate
        tester.assertTrue(any(set(f.ambient_Vrepresentation()) == others for f in P.facets()))
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/unittest/case.py", line 765, in assertTrue
        raise self.failureException(msg)
    AssertionError: False is not true
    ------------------------------------------------------------
    The following tests failed: _test_pyramid
**********************************************************************
File "src/sage/combinat/root_system/associahedron.py", line 123, in sage.combinat.root_system.associahedron.Associahedron
Failed example:
    TestSuite(p3).run()
Expected nothing
Got:
    Failure in _test_an_affine_basis:
    Traceback (most recent call last):
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/misc/sage_unittest.py", line 297, in run
        test_method(tester=tester)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 2290, in _test_an_affine_basis
        b = self.an_affine_basis()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 2263, in an_affine_basis
        basis_indices.append(face[0])
    IndexError: tuple index out of range
    ------------------------------------------------------------
    Failure in _test_linear_transformation:
    Traceback (most recent call last):
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/misc/sage_unittest.py", line 297, in run
        test_method(tester=tester)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 5353, in _test_linear_transformation
        tester.assertEqual(self, self.linear_transformation(identity_matrix(self.ambient_dim())))
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 5286, in linear_transformation
        homogeneous_basis = matrix(R, ( [1] + list(v) for v in self.an_affine_basis() )).transpose()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 2263, in an_affine_basis
        basis_indices.append(face[0])
    IndexError: tuple index out of range
    ------------------------------------------------------------
    Failure in _test_pyramid:
    Traceback (most recent call last):
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/misc/sage_unittest.py", line 297, in run
        test_method(tester=tester)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 7432, in _test_pyramid
        check_pyramid_certificate(pyr, cert)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 7421, in check_pyramid_certificate
        tester.assertTrue(any(set(f.ambient_Vrepresentation()) == others for f in P.facets()))
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/unittest/case.py", line 765, in assertTrue
        raise self.failureException(msg)
    AssertionError: False is not true
    ------------------------------------------------------------
    The following tests failed: _test_an_affine_basis, _test_linear_transformation, _test_pyramid
**********************************************************************
1 item had failures:
   2 of  17 in sage.combinat.root_system.associahedron.Associahedron
    [69 tests, 2 failures, 8.05 s]
**********************************************************************
File "src/sage/combinat/root_system/root_lattice_realizations.py", line 2517, in sage.combinat.root_system.root_lattice_realizations.RootLatticeRealizations.ParentMethods.plot_hedron
Failed example:
    RootSystem(["B",3]).ambient_space().plot_hedron()
Exception raised:
    Traceback (most recent call last):
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/forker.py", line 720, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/forker.py", line 1145, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.combinat.root_system.root_lattice_realizations.RootLatticeRealizations.ParentMethods.plot_hedron[2]>", line 1, in <module>
        RootSystem(["B",Integer(3)]).ambient_space().plot_hedron()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/combinat/root_system/root_lattice_realizations.py", line 2551, in plot_hedron
        return Polyhedron(vertices=vertices).plot()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 1068, in plot
        projection = project(self, orthonormal)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 1056, in project
        return polyhedron.projection()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 7661, in projection
        self.projection = Projection(self)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/plot.py", line 372, in __init__
        self._init_from_3d(polyhedron)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/plot.py", line 667, in _init_from_3d
        self._init_lines_arrows(polyhedron)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/plot.py", line 709, in _init_lines_arrows
        if polyhedron.vertex_adjacency_matrix()[i,j] == 0:
      File "sage/misc/cachefunc.pyx", line 2310, in sage.misc.cachefunc.CachedMethodCallerNoArgs.__call__ (build/cythonized/sage/misc/cachefunc.c:12906)
        self.cache = f(self._instance)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 2692, in vertex_adjacency_matrix
        return self._vertex_adjacency_matrix()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 471, in _vertex_adjacency_matrix
        face_lattice = self.face_lattice()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 6498, in face_lattice
        return FiniteLatticePoset(self.hasse_diagram())
      File "sage/misc/cachefunc.pyx", line 2310, in sage.misc.cachefunc.CachedMethodCallerNoArgs.__call__ (build/cythonized/sage/misc/cachefunc.c:12906)
        self.cache = f(self._instance)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 6526, in hasse_diagram
        return D.relabel(index_to_polyhedron_face, inplace=False, immutable=True)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/graphs/generic_graph.py", line 21431, in relabel
        perm2 = G.relabel(perm,
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/graphs/generic_graph.py", line 21499, in relabel
        raise NotImplementedError("Non injective relabeling")
    NotImplementedError: Non injective relabeling
**********************************************************************
File "src/sage/combinat/root_system/root_lattice_realizations.py", line 2519, in sage.combinat.root_system.root_lattice_realizations.RootLatticeRealizations.ParentMethods.plot_hedron
Failed example:
    RootSystem(["C",3]).ambient_space().plot_hedron()
Exception raised:
    Traceback (most recent call last):
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/forker.py", line 720, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/forker.py", line 1145, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.combinat.root_system.root_lattice_realizations.RootLatticeRealizations.ParentMethods.plot_hedron[3]>", line 1, in <module>
        RootSystem(["C",Integer(3)]).ambient_space().plot_hedron()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/combinat/root_system/root_lattice_realizations.py", line 2551, in plot_hedron
        return Polyhedron(vertices=vertices).plot()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 1068, in plot
        projection = project(self, orthonormal)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 1056, in project
        return polyhedron.projection()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 7661, in projection
        self.projection = Projection(self)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/plot.py", line 372, in __init__
        self._init_from_3d(polyhedron)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/plot.py", line 667, in _init_from_3d
        self._init_lines_arrows(polyhedron)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/plot.py", line 709, in _init_lines_arrows
        if polyhedron.vertex_adjacency_matrix()[i,j] == 0:
      File "sage/misc/cachefunc.pyx", line 2310, in sage.misc.cachefunc.CachedMethodCallerNoArgs.__call__ (build/cythonized/sage/misc/cachefunc.c:12906)
        self.cache = f(self._instance)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 2692, in vertex_adjacency_matrix
        return self._vertex_adjacency_matrix()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 471, in _vertex_adjacency_matrix
        face_lattice = self.face_lattice()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 6498, in face_lattice
        return FiniteLatticePoset(self.hasse_diagram())
      File "sage/misc/cachefunc.pyx", line 2310, in sage.misc.cachefunc.CachedMethodCallerNoArgs.__call__ (build/cythonized/sage/misc/cachefunc.c:12906)
        self.cache = f(self._instance)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 6526, in hasse_diagram
        return D.relabel(index_to_polyhedron_face, inplace=False, immutable=True)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/graphs/generic_graph.py", line 21431, in relabel
        perm2 = G.relabel(perm,
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/graphs/generic_graph.py", line 21499, in relabel
        raise NotImplementedError("Non injective relabeling")
    NotImplementedError: Non injective relabeling
**********************************************************************
File "src/sage/combinat/root_system/root_lattice_realizations.py", line 2527, in sage.combinat.root_system.root_lattice_realizations.RootLatticeRealizations.ParentMethods.plot_hedron
Failed example:
    RootSystem(["F",4]).ambient_space().plot_hedron() # long time
Exception raised:
    Traceback (most recent call last):
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/forker.py", line 720, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/forker.py", line 1145, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.combinat.root_system.root_lattice_realizations.RootLatticeRealizations.ParentMethods.plot_hedron[5]>", line 1, in <module>
        RootSystem(["F",Integer(4)]).ambient_space().plot_hedron() # long time
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/combinat/root_system/root_lattice_realizations.py", line 2551, in plot_hedron
        return Polyhedron(vertices=vertices).plot()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 1068, in plot
        projection = project(self, orthonormal)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 1064, in project
        return polyhedron.schlegel_projection(position=position)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 7768, in schlegel_projection
        proj = self.projection()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 7661, in projection
        self.projection = Projection(self)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/plot.py", line 375, in __init__
        self._init_lines_arrows(polyhedron)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/plot.py", line 709, in _init_lines_arrows
        if polyhedron.vertex_adjacency_matrix()[i,j] == 0:
      File "sage/misc/cachefunc.pyx", line 2310, in sage.misc.cachefunc.CachedMethodCallerNoArgs.__call__ (build/cythonized/sage/misc/cachefunc.c:12906)
        self.cache = f(self._instance)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 2692, in vertex_adjacency_matrix
        return self._vertex_adjacency_matrix()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 471, in _vertex_adjacency_matrix
        face_lattice = self.face_lattice()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 6498, in face_lattice
        return FiniteLatticePoset(self.hasse_diagram())
      File "sage/misc/cachefunc.pyx", line 2310, in sage.misc.cachefunc.CachedMethodCallerNoArgs.__call__ (build/cythonized/sage/misc/cachefunc.c:12906)
        self.cache = f(self._instance)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 6526, in hasse_diagram
        return D.relabel(index_to_polyhedron_face, inplace=False, immutable=True)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/graphs/generic_graph.py", line 21431, in relabel
        perm2 = G.relabel(perm,
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/graphs/generic_graph.py", line 21499, in relabel
        raise NotImplementedError("Non injective relabeling")
    NotImplementedError: Non injective relabeling
**********************************************************************
1 item had failures:
   3 of   9 in sage.combinat.root_system.root_lattice_realizations.RootLatticeRealizations.ParentMethods.plot_hedron
    [645 tests, 3 failures, 54.31 s]
**********************************************************************
File "src/sage/geometry/polyhedron/backend_cdd.py", line 559, in sage.geometry.polyhedron.backend_cdd.Polyhedron_RDF_cdd._init_from_Vrepresentation_and_Hrepresentation
Failed example:
    P.is_combinatorially_isomorphic(Q)
Expected:
    True
Got:
    False
**********************************************************************
File "src/sage/geometry/polyhedron/backend_cdd.py", line 562, in sage.geometry.polyhedron.backend_cdd.Polyhedron_RDF_cdd._init_from_Vrepresentation_and_Hrepresentation
Failed example:
    P.is_combinatorially_isomorphic(R)
Expected:
    True
Got:
    False
**********************************************************************
1 item had failures:
   2 of  20 in sage.geometry.polyhedron.backend_cdd.Polyhedron_RDF_cdd._init_from_Vrepresentation_and_Hrepresentation
    [67 tests, 2 failures, 1.75 s]
**********************************************************************
File "src/sage/geometry/polyhedron/combinatorial_polyhedron/base.pyx", line 1052, in sage.geometry.polyhedron.combinatorial_polyhedron.base.CombinatorialPolyhedron.incidence_matrix
Failed example:
    C.incidence_matrix() == P.incidence_matrix()
Expected:
    True
Got:
    False
**********************************************************************
File "src/sage/geometry/polyhedron/combinatorial_polyhedron/base.pyx", line 2285, in sage.geometry.polyhedron.combinatorial_polyhedron.base.CombinatorialPolyhedron.face_iter
Failed example:
    face.ambient_Vrepresentation()
Expected:
    (A vertex at (1, 3, 2, 5, 4),
     A vertex at (2, 3, 1, 5, 4),
     A vertex at (3, 1, 2, 5, 4),
     A vertex at (3, 2, 1, 5, 4),
     A vertex at (2, 1, 3, 5, 4),
     A vertex at (1, 2, 3, 5, 4))
Got:
    (A vertex at (1, 3, 2, 5, 4),
     A vertex at (3, 1, 2, 5, 4),
     A vertex at (3, 2, 1, 5, 4),
     A vertex at (2, 1, 3, 5, 4),
     A vertex at (1, 2, 3, 5, 4))
**********************************************************************
File "src/sage/geometry/polyhedron/combinatorial_polyhedron/base.pyx", line 2294, in sage.geometry.polyhedron.combinatorial_polyhedron.base.CombinatorialPolyhedron.face_iter
Failed example:
    face.ambient_Vrepresentation()
Expected:
    (A vertex at (2, 1, 4, 5, 3),
     A vertex at (3, 2, 4, 5, 1),
     A vertex at (3, 1, 4, 5, 2),
     A vertex at (1, 3, 4, 5, 2),
     A vertex at (1, 2, 4, 5, 3),
     A vertex at (2, 3, 4, 5, 1))
Got:
    (A vertex at (3, 2, 4, 5, 1),
     A vertex at (3, 1, 4, 5, 2),
     A vertex at (1, 3, 4, 5, 2),
     A vertex at (1, 2, 4, 5, 3),
     A vertex at (2, 3, 4, 5, 1))
**********************************************************************
File "src/sage/geometry/polyhedron/combinatorial_polyhedron/base.pyx", line 2311, in sage.geometry.polyhedron.combinatorial_polyhedron.base.CombinatorialPolyhedron.face_iter
Failed example:
    face.ambient_V_indices()
Expected:
    (32, 89, 90, 94)
Got:
    (89, 90, 94)
**********************************************************************
2 items had failures:
   3 of  20 in sage.geometry.polyhedron.combinatorial_polyhedron.base.CombinatorialPolyhedron.face_iter
   1 of  25 in sage.geometry.polyhedron.combinatorial_polyhedron.base.CombinatorialPolyhedron.incidence_matrix
    [572 tests, 4 failures, 1.40 s]
**********************************************************************
File "src/sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pyx", line 421, in sage.geometry.polyhedron.combinatorial_polyhedron.combinatorial_face.CombinatorialFace.ambient_Vrepresentation
Failed example:
    face.ambient_Vrepresentation()
Expected:
    (A vertex at (1, 3, 2, 5, 4),
     A vertex at (2, 3, 1, 5, 4),
     A vertex at (3, 1, 2, 5, 4),
     A vertex at (3, 2, 1, 5, 4),
     A vertex at (2, 1, 3, 5, 4),
     A vertex at (1, 2, 3, 5, 4))
Got:
    (A vertex at (1, 3, 2, 5, 4),
     A vertex at (3, 1, 2, 5, 4),
     A vertex at (3, 2, 1, 5, 4),
     A vertex at (2, 1, 3, 5, 4),
     A vertex at (1, 2, 3, 5, 4))
**********************************************************************
File "src/sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pyx", line 429, in sage.geometry.polyhedron.combinatorial_polyhedron.combinatorial_face.CombinatorialFace.ambient_Vrepresentation
Failed example:
    face.ambient_Vrepresentation()
Expected:
    (A vertex at (2, 1, 4, 5, 3),
     A vertex at (3, 2, 4, 5, 1),
     A vertex at (3, 1, 4, 5, 2),
     A vertex at (1, 3, 4, 5, 2),
     A vertex at (1, 2, 4, 5, 3),
     A vertex at (2, 3, 4, 5, 1))
Got:
    (A vertex at (3, 2, 4, 5, 1),
     A vertex at (3, 1, 4, 5, 2),
     A vertex at (1, 3, 4, 5, 2),
     A vertex at (1, 2, 4, 5, 3),
     A vertex at (2, 3, 4, 5, 1))
**********************************************************************
File "src/sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pyx", line 485, in sage.geometry.polyhedron.combinatorial_polyhedron.combinatorial_face.CombinatorialFace.ambient_V_indices
Failed example:
    next(it).ambient_V_indices()
Expected:
    (32, 91, 92, 93, 94, 95)
Got:
    (91, 92, 93, 94, 95)
**********************************************************************
File "src/sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pyx", line 487, in sage.geometry.polyhedron.combinatorial_polyhedron.combinatorial_face.CombinatorialFace.ambient_V_indices
Failed example:
    next(it).ambient_V_indices()
Expected:
    (32, 89, 90, 94)
Got:
    (89, 90, 94)
**********************************************************************
File "src/sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pyx", line 546, in sage.geometry.polyhedron.combinatorial_polyhedron.combinatorial_face.CombinatorialFace.Vrepr
Failed example:
    face.Vrepr()
Expected:
    doctest:...: DeprecationWarning: the method Vrepr of CombinatorialPolyhedron is deprecated; use ambient_V_indices or ambient_Vrepresentation
    See https://trac.sagemath.org/28616 for details.
    (A vertex at (1, 3, 2, 5, 4),
     A vertex at (2, 3, 1, 5, 4),
     A vertex at (3, 1, 2, 5, 4),
     A vertex at (3, 2, 1, 5, 4),
     A vertex at (2, 1, 3, 5, 4),
     A vertex at (1, 2, 3, 5, 4))
Got:
    doctest:warning
      File "/var/lib/buildbot/slave/sage_git/build/src/bin/sage-runtests", line 182, in <module>
        err = DC.run()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/control.py", line 1237, in run
        self.run_doctests()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/control.py", line 938, in run_doctests
        self.dispatcher.dispatch()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/forker.py", line 2052, in dispatch
        self.parallel_dispatch()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/forker.py", line 1947, in parallel_dispatch
        w.start()  # This might take some time
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/forker.py", line 2219, in start
        super(DocTestWorker, self).start()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/multiprocessing/process.py", line 121, in start
        self._popen = self._Popen(self)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/multiprocessing/context.py", line 224, in _Popen
        return _default_context.get_context().Process._Popen(process_obj)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/multiprocessing/context.py", line 277, in _Popen
        return Popen(process_obj)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/multiprocessing/popen_fork.py", line 19, in __init__
        self._launch(process_obj)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/multiprocessing/popen_fork.py", line 75, in _launch
        code = process_obj._bootstrap(parent_sentinel=child_r)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
        self.run()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/forker.py", line 2191, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/forker.py", line 2520, in __call__
        doctests, extras = self._run(runner, options, results)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/forker.py", line 2567, in _run
        result = runner.run(test)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/forker.py", line 918, in run
        return self._run(test, compileflags, out)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/forker.py", line 720, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/forker.py", line 1145, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.geometry.polyhedron.combinatorial_polyhedron.combinatorial_face.CombinatorialFace.Vrepr[4]>", line 1, in <module>
        face.Vrepr()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/misc/superseded.py", line 100, in deprecation
        warning(trac_number, message, DeprecationWarning, stacklevel)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/misc/superseded.py", line 146, in warning
        warn(message, warning_class, stacklevel)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/warnings.py", line 109, in _showwarnmsg
        sw(msg.message, msg.category, msg.filename, msg.lineno,
    :
    DeprecationWarning: the method Vrepr of CombinatorialPolyhedron is deprecated; use ambient_V_indices or ambient_Vrepresentation
    See https://trac.sagemath.org/28616 for details.
    (A vertex at (1, 3, 2, 5, 4),
     A vertex at (3, 1, 2, 5, 4),
     A vertex at (3, 2, 1, 5, 4),
     A vertex at (2, 1, 3, 5, 4),
     A vertex at (1, 2, 3, 5, 4))
**********************************************************************
3 items had failures:
   1 of   6 in sage.geometry.polyhedron.combinatorial_polyhedron.combinatorial_face.CombinatorialFace.Vrepr
   2 of  10 in sage.geometry.polyhedron.combinatorial_polyhedron.combinatorial_face.CombinatorialFace.ambient_V_indices
   2 of  11 in sage.geometry.polyhedron.combinatorial_polyhedron.combinatorial_face.CombinatorialFace.ambient_Vrepresentation
    [157 tests, 5 failures, 1.25 s]
**********************************************************************
File "src/sage/geometry/polyhedron/combinatorial_polyhedron/conversions.pyx", line 509, in sage.geometry.polyhedron.combinatorial_polyhedron.conversions.?
Failed example:
    for _ in range(10):
        st = set(randint(0,127) for i in range(40))
        tup = tuple(sorted(tuple(st)))
        faces = _Vrep_list_to_bit_rep_wrapper(tup)
        output = _bit_rep_to_Vrep_list_wrapper(faces, 0)
        if not tup == output:
            print('``bit_rep_to_Vrep_list`` does not behave',
                  'as the inverse of ``Vrep_list_to_bit_rep``')
Expected nothing
Got:
    ``bit_rep_to_Vrep_list`` does not behave as the inverse of ``Vrep_list_to_bit_rep``
    ``bit_rep_to_Vrep_list`` does not behave as the inverse of ``Vrep_list_to_bit_rep``
    ``bit_rep_to_Vrep_list`` does not behave as the inverse of ``Vrep_list_to_bit_rep``
    ``bit_rep_to_Vrep_list`` does not behave as the inverse of ``Vrep_list_to_bit_rep``
    ``bit_rep_to_Vrep_list`` does not behave as the inverse of ``Vrep_list_to_bit_rep``
    ``bit_rep_to_Vrep_list`` does not behave as the inverse of ``Vrep_list_to_bit_rep``
    ``bit_rep_to_Vrep_list`` does not behave as the inverse of ``Vrep_list_to_bit_rep``
    ``bit_rep_to_Vrep_list`` does not behave as the inverse of ``Vrep_list_to_bit_rep``
    ``bit_rep_to_Vrep_list`` does not behave as the inverse of ``Vrep_list_to_bit_rep``
    ``bit_rep_to_Vrep_list`` does not behave as the inverse of ``Vrep_list_to_bit_rep``
**********************************************************************
1 item had failures:
   1 of  20 in sage.geometry.polyhedron.combinatorial_polyhedron.conversions.?
    [63 tests, 1 failure, 0.29 s]
**********************************************************************
File "src/sage/geometry/polyhedron/base.py", line 4859, in sage.geometry.polyhedron.base.Polyhedron_base.join
Failed example:
    C.join(S).is_combinatorially_isomorphic(C.pyramid())
Expected:
    True
Got:
    False
**********************************************************************
1 item had failures:
   1 of  15 in sage.geometry.polyhedron.base.Polyhedron_base.join
    [1600 tests, 1 failure, 42.35 s]
**********************************************************************
File "src/sage/geometry/polyhedron/library.py", line 940, in sage.geometry.polyhedron.library.Polytopes.great_rhombicuboctahedron
Failed example:
    sum(1 for f in gr.facets() if len(f.vertices()) == 6)
Expected:
    8
Got:
    0
**********************************************************************
File "src/sage/geometry/polyhedron/library.py", line 942, in sage.geometry.polyhedron.library.Polytopes.great_rhombicuboctahedron
Failed example:
    sum(1 for f in gr.facets() if len(f.vertices()) == 8)
Expected:
    6
Got:
    4
**********************************************************************
File "src/sage/geometry/polyhedron/library.py", line 1440, in sage.geometry.polyhedron.library.Polytopes.buckyball
Failed example:
    sum(1 for f in bb.facets() if len(f.vertices()) == 5)
Expected:
    12
Got:
    3
**********************************************************************
File "src/sage/geometry/polyhedron/library.py", line 1442, in sage.geometry.polyhedron.library.Polytopes.buckyball
Failed example:
    sum(1 for f in bb.facets() if len(f.vertices()) == 6)
Expected:
    20
Got:
    2
**********************************************************************
File "src/sage/geometry/polyhedron/library.py", line 1615, in sage.geometry.polyhedron.library.Polytopes.truncated_dodecahedron
Failed example:
    sum(1 for f in td.facets() if len(f.vertices()) == 3)
Expected:
    20
Got:
    8
**********************************************************************
File "src/sage/geometry/polyhedron/library.py", line 1617, in sage.geometry.polyhedron.library.Polytopes.truncated_dodecahedron
Failed example:
    sum(1 for f in td.facets() if len(f.vertices()) == 10)
Expected:
    12
Got:
    1
**********************************************************************
File "src/sage/geometry/polyhedron/library.py", line 1868, in sage.geometry.polyhedron.library.Polytopes.truncated_icosidodecahedron
Failed example:
    sum(1 for f in ti.facets() if len(f.vertices()) == 4)
Expected:
    30
Got:
    21
**********************************************************************
File "src/sage/geometry/polyhedron/library.py", line 1870, in sage.geometry.polyhedron.library.Polytopes.truncated_icosidodecahedron
Failed example:
    sum(1 for f in ti.facets() if len(f.vertices()) == 6)
Expected:
    20
Got:
    3
**********************************************************************
File "src/sage/geometry/polyhedron/library.py", line 1872, in sage.geometry.polyhedron.library.Polytopes.truncated_icosidodecahedron
Failed example:
    sum(1 for f in ti.facets() if len(f.vertices()) == 10)
Expected:
    12
Got:
    0
**********************************************************************
4 items had failures:
   2 of   9 in sage.geometry.polyhedron.library.Polytopes.buckyball
   2 of   8 in sage.geometry.polyhedron.library.Polytopes.great_rhombicuboctahedron
   2 of   9 in sage.geometry.polyhedron.library.Polytopes.truncated_dodecahedron
   3 of  10 in sage.geometry.polyhedron.library.Polytopes.truncated_icosidodecahedron
    [307 tests, 9 failures, 52.94 s]
**********************************************************************
File "src/sage/geometry/polyhedron/plot.py", line 452, in sage.geometry.polyhedron.plot.Projection.stereographic
Failed example:
    proj = Projection(polytopes.buckyball())  #long time
Exception raised:
    Traceback (most recent call last):
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/forker.py", line 720, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/forker.py", line 1145, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.geometry.polyhedron.plot.Projection.stereographic[1]>", line 1, in <module>
        proj = Projection(polytopes.buckyball())  #long time
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/plot.py", line 372, in __init__
        self._init_from_3d(polyhedron)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/plot.py", line 667, in _init_from_3d
        self._init_lines_arrows(polyhedron)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/plot.py", line 709, in _init_lines_arrows
        if polyhedron.vertex_adjacency_matrix()[i,j] == 0:
      File "sage/misc/cachefunc.pyx", line 2310, in sage.misc.cachefunc.CachedMethodCallerNoArgs.__call__ (build/cythonized/sage/misc/cachefunc.c:12906)
        self.cache = f(self._instance)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 2692, in vertex_adjacency_matrix
        return self._vertex_adjacency_matrix()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 471, in _vertex_adjacency_matrix
        face_lattice = self.face_lattice()
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 6498, in face_lattice
        return FiniteLatticePoset(self.hasse_diagram())
      File "sage/misc/cachefunc.pyx", line 2310, in sage.misc.cachefunc.CachedMethodCallerNoArgs.__call__ (build/cythonized/sage/misc/cachefunc.c:12906)
        self.cache = f(self._instance)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/geometry/polyhedron/base.py", line 6526, in hasse_diagram
        return D.relabel(index_to_polyhedron_face, inplace=False, immutable=True)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/graphs/generic_graph.py", line 21431, in relabel
        perm2 = G.relabel(perm,
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/graphs/generic_graph.py", line 21499, in relabel
        raise NotImplementedError("Non injective relabeling")
    NotImplementedError: Non injective relabeling
**********************************************************************
File "src/sage/geometry/polyhedron/plot.py", line 453, in sage.geometry.polyhedron.plot.Projection.stereographic
Failed example:
    proj                                      #long time
Exception raised:
    Traceback (most recent call last):
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/forker.py", line 720, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/forker.py", line 1145, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.geometry.polyhedron.plot.Projection.stereographic[2]>", line 1, in <module>
        proj                                      #long time
    NameError: name 'proj' is not defined
**********************************************************************
File "src/sage/geometry/polyhedron/plot.py", line 455, in sage.geometry.polyhedron.plot.Projection.stereographic
Failed example:
    proj.stereographic([5,2,3]).plot()        #long time
Exception raised:
    Traceback (most recent call last):
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/forker.py", line 720, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/var/lib/buildbot/slave/sage_git/build/local/lib/python3.8/site-packages/sage/doctest/forker.py", line 1145, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.geometry.polyhedron.plot.Projection.stereographic[3]>", line 1, in <module>
        proj.stereographic([Integer(5),Integer(2),Integer(3)]).plot()        #long time
    NameError: name 'proj' is not defined
**********************************************************************
1 item had failures:
   3 of   6 in sage.geometry.polyhedron.plot.Projection.stereographic
    [239 tests, 3 failures, 8.48 s]
R[write to console]: Warning messages:
R[write to console]: 1: 
R[write to console]: In sage10 + sage6 :
R[write to console]: 
 
R[write to console]:  longer object length is not a multiple of shorter object length
R[write to console]: 2: 
R[write to console]: In sqrt(sage10) :
R[write to console]:  NaNs produced
R[write to console]: 3: 
R[write to console]: In sqrt(sage4) :
R[write to console]:  NaNs produced
----------------------------------------------------------------------
sage -t --long --random-seed=0 src/sage/combinat/root_system/associahedron.py  # 2 doctests failed
sage -t --long --random-seed=0 src/sage/combinat/root_system/root_lattice_realizations.py  # 3 doctests failed
sage -t --long --random-seed=0 src/sage/geometry/polyhedron/backend_cdd.py  # 2 doctests failed
sage -t --long --random-seed=0 src/sage/geometry/polyhedron/combinatorial_polyhedron/base.pyx  # 4 doctests failed
sage -t --long --random-seed=0 src/sage/geometry/polyhedron/combinatorial_polyhedron/combinatorial_face.pyx  # 5 doctests failed
sage -t --long --random-seed=0 src/sage/geometry/polyhedron/combinatorial_polyhedron/conversions.pyx  # 1 doctest failed
sage -t --long --random-seed=0 src/sage/geometry/polyhedron/base.py  # 1 doctest failed
sage -t --long --random-seed=0 src/sage/geometry/polyhedron/library.py  # 9 doctests failed
sage -t --long --random-seed=0 src/sage/geometry/polyhedron/plot.py  # 3 doctests failed

comment:16 Changed 12 months ago by tscrim

  • Status changed from positive_review to needs_work

comment:17 Changed 12 months ago by gh-kliem

  • Milestone changed from sage-9.3 to sage-duplicate/invalid/wontfix
  • Status changed from needs_work to needs_review

I honestly don't want to keep working on this anymore. This was supposed to make #30549 a bit easier, but apparently this is not happening.

data_structures/bitsets... is well tested and is working, what we had before for combinatorial polyhedron was working as well, I guess this intermediate solution is more pain than anything else.

comment:18 Changed 12 months ago by tscrim

  • Authors Jonathan Kliem deleted
  • Branch u/gh-kliem/no_more_basic_access deleted
  • Commit 6fa7ac9335dcc1baf8fa086c0b82a3b1e70bde67 deleted
  • Dependencies #30492, #30524 deleted
  • Status changed from needs_review to positive_review

As you wish.

comment:19 Changed 11 months ago by chapoton

  • Resolution set to invalid
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.