# minmax¶

Contain a minmax problem solver routine.

quantecon.optimize.minmax.minmax(A, max_iter=1000000, piv_options=PivOptions(fea_tol=1e-06, tol_piv=1e-07, tol_ratio_diff=1e-13))[source]

Given an m x n matrix A, return the value $$v^*$$ of the minmax problem:

$v^* = \max_{x \in \Delta_m} \min_{y \in \Delta_n} x^T A y = \min_{y \in \Delta_n}\max_{x \in \Delta_m} x^T A y$

and the optimal solutions $$x^* \in \Delta_m$$ and $$y^* \in \Delta_n$$: $$v^* = x^{*T} A y^*$$, where $$\Delta_k = \{z \in \mathbb{R}^k_+ \mid z_1 + \cdots + z_k = 1\}$$, $$k = m, n$$.

This routine is jit-compiled by Numba, using optimize.linprog_simplex routines.

Parameters:
Andarray(float, ndim=2)

ndarray of shape (m, n).

max_iterint, optional(default=10**6)

Maximum number of iteration in the linear programming solver.

piv_optionsPivOptions, optional

PivOptions namedtuple to set tolerance values used in the linear programming solver.

Returns:
vfloat

Value $$v^*$$ of the minmax problem.

xndarray(float, ndim=1)

Optimal solution $$x^*$$, of shape (m,).

yndarray(float, ndim=1)

Optimal solution $$y^*$$, of shape (n,).