From a35db50836050e28ee4e06a12caeaa30ebbb4b11 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sun, 13 Nov 2016 15:32:43 -0500 Subject: [PATCH] Make the c(), G(), and h() methods of games public. These don't really *need* to be public, but having them available and documented should be helpful to anyone who wants to understand how we transform our game into a cone program. --- dunshire/games.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/dunshire/games.py b/dunshire/games.py index 951c7f4..75f5329 100644 --- a/dunshire/games.py +++ b/dunshire/games.py @@ -613,7 +613,7 @@ class SymmetricLinearGame: - def _G(self): + def G(self): r""" Return the matrix ``G`` used in our CVXOPT construction. @@ -640,7 +640,7 @@ class SymmetricLinearGame: >>> e1 = [1,2,3] >>> e2 = [1,1,1] >>> SLG = SymmetricLinearGame(L, K, e1, e2) - >>> print(SLG._G()) + >>> print(SLG.G()) [ 0.0000000 -1.0000000 0.0000000 0.0000000] [ 0.0000000 0.0000000 -1.0000000 0.0000000] [ 0.0000000 0.0000000 0.0000000 -1.0000000] @@ -655,7 +655,7 @@ class SymmetricLinearGame: append_col(self.e1(), -self.L())) - def _c(self): + def c(self): """ Return the vector ``c`` used in our CVXOPT construction. @@ -682,7 +682,7 @@ class SymmetricLinearGame: >>> e1 = [1,2,3] >>> e2 = [1,1,1] >>> SLG = SymmetricLinearGame(L, K, e1, e2) - >>> print(SLG._c()) + >>> print(SLG.c()) [-1.0000000] [ 0.0000000] [ 0.0000000] @@ -723,7 +723,7 @@ class SymmetricLinearGame: """ return CartesianProduct(self._K, self._K) - def _h(self): + def h(self): r""" Return the ``h`` vector used in our CVXOPT construction. @@ -750,7 +750,7 @@ class SymmetricLinearGame: >>> e1 = [1,2,3] >>> e2 = [1,1,1] >>> SLG = SymmetricLinearGame(L, K, e1, e2) - >>> print(SLG._h()) + >>> print(SLG.h()) [0.0000000] [0.0000000] [0.0000000] @@ -819,7 +819,7 @@ class SymmetricLinearGame: dist = self.K().ball_radius(self.e1()) nu = - self._L_specnorm()/(dist*norm(self.e2())) x = matrix([nu, p], (self.dimension() + 1, 1)) - s = - self._G()*x + s = - self.G()*x return {'x': x, 's': s} @@ -1074,9 +1074,9 @@ class SymmetricLinearGame: """ try: opts = {'show_progress': False} - soln_dict = solvers.conelp(self._c(), - self._G(), - self._h(), + soln_dict = solvers.conelp(self.c(), + self.G(), + self.h(), self.C().cvxopt_dims(), self.A(), self.b(), @@ -1186,7 +1186,7 @@ class SymmetricLinearGame: 1.809... """ - return (condition_number(self._G()) + condition_number(self.A()))/2 + return (condition_number(self.G()) + condition_number(self.A()))/2 def dual(self): -- 2.43.2