X-Git-Url: https://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2Fdunshire%2Fgames.py;h=10a5eee5b8f34832103f1a564f50150a93b22846;hb=0a16e3c97d7f0e692428126ae1759fe0f925bf8f;hp=3d4b09ad8c0c12ff1bba0294a1c5c87ae8ff72bf;hpb=bd5a4b0c8519de2a938663acdbc080560f829628;p=dunshire.git diff --git a/src/dunshire/games.py b/src/dunshire/games.py index 3d4b09a..10a5eee 100644 --- a/src/dunshire/games.py +++ b/src/dunshire/games.py @@ -545,10 +545,10 @@ def _random_skew_symmetric_matrix(dims): """ strict_ut = [[uniform(-10, 10)*int(i < j) for i in range(dims)] - for j in range(dims)] + for j in range(dims)] - strict_ut = matrix(strict_ut, (dims,dims)) - return (strict_ut - strict_ut.trans()) + strict_ut = matrix(strict_ut, (dims, dims)) + return strict_ut - strict_ut.trans() def _random_lyapunov_like_icecream(dims): @@ -556,12 +556,12 @@ def _random_lyapunov_like_icecream(dims): Generate a random Lyapunov-like matrix over the ice-cream cone in ``dims`` dimensions. """ - a = matrix([uniform(-10,10)], (1,1)) - b = matrix([uniform(-10,10) for idx in range(dims-1)], (dims-1, 1)) + a = matrix([uniform(-10, 10)], (1, 1)) + b = matrix([uniform(-10, 10) for idx in range(dims-1)], (dims-1, 1)) D = _random_skew_symmetric_matrix(dims-1) + a*identity(dims-1) row1 = append_col(a, b.trans()) row2 = append_col(b, D) - return append_row(row1,row2) + return append_row(row1, row2) def _random_orthant_params(): @@ -868,14 +868,15 @@ class SymmetricLinearGameTest(TestCase): # We only check for positive/negative stability if the game # value is not basically zero. If the value is that close to # zero, we just won't check any assertions. + eigs = eigenvalues_re(L) if soln.game_value() > options.ABS_TOL: # L should be positive stable - ps = all([eig > -options.ABS_TOL for eig in eigenvalues_re(L)]) - self.assertTrue(ps) + positive_stable = all([eig > -options.ABS_TOL for eig in eigs]) + self.assertTrue(positive_stable) elif soln.game_value() < -options.ABS_TOL: # L should be negative stable - ns = all([eig < options.ABS_TOL for eig in eigenvalues_re(L)]) - self.assertTrue(ns) + negative_stable = all([eig < options.ABS_TOL for eig in eigs]) + self.assertTrue(negative_stable) # The dual game's value should always equal the primal's. dualsoln = game.dual().solution()