Skip to content

Commit

Permalink
RFC: game_theory: Minor refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
oyamad committed Feb 8, 2025
1 parent 835a64b commit 1607ef8
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 7 deletions.
4 changes: 2 additions & 2 deletions quantecon/game_theory/game_converters.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ def _parse(string):
players = [
Player(
payoffs2d[i, :].reshape(nums_actions, order='F').transpose(
list(range(i, N)) + list(range(i))
(*range(i, N), *range(i))
)
) for i in range(N)
]
Expand Down Expand Up @@ -196,7 +196,7 @@ def _dump(g):
for i, player in enumerate(g.players):
payoffs = np.array2string(
player.payoff_array.transpose(
list(range(g.N-i, g.N)) + list(range(g.N-i))
(*range(g.N-i, g.N), *range(g.N-i))
).ravel(order='F'))[1:-1]
s += ' '.join(payoffs.split()) + ' '

Expand Down
2 changes: 1 addition & 1 deletion quantecon/game_theory/logitdyn.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ def __init__(self, data, beta=1.0):

for player in self.players:
payoff_array_rotated = \
player.payoff_array.transpose(list(range(1, self.N)) + [0])
player.payoff_array.transpose((*range(1, self.N), 0))
payoff_array_rotated -= \
payoff_array_rotated.max(axis=-1)[..., np.newaxis]
player.logit_choice_cdfs = \
Expand Down
8 changes: 4 additions & 4 deletions quantecon/game_theory/normal_form_game.py
Original file line number Diff line number Diff line change
Expand Up @@ -640,8 +640,9 @@ def __init__(self, data, dtype=None):
)
for i, payoff_array in enumerate(payoff_arrays):
payoff_array[:] = \
data.take(i, axis=-1).transpose(list(range(i, N)) +
list(range(i)))
data.take(i, axis=-1).transpose(
(*range(i, N), *range(i))
)
self.players = tuple(
Player(payoff_array) for payoff_array in payoff_arrays
)
Expand All @@ -663,8 +664,7 @@ def payoff_profile_array(self):
np.empty(self.players[0].payoff_array.shape + (N,), dtype=dtype)
for i, player in enumerate(self.players):
payoff_profile_array[..., i] = \
player.payoff_array.transpose(list(range(N-i, N)) +
list(range(N-i)))
player.payoff_array.transpose((*range(N-i, N), *range(N-i)))
return payoff_profile_array

def __repr__(self):
Expand Down

0 comments on commit 1607ef8

Please sign in to comment.