X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;ds=inline;f=dunshire%2Fgames.py;h=ff7fd18d32d5a959d739ff78574b023bf7b33ed1;hb=3711ad675d52b562d702f817af49916011ff7393;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.