Skip to content

Commit 8521aae

Browse files
authored
[von-neumann] Adjust RST for whitespace in preparation for tomyst (#151)
* disable cache * simplified env * update rst to remove problematic whitespace for conversion using tomyst * fix spacing
1 parent 38acac9 commit 8521aae

File tree

1 file changed

+105
-97
lines changed

1 file changed

+105
-97
lines changed

source/rst/von_neumann_model.rst

Lines changed: 105 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ formulated an equilibrium model of price and quantity vectors in
2525
balanced growth, this lecture shows how fruitfully to employ the
2626
following important tools:
2727

28-
- a zero-sum two-player game
28+
- a zero-sum two-player game
2929

30-
- linear programming
30+
- linear programming
3131

32-
- the Perron-Frobenius theorem
32+
- the Perron-Frobenius theorem
3333

3434
We'll begin with some imports:
3535

@@ -353,35 +353,35 @@ Model Ingredients and Assumptions
353353
A pair :math:`(A,B)` of :math:`m\times n` non-negative matrices defines
354354
an economy.
355355

356-
- :math:`m` is the number of *activities* (or sectors)
356+
- :math:`m` is the number of *activities* (or sectors)
357357

358-
- :math:`n` is the number of *goods* (produced and/or consumed).
358+
- :math:`n` is the number of *goods* (produced and/or consumed).
359359

360-
- :math:`A` is called the *input matrix*; :math:`a_{i,j}` denotes the
361-
amount of good :math:`j` consumed by activity :math:`i`
360+
- :math:`A` is called the *input matrix*; :math:`a_{i,j}` denotes the
361+
amount of good :math:`j` consumed by activity :math:`i`
362362

363-
- :math:`B` is called the *output matrix*; :math:`b_{i,j}` represents
364-
the amount of good :math:`j` produced by activity :math:`i`
363+
- :math:`B` is called the *output matrix*; :math:`b_{i,j}` represents
364+
the amount of good :math:`j` produced by activity :math:`i`
365365

366366
Two key assumptions restrict economy :math:`(A,B)`:
367367

368368
- **Assumption I:** (every good that is consumed is also produced)
369369

370-
.. math:: b_{.,j} > \mathbf{0}\hspace{5mm}\forall j=1,2,\dots,n
370+
.. math:: b_{.,j} > \mathbf{0}\hspace{5mm}\forall j=1,2,\dots,n
371371

372372
- **Assumption II:** (no free lunch)
373373

374-
.. math:: a_{i,.} > \mathbf{0}\hspace{5mm}\forall i=1,2,\dots,m
374+
.. math:: a_{i,.} > \mathbf{0}\hspace{5mm}\forall i=1,2,\dots,m
375375

376376
A semi-positive *intensity* :math:`m`-vector :math:`x` denotes levels at which
377377
activities are operated.
378378

379379
Therefore,
380380

381-
- vector :math:`x^TA` gives the total amount of *goods used in
382-
production*
381+
- vector :math:`x^TA` gives the total amount of *goods used in
382+
production*
383383

384-
- vector :math:`x^TB` gives *total outputs*
384+
- vector :math:`x^TB` gives *total outputs*
385385

386386
An economy :math:`(A,B)` is said to be *productive*, if there exists a
387387
non-negative intensity vector :math:`x \geq 0` such
@@ -392,9 +392,9 @@ the :math:`n` goods.
392392

393393
The :math:`p` vector implies *cost* and *revenue* vectors
394394

395-
- the vector :math:`Ap` tells *costs* of the vector of activities
395+
- the vector :math:`Ap` tells *costs* of the vector of activities
396396

397-
- the vector :math:`Bp` tells *revenues* from the vector of activities
397+
- the vector :math:`Bp` tells *revenues* from the vector of activities
398398

399399
Satisfaction or a property of an input-output pair :math:`(A,B)` called *irreducibility*
400400
(or indecomposability) determines whether an economy can be decomposed
@@ -477,9 +477,9 @@ These timing conventions imply the following feasibility condition:
477477

478478
.. math::
479479
480-
\begin{aligned}
481-
x^T_{t}B \geq x^T_{t+1} A \hspace{1cm}\forall t\geq 1
482-
\end{aligned}
480+
\begin{aligned}
481+
x^T_{t}B \geq x^T_{t+1} A \hspace{1cm}\forall t\geq 1
482+
\end{aligned}
483483
484484
which asserts that no more goods can be used today than were produced
485485
yesterday.
@@ -537,10 +537,11 @@ the economy:
537537
and a number :math:`\alpha\in\mathbb{R}` that satisfy
538538

539539
.. math::
540-
\begin{aligned}
541-
&\max_{\alpha} \hspace{2mm} \alpha\\
542-
&\text{s.t. }\hspace{2mm}x^T B \geq \alpha x^T A
543-
\end{aligned}
540+
541+
\begin{aligned}
542+
&\max_{\alpha} \hspace{2mm} \alpha\\
543+
&\text{s.t. }\hspace{2mm}x^T B \geq \alpha x^T A
544+
\end{aligned}
544545
545546
Theorem 9.3 of David Gale’s book :cite:`gale1989theory` asserts that if Assumptions I and II are
546547
both satisfied, then a maximum value of :math:`\alpha` exists and that it is
@@ -555,10 +556,11 @@ by :math:`\alpha_0`. The associated intensity vector :math:`x_0` is the
555556
and a number :math:`\beta\in\mathbb{R}` that satisfy
556557

557558
.. math::
558-
\begin{aligned}
559-
&\min_{\beta} \hspace{2mm} \beta\\
560-
&\text{s.t. }\hspace{2mm}Bp \leq \beta Ap
561-
\end{aligned}
559+
560+
\begin{aligned}
561+
&\min_{\beta} \hspace{2mm} \beta\\
562+
&\text{s.t. }\hspace{2mm}Bp \leq \beta Ap
563+
\end{aligned}
562564
563565
Assumptions I and II imply existence of a minimum value
564566
:math:`\beta_0>0` called the *economic expansion rate*.
@@ -591,11 +593,11 @@ following arbitrage true
591593

592594
.. math::
593595
594-
\begin{aligned}
595-
x_0^T B &\geq \gamma^{* } x_0^T A \\
596-
Bp_0 &\leq \gamma^{* } Ap_0 \\
597-
x_0^T\left(B-\gamma^{* } A\right)p_0 &= 0
598-
\end{aligned}
596+
\begin{aligned}
597+
x_0^T B &\geq \gamma^{* } x_0^T A \\
598+
Bp_0 &\leq \gamma^{* } Ap_0 \\
599+
x_0^T\left(B-\gamma^{* } A\right)p_0 &= 0
600+
\end{aligned}
599601
600602
..
601603
@@ -659,18 +661,19 @@ with the entries representing payoffs from the **minimizing** column
659661
player to the **maximizing** row player and assume that the players can
660662
use mixed strategies. Thus,
661663

662-
* the row player chooses the :math:`m`-vector :math:`x > \mathbf{0}` subject to :math:`\iota_m^T x = 1`
663-
664-
* the column player chooses the :math:`n`-vector :math:`p > \mathbf{0}` subject to :math:`\iota_n^T p = 1`.
664+
* the row player chooses the :math:`m`-vector :math:`x > \mathbf{0}` subject to :math:`\iota_m^T x = 1`
665+
666+
* the column player chooses the :math:`n`-vector :math:`p > \mathbf{0}` subject to :math:`\iota_n^T p = 1`.
665667

666668
**Definition:** The :math:`m\times n` matrix game :math:`C` has the
667669
*solution* :math:`(x^*, p^*, V(C))` in mixed strategies if
668670

669671
.. math::
670-
\begin{aligned}
671-
(x^* )^T C e^j \geq V(C)\quad \forall j\in\{1, \dots, n\}\quad \quad
672-
\text{and}\quad\quad (e^i)^T C p^* \leq V(C)\quad \forall i\in\{1, \dots, m\}
673-
\end{aligned}
672+
673+
\begin{aligned}
674+
(x^* )^T C e^j \geq V(C)\quad \forall j\in\{1, \dots, n\}\quad \quad
675+
\text{and}\quad\quad (e^i)^T C p^* \leq V(C)\quad \forall i\in\{1, \dots, m\}
676+
\end{aligned}
674677
675678
The number :math:`V(C)` is called the *value* of the game.
676679

@@ -693,7 +696,8 @@ zero-sum game.
693696
Moreover, von Neumann’s Minmax Theorem :cite:`neumann1928theorie` implies that
694697

695698
.. math::
696-
V(C) = \max_x \min_p \hspace{2mm} x^T C p = \min_p \max_x \hspace{2mm} x^T C p = (x^*)^T C p^*
699+
700+
V(C) = \max_x \min_p \hspace{2mm} x^T C p = \min_p \max_x \hspace{2mm} x^T C p = (x^*)^T C p^*
697701
698702
699703
@@ -703,33 +707,35 @@ Connection with Linear Programming (LP)
703707
Nash equilibria of a finite two-player zero-sum game solve a linear programming problem.
704708

705709
To see this, we introduce
706-
the following notation
707-
708-
* For a fixed :math:`x`, let :math:`v` be the value of the minimization problem: :math:`v \equiv \min_p x^T C p = \min_j x^T C e^j`
709-
710-
* For a fixed :math:`p`, let :math:`u` be the value of the maximization problem: :math:`u \equiv \max_x x^T C p = \max_i (e^i)^T C p`
710+
the following notation
711+
712+
* For a fixed :math:`x`, let :math:`v` be the value of the minimization problem: :math:`v \equiv \min_p x^T C p = \min_j x^T C e^j`
713+
714+
* For a fixed :math:`p`, let :math:`u` be the value of the maximization problem: :math:`u \equiv \max_x x^T C p = \max_i (e^i)^T C p`
711715

712716
Then the *max-min problem* (the game from the maximizing player’s point
713717
of view) can be written as the *primal* LP
714718

715719
.. math::
716-
\begin{aligned}
717-
V(C) = & \max \hspace{2mm} v \\
718-
\text{s.t. } \hspace{2mm} v \iota_n^T &\leq x^T C \\
719-
x &\geq \mathbf{0} \\
720-
\iota_n^T x & = 1
721-
\end{aligned}
720+
721+
\begin{aligned}
722+
V(C) = & \max \hspace{2mm} v \\
723+
\text{s.t. } \hspace{2mm} v \iota_n^T &\leq x^T C \\
724+
x &\geq \mathbf{0} \\
725+
\iota_n^T x & = 1
726+
\end{aligned}
722727
723728
while the *min-max problem* (the game from the minimizing player’s point
724729
of view) is the *dual* LP
725730

726731
.. math::
727-
\begin{aligned}
728-
V(C) = &\min \hspace{2mm} u \\
729-
\text{s.t. } \hspace{2mm}u \iota_m &\geq Cp \\
730-
p &\geq \mathbf{0} \\
731-
\iota_m^T p & = 1
732-
\end{aligned}
732+
733+
\begin{aligned}
734+
V(C) = &\min \hspace{2mm} u \\
735+
\text{s.t. } \hspace{2mm}u \iota_m &\geq Cp \\
736+
p &\geq \mathbf{0} \\
737+
\iota_m^T p & = 1
738+
\end{aligned}
733739
734740
735741
Hamburger, Thompson and Weil :cite:`hamburger1967computation` view the input-output pair of the
@@ -761,21 +767,22 @@ zero-sum game, we define a matrix for :math:`\gamma\in\mathbb{R}`
761767
For fixed :math:`\gamma`, treating :math:`M(\gamma)` as a matrix game,
762768
calculating the solution of the game implies
763769

764-
- If :math:`\gamma > \alpha_0`, then for all :math:`x>0`, there
765-
:math:`\exists j\in\{1, \dots, n\}`, s.t.
766-
:math:`[x^T M(\gamma)]_j < 0` implying
767-
that :math:`V(M(\gamma)) < 0`.
768-
- If :math:`\gamma < \beta_0`, then for all :math:`p>0`, there
769-
:math:`\exists i\in\{1, \dots, m\}`, s.t.
770-
:math:`[M(\gamma)p]_i > 0` implying that :math:`V(M(\gamma)) > 0`.
771-
- If :math:`\gamma \in \{\beta_0, \alpha_0\}`, then (by Theorem I) the
772-
optimal intensity and price vectors :math:`x_0` and :math:`p_0`
773-
satisfy
770+
- If :math:`\gamma > \alpha_0`, then for all :math:`x>0`, there
771+
:math:`\exists j\in\{1, \dots, n\}`, s.t.
772+
:math:`[x^T M(\gamma)]_j < 0` implying
773+
that :math:`V(M(\gamma)) < 0`.
774+
- If :math:`\gamma < \beta_0`, then for all :math:`p>0`, there
775+
:math:`\exists i\in\{1, \dots, m\}`, s.t.
776+
:math:`[M(\gamma)p]_i > 0` implying that :math:`V(M(\gamma)) > 0`.
777+
- If :math:`\gamma \in \{\beta_0, \alpha_0\}`, then (by Theorem I) the
778+
optimal intensity and price vectors :math:`x_0` and :math:`p_0`
779+
satisfy
774780

775781
.. math::
776-
\begin{aligned}
777-
x_0^T M(\gamma) \geq \mathbf{0}^T \quad \quad \text{and}\quad\quad M(\gamma) p_0 \leq \mathbf{0}
778-
\end{aligned}
782+
783+
\begin{aligned}
784+
x_0^T M(\gamma) \geq \mathbf{0}^T \quad \quad \text{and}\quad\quad M(\gamma) p_0 \leq \mathbf{0}
785+
\end{aligned}
779786
780787
That is, :math:`(x_0, p_0, 0)` is a solution of the game
781788
:math:`M(\gamma)` so
@@ -854,30 +861,29 @@ Step 2
854861

855862
Compute :math:`\alpha_0` and :math:`\beta_0`
856863

857-
- Finding :math:`\alpha_0`
858-
859-
1. Fix :math:`\gamma = \frac{UB + LB}{2}` and compute the solution
860-
of the two-player zero-sum game associated
861-
with :math:`M(\gamma)`. We can use either the primal or the dual
862-
LP problem.
863-
2. If :math:`V(M(\gamma)) \geq 0`, then set :math:`LB = \gamma`,
864-
otherwise let :math:`UB = \gamma`.
865-
3. Iterate on 1. and 2. until :math:`|UB - LB| < \epsilon`.
864+
- Finding :math:`\alpha_0`
866865

867-
- Finding :math:`\beta_0`
866+
1. Fix :math:`\gamma = \frac{UB + LB}{2}` and compute the solution
867+
of the two-player zero-sum game associated
868+
with :math:`M(\gamma)`. We can use either the primal or the dual
869+
LP problem.
870+
2. If :math:`V(M(\gamma)) \geq 0`, then set :math:`LB = \gamma`,
871+
otherwise let :math:`UB = \gamma`.
872+
3. Iterate on 1. and 2. until :math:`|UB - LB| < \epsilon`.
868873

869-
1. Fix :math:`\gamma = \frac{UB + LB}{2}` and compute the solution
870-
of the two-player zero-sum game associated.
871-
with :math:`M(\gamma)`. We can use either the primal or the dual
872-
LP problem.
873-
2. If :math:`V(M(\gamma)) > 0`, then set :math:`LB = \gamma`,
874-
otherwise let :math:`UB = \gamma`.
875-
3. Iterate on 1. and 2. until :math:`|UB - LB| < \epsilon`.
874+
- Finding :math:`\beta_0`
876875

876+
1. Fix :math:`\gamma = \frac{UB + LB}{2}` and compute the solution
877+
of the two-player zero-sum game associated.
878+
with :math:`M(\gamma)`. We can use either the primal or the dual
879+
LP problem.
880+
2. If :math:`V(M(\gamma)) > 0`, then set :math:`LB = \gamma`,
881+
otherwise let :math:`UB = \gamma`.
882+
3. Iterate on 1. and 2. until :math:`|UB - LB| < \epsilon`.
877883

878-
*Existence*: Since :math:`V(M(LB))>0` and :math:`V(M(UB))<0` and
879-
:math:`V(M(\cdot))` is a continuous, nonincreasing function, there is
880-
at least one :math:`\gamma\in[LB, UB]`, s.t. :math:`V(M(\gamma))=0`.
884+
*Existence*: Since :math:`V(M(LB))>0` and :math:`V(M(UB))<0` and
885+
:math:`V(M(\cdot))` is a continuous, nonincreasing function, there is
886+
at least one :math:`\gamma\in[LB, UB]`, s.t. :math:`V(M(\gamma))=0`.
881887

882888
The *zerosum* method calculates the value and optimal strategies
883889
associated with a given :math:`\gamma`.
@@ -997,11 +1003,11 @@ for non-negative matrices.
9971003

9981004
**Definition:** We call an economy *simple* if it satisfies
9991005

1000-
* :math:`n=m`
1001-
1002-
* Each activity produces exactly one good
1006+
* :math:`n=m`
1007+
1008+
* Each activity produces exactly one good
10031009

1004-
* Each good is produced by one and only one activity.
1010+
* Each good is produced by one and only one activity.
10051011

10061012
These assumptions imply that :math:`B=I_n`, i.e., that :math:`B` can be
10071013
written as an identity matrix (possibly after reshuffling its rows and
@@ -1011,8 +1017,9 @@ The simple model has the following special property (Theorem 9.11. in Gale :cite
10111017
with :math:`(A,I_n)`, then
10121018

10131019
.. math::
1014-
x_0^T = \alpha_0 x_0^T A\hspace{1cm}\Leftrightarrow\hspace{1cm}x_0^T
1015-
A=\left(\frac{1}{\alpha_0}\right)x_0^T
1020+
1021+
x_0^T = \alpha_0 x_0^T A\hspace{1cm}\Leftrightarrow\hspace{1cm}x_0^T
1022+
A=\left(\frac{1}{\alpha_0}\right)x_0^T
10161023
10171024
The latter shows that :math:`1/\alpha_0` is a positive eigenvalue of
10181025
:math:`A` and :math:`x_0` is the corresponding non-negative left
@@ -1032,4 +1039,5 @@ Suppose that :math:`A` is reducible with :math:`k` irreducible subsets
10321039
associated expansion and interest factors, respectively. Then we have
10331040

10341041
.. math::
1035-
\alpha_0 = \max_i \{\alpha_i\}\hspace{1cm}\text{and}\hspace{1cm}\beta_0 = \min_i \{\beta_i\}
1042+
1043+
\alpha_0 = \max_i \{\alpha_i\}\hspace{1cm}\text{and}\hspace{1cm}\beta_0 = \min_i \{\beta_i\}

0 commit comments

Comments
 (0)