if K1.is_strictly_convex() != K2.is_strictly_convex():
return False
- if len(K1.LL()) != len(K2.LL()):
+ if len(K1.lyapunov_like_basis()) != len(K2.lyapunov_like_basis()):
return False
C_of_K1 = K1.discrete_complementarity_set()
sage: actual == expected
True
- The Lyapunov rank of any cone is just the dimension of ``K.LL()``::
+ The Lyapunov rank of any cone is just the dimension of
+ ``K.lyapunov_like_basis()``::
sage: set_random_seed()
sage: K = random_cone(max_ambient_dim=8)
- sage: lyapunov_rank(K) == len(K.LL())
+ sage: lyapunov_rank(K) == len(K.lyapunov_like_basis())
True
We can make an imperfect cone perfect by adding a slack variable
# Non-pointed reduction lemma.
beta += l * m
- beta += len(K.LL())
+ beta += len(K.lyapunov_like_basis())
return beta
sage: is_lyapunov_like(L,K)
True
- Everything in ``K.LL()`` should be Lyapunov-like on ``K``::
+ Everything in ``K.lyapunov_like_basis()`` should be Lyapunov-like
+ on ``K``::
sage: K = random_cone(min_ambient_dim = 1, max_rays = 5)
- sage: all([is_lyapunov_like(L,K) for L in K.LL()])
+ sage: all([ is_lyapunov_like(L,K) for L in K.lyapunov_like_basis() ])
True
"""
sage: K = Cone([(1,0),(-1,0),(0,1),(0,-1)])
sage: K.is_full_space()
True
- sage: llvs = span([ vector(l.list()) for l in K.LL() ])
- sage: zvs = span([ vector(z.list()) for z in Z_transformations(K) ])
- sage: zvs == llvs
+ sage: lls = span([ vector(l.list()) for l in K.lyapunov_like_basis() ])
+ sage: zs = span([ vector(z.list()) for z in Z_transformations(K) ])
+ sage: zs == lls
True
TESTS:
sage: set_random_seed()
sage: K = random_cone(min_ambient_dim = 1, max_ambient_dim = 6)
- sage: llvs = span([ vector(l.list()) for l in K.LL() ])
+ sage: lls = span([ vector(l.list()) for l in K.lyapunov_like_basis() ])
sage: z_cone = Cone([ z.list() for z in Z_transformations(K) ])
- sage: z_cone.linear_subspace() == llvs
+ sage: z_cone.linear_subspace() == lls
True
"""
sage: lyapunov_rank(K) == lyapunov_rank(K.dual())
True
-The Lyapunov rank of a cone ``K`` is the dimension of ``LL(K)``. Check
-all combinations of parameters::
+The Lyapunov rank of a cone ``K`` is the dimension of
+``K.lyapunov_like_basis()``. Check all combinations of parameters::
sage: set_random_seed()
sage: K = random_cone(max_ambient_dim=8,
....: strictly_convex=True,
....: solid=True)
- sage: lyapunov_rank(K) == len(K.LL())
+ sage: lyapunov_rank(K) == len(K.lyapunov_like_basis())
True
::
sage: K = random_cone(max_ambient_dim=8,
....: strictly_convex=True,
....: solid=False)
- sage: lyapunov_rank(K) == len(K.LL())
+ sage: lyapunov_rank(K) == len(K.lyapunov_like_basis())
True
::
sage: K = random_cone(max_ambient_dim=8,
....: strictly_convex=False,
....: solid=True)
- sage: lyapunov_rank(K) == len(K.LL())
+ sage: lyapunov_rank(K) == len(K.lyapunov_like_basis())
True
::
sage: K = random_cone(max_ambient_dim=8,
....: strictly_convex=False,
....: solid=False)
- sage: lyapunov_rank(K) == len(K.LL())
+ sage: lyapunov_rank(K) == len(K.lyapunov_like_basis())
True
"""