[Jeong]_ Proposition 5.2.1::
sage: all( rearrangement_cone(p,n).is_proper()
- ....: for n in xrange(10)
- ....: for p in xrange(1, n) )
+ ....: for n in range(10)
+ ....: for p in range(1, n) )
True
The Lyapunov rank of the rearrangement cone of order ``p`` in ``n``
by [Jeong]_ Corollary 5.2.4::
sage: all( rearrangement_cone(p,n).lyapunov_rank() == n
- ....: for n in xrange(2, 10)
+ ....: for n in range(2, 10)
....: for p in [1, n-1] )
True
sage: all( rearrangement_cone(p,n).lyapunov_rank() == 1
- ....: for n in xrange(3, 10)
- ....: for p in xrange(2, n-1) )
+ ....: for n in range(3, 10)
+ ....: for p in range(2, n-1) )
True
TESTS:
cone should sum to a nonnegative number (this tests that the
generators really are what we think they are)::
- sage: set_random_seed()
sage: def _has_rearrangement_property(v,p):
....: return sum( sorted(v)[0:p] ) >= 0
sage: all( _has_rearrangement_property(
....: rearrangement_cone(p,n).random_element(),
....: p
....: )
- ....: for n in xrange(2, 10)
- ....: for p in xrange(1, n-1)
+ ....: for n in range(2, 10)
+ ....: for p in range(1, n-1)
....: )
True
The rearrangenent cone of order ``p`` is contained in the rearrangement
cone of order ``p + 1`` by [Jeong]_ Proposition 5.2.1::
- sage: set_random_seed()
sage: n = ZZ.random_element(2,10)
sage: p = ZZ.random_element(1,n)
sage: K1 = rearrangement_cone(p,n)
rearrangement cone of order ``n - p`` when ``p`` is less than ``n``,
by [Jeong]_ Proposition 5.2.1::
- sage: set_random_seed()
sage: n = ZZ.random_element(2,10)
sage: p = ZZ.random_element(1,n)
sage: K1 = rearrangement_cone(p,n)