X-Git-Url: https://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=dunshire%2Fgames.py;h=ff7fd18d32d5a959d739ff78574b023bf7b33ed1;hb=457b86414fb123e2b5ce07dc322173d24f789be4;hp=7dd280651fe954c6c1550a962bb2637f7122148a;hpb=1d8a088b982c0d5f26878e4b2794e9fc670b5bcb;p=dunshire.git diff --git a/dunshire/games.py b/dunshire/games.py index 7dd2806..ff7fd18 100644 --- a/dunshire/games.py +++ b/dunshire/games.py @@ -180,8 +180,8 @@ class SymmetricLinearGame: L : list of list of float A matrix represented as a list of **rows**. This representation - agrees with (for example) `SageMath `_ - and `NumPy `_, but not with CVXOPT (whose + agrees with (for example) `SageMath `_ + and `NumPy `_, but not with CVXOPT (whose matrix constructor accepts a list of columns). In reality, ``L`` can be any iterable type of the correct length; however, you should be extremely wary of the way we interpret anything other @@ -249,12 +249,11 @@ class SymmetricLinearGame: there is no row/column ambiguity:: >>> import cvxopt - >>> import numpy >>> from dunshire import * >>> K = NonnegativeOrthant(2) >>> L = [[1,0],[0,1]] >>> e1 = cvxopt.matrix([1,1]) - >>> e2 = numpy.matrix([1,1]) + >>> e2 = (1,1) >>> G = SymmetricLinearGame(L, K, e1, e2) >>> print(G) The linear game (L, K, e1, e2) where @@ -585,7 +584,7 @@ class SymmetricLinearGame: This matrix :math:`A` appears on the right-hand side of :math:`Ax = b` in the `statement of the CVXOPT conelp program - `_. + `_. .. warning:: @@ -623,7 +622,7 @@ class SymmetricLinearGame: Thus matrix :math:`G` appears on the left-hand side of :math:`Gx + s = h` in the `statement of the CVXOPT conelp program - `_. + `_. .. warning:: @@ -667,7 +666,7 @@ class SymmetricLinearGame: The column vector :math:`c` appears in the objective function value :math:`\left\langle c,x \right\rangle` in the `statement of the CVXOPT conelp program - `_. + `_. .. warning:: @@ -705,7 +704,7 @@ class SymmetricLinearGame: Return the cone ``C`` used in our CVXOPT construction. This is the cone over which the `CVXOPT conelp program - `_ + `_ takes place. Returns @@ -737,7 +736,7 @@ class SymmetricLinearGame: The :math:`h` vector appears on the right-hand side of :math:`Gx + s = h` in the `statement of the CVXOPT conelp program - `_. + `_. .. warning:: @@ -780,7 +779,7 @@ class SymmetricLinearGame: The vector :math:`b` appears on the right-hand side of :math:`Ax = b` in the `statement of the CVXOPT conelp program - `_. + `_. This method is static because the dimensions and entries of ``b`` are known beforehand, and don't depend on any other @@ -924,16 +923,18 @@ class SymmetricLinearGame: def tolerance_scale(self, solution): r""" - Return a scaling factor that should be applied to :const:`ABS_TOL` - for this game. + + Return a scaling factor that should be applied to + :const:`dunshire.options.ABS_TOL` for this game. When performing certain comparisons, the default tolerance - :const:`ABS_TOL` may not be appropriate. For example, if we expect - ``x`` and ``y`` to be within :const:`ABS_TOL` of each other, - than the inner product of ``L*x`` and ``y`` can be as far apart - as the spectral norm of ``L`` times the sum of the norms of - ``x`` and ``y``. Such a comparison is made in :meth:`solution`, - and in many of our unit tests. + :const:`dunshire.options.ABS_TOL` may not be appropriate. For + example, if we expect ``x`` and ``y`` to be within + :const:`dunshire.options.ABS_TOL` of each other, than the inner + product of ``L*x`` and ``y`` can be as far apart as the spectral + norm of ``L`` times the sum of the norms of ``x`` and + ``y``. Such a comparison is made in :meth:`solution`, and in + many of our unit tests. The returned scaling factor found from the inner product mentioned above is @@ -967,7 +968,8 @@ class SymmetricLinearGame: ------- float - A scaling factor to be multiplied by :const:`ABS_TOL` when + A scaling factor to be multiplied by + :const:`dunshire.options.ABS_TOL` when making comparisons involving solutions of this game. Examples @@ -1004,7 +1006,7 @@ class SymmetricLinearGame: Returns ------- - :class:`Solution` + Solution A :class:`Solution` object describing the game's value and the optimal strategies of both players.