+ The Lyapunov rank is invariant under a linear isomorphism
+ [Orlitzky/Gowda]_::
+
+ sage: K1 = random_cone(max_ambient_dim = 8)
+ sage: A = random_matrix(QQ, K1.lattice_dim(), algorithm='unimodular')
+ sage: K2 = Cone( [ A*r for r in K1.rays() ], lattice=K1.lattice())
+ sage: lyapunov_rank(K1) == lyapunov_rank(K2)
+ True
+
+ Just to be sure, test a few more::
+
+ sage: K1 = random_cone(max_ambient_dim=8,
+ ....: strictly_convex=True,
+ ....: solid=True)
+ sage: A = random_matrix(QQ, K1.lattice_dim(), algorithm='unimodular')
+ sage: K2 = Cone( [ A*r for r in K1.rays() ], lattice=K1.lattice())
+ sage: lyapunov_rank(K1) == lyapunov_rank(K2)
+ True
+
+ ::
+
+ sage: K1 = random_cone(max_ambient_dim=8,
+ ....: strictly_convex=True,
+ ....: solid=False)
+ sage: A = random_matrix(QQ, K1.lattice_dim(), algorithm='unimodular')
+ sage: K2 = Cone( [ A*r for r in K1.rays() ], lattice=K1.lattice())
+ sage: lyapunov_rank(K1) == lyapunov_rank(K2)
+ True
+
+ ::
+
+ sage: K1 = random_cone(max_ambient_dim=8,
+ ....: strictly_convex=False,
+ ....: solid=True)
+ sage: A = random_matrix(QQ, K1.lattice_dim(), algorithm='unimodular')
+ sage: K2 = Cone( [ A*r for r in K1.rays() ], lattice=K1.lattice())
+ sage: lyapunov_rank(K1) == lyapunov_rank(K2)
+ True
+
+ ::
+
+ sage: K1 = random_cone(max_ambient_dim=8,
+ ....: strictly_convex=False,
+ ....: solid=False)
+ sage: A = random_matrix(QQ, K1.lattice_dim(), algorithm='unimodular')
+ sage: K2 = Cone( [ A*r for r in K1.rays() ], lattice=K1.lattice())
+ sage: lyapunov_rank(K1) == lyapunov_rank(K2)
+ True
+