X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=mjo%2Fcone%2Frearrangement.py;h=b2ccfcb58f8aa58b52a8d724ca42725593ed7463;hb=d692390065e0982d58050161966fa313495b61ba;hp=38b5931d6b6f48ea6ed5517e01d255b8626e03b5;hpb=4de036f15220b7aa07fb8f82e0f6430668d90daa;p=sage.d.git diff --git a/mjo/cone/rearrangement.py b/mjo/cone/rearrangement.py index 38b5931..b2ccfcb 100644 --- a/mjo/cone/rearrangement.py +++ b/mjo/cone/rearrangement.py @@ -28,6 +28,10 @@ def rearrangement_cone(p,n): A polyhedral closed convex cone object representing a rearrangement cone of order ``p`` in ``n`` dimensions. + SETUP:: + + sage: from mjo.cone.rearrangement import rearrangement_cone + EXAMPLES: The rearrangement cones of order one are nonnegative orthants:: @@ -48,21 +52,21 @@ def rearrangement_cone(p,n): All rearrangement cones are proper:: - sage: all([ rearrangement_cone(p,n).is_proper() - ....: for n in range(10) - ....: for p in range(n) ]) + sage: all( rearrangement_cone(p,n).is_proper() + ....: for n in range(10) + ....: for p in range(n) ) True The Lyapunov rank of the rearrangement cone of order ``p`` in ``n`` dimensions is ``n`` for ``p == 1`` or ``p == n`` and one otherwise:: - sage: all([ rearrangement_cone(p,n).lyapunov_rank() == n - ....: for n in range(2, 10) - ....: for p in [1, n-1] ]) + sage: all( rearrangement_cone(p,n).lyapunov_rank() == n + ....: 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 range(3, 10) - ....: for p in range(2, n-1) ]) + sage: all( rearrangement_cone(p,n).lyapunov_rank() == 1 + ....: for n in range(3, 10) + ....: for p in range(2, n-1) ) True TESTS: @@ -73,7 +77,7 @@ def rearrangement_cone(p,n): sage: p = ZZ.random_element(1,n) sage: K = rearrangement_cone(p,n) sage: P = SymmetricGroup(n).random_element().matrix() - sage: all([ K.contains(P*r) for r in K.rays() ]) + sage: all( K.contains(P*r) for r in K ) True """ @@ -119,15 +123,24 @@ def has_rearrangement_property(v, p): components sum to a nonnegative number), ``True`` is returned. Otherwise ``False`` is returned. + SETUP:: + + sage: from mjo.cone.rearrangement import (has_rearrangement_property, + ....: rearrangement_cone) + EXAMPLES: Every element of a rearrangement cone should have the property:: - sage: for n in range(2,10): - ....: for p in range(1, n-1): - ....: K = rearrangement_cone(p,n) - ....: v = K.random_element() - ....: if not has_rearrangement_property(v,p): print v + sage: set_random_seed() + sage: all( has_rearrangement_property( + ....: rearrangement_cone(p,n).random_element(), + ....: p + ....: ) + ....: for n in range(2, 10) + ....: for p in range(1, n-1) + ....: ) + True """ components = sorted(v)[0:p]