-def has_rearrangement_property(v, p):
- r"""
- Test if the vector ``v`` has the "rearrangement property."
-
- The rearrangement cone of order ``p`` in `n` dimensions has its
- members vectors of length `n`. The "rearrangement property,"
- satisfied by its elements, is to have its smallest ``p`` components
- sum to a nonnegative number.
-
- We believe that we have a description of the extreme vectors of the
- rearrangement cone: see ``rearrangement_cone()``. This function is
- used to test that conic combinations of those extreme vectors are in
- fact elements of the rearrangement cone. We can't test all conic
- combinations, obviously, but we can test a random one.
-
- To become more sure of the result, generate a bunch of vectors with
- ``random_element()`` and test them with this function.
-
- INPUT:
-
- - ``v`` -- An element of a cone suspected of being the rearrangement
- cone of order ``p``.
-
- - ``p`` -- The suspected order of the rearrangement cone.
-
- OUTPUT:
-
- If ``v`` has the rearrangement property (that is, if its smallest ``p``
- components sum to a nonnegative number), ``True`` is returned. Otherwise
- ``False`` is returned.