Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove basic access to bitsets in combinatorial polyhedron #30528

Closed
kliem opened this issue Sep 8, 2020 · 23 comments
Closed

Remove basic access to bitsets in combinatorial polyhedron #30528

kliem opened this issue Sep 8, 2020 · 23 comments

Comments

@kliem
Copy link
Contributor

kliem commented Sep 8, 2020

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 (Improve face iterator for simple/simplicial polytopes #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.

CC: @tscrim @mkoeppe

Component: geometry

Reviewer: Travis Scrimshaw

Issue created by migration from https://trac.sagemath.org/ticket/30528

@kliem kliem added this to the sage-9.3 milestone Sep 8, 2020
@tscrim
Copy link
Collaborator

tscrim commented Sep 8, 2020

Reviewer: Travis Scrimshaw

@tscrim
Copy link
Collaborator

tscrim commented Sep 8, 2020

comment:2

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.

@kliem
Copy link
Contributor Author

kliem commented Sep 9, 2020

comment:3

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.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 9, 2020

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

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Sep 9, 2020

Changed commit from 5052b06 to 0b41c77

@kliem
Copy link
Contributor Author

kliem commented Sep 9, 2020

comment:5

Rebased.

@tscrim
Copy link
Collaborator

tscrim commented Sep 9, 2020

comment:6

Thank you for the explanation and the rebase.

@kliem
Copy link
Contributor Author

kliem commented Nov 18, 2020

comment:7

Replying to @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 2^16 bits each. So this is not an option for small stuff, but very interesting if you go into very large things.

@vbraun
Copy link
Member

vbraun commented Nov 19, 2020

comment:8

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

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Nov 20, 2020

Changed commit from 0b41c77 to 6fa7ac9

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Nov 20, 2020

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

@kliem
Copy link
Contributor Author

kliem commented Nov 20, 2020

comment:10

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.

@kliem
Copy link
Contributor Author

kliem commented Nov 20, 2020

comment:11

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

@tscrim
Copy link
Collaborator

tscrim commented Nov 20, 2020

comment:12

Replying to @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. @kliem we can also hope the appropriate patchbot to come around too.

@kliem
Copy link
Contributor Author

kliem commented Nov 20, 2020

comment:13

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

Eventually this will also terminate.

@kliem
Copy link
Contributor Author

kliem commented Nov 24, 2020

comment:14

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

@vbraun
Copy link
Member

vbraun commented Nov 26, 2020

comment:15

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

@kliem
Copy link
Contributor Author

kliem commented Nov 27, 2020

comment:17

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.

@kliem kliem removed this from the sage-9.3 milestone Nov 27, 2020
@tscrim
Copy link
Collaborator

tscrim commented Nov 29, 2020

Changed author from Jonathan Kliem to none

@tscrim
Copy link
Collaborator

tscrim commented Nov 29, 2020

Changed commit from 6fa7ac9 to none

@tscrim
Copy link
Collaborator

tscrim commented Nov 29, 2020

Changed branch from u/gh-kliem/no_more_basic_access to none

@tscrim
Copy link
Collaborator

tscrim commented Nov 29, 2020

comment:18

As you wish.

@tscrim
Copy link
Collaborator

tscrim commented Nov 29, 2020

Changed dependencies from #30492, #30524 to none

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants