README.md 2.5 KB
Newer Older
1
2
3
# Eris - agent-based economic modelling library

## Description
4

5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Eris is a C++ library designed for simulating “economies“ consisting of agents
who follow programmable rules, with the intention of deriving complex
macro-level behaviour that is an emergent property of agent interaction.

This project was motivated by the inadequacy of mathematical models, which
often impose severe constraints on agents in the name of tractability.

At its core, this library imposes few constraints on the behaviour of agents.
Individuals agents can, for instance, be programmed to be ultra-rational, or
can be “dumb” in the sense of following only simple rules of thumb.

Beyond the core, the library offers many specialized implementations that may
be used as appropriate, but can equally well be replaced with alternative
implementations.

20
The library name, Eris, is the name of the Greek goddess of chaos.
21

Jason Rhinelander's avatar
Jason Rhinelander committed
22
23
## Requirements

24
25
26
- [boost](http://www.boost.org/); only the Math component is needed (and only
  during compilation).
- [Eigen](http://eigen.tuxfamily.org/)
Jason Rhinelander's avatar
Jason Rhinelander committed
27
28
29
- A C++ compiler supporting the C++11 standard, such as
  [clang](http://clang.llvm.org/) (3.3+) or [g++](https://gcc.gnu.org/) (4.9+)

30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
## Compiling

To compile on a unix-like system, create a new build directory somewhere, then
from this directory run:

    cmake /path/to/eris
    make -j4

You can install directly to the system (usually under /usr/local) using:

    make install

or alternatively build a .deb package to install using one of:

    make package

followed by an appropriate package command to install the resulting package
(for example, on Debian/Ubuntu: dpkg -i eris_x.y.z~gityyyymmdd~tag_amd64.deb).

You may also be able to use:

    cpack -G RPM

to generate a .rpm package instead of a .deb, but this functionality is
untested by the author.

56
57
## License

58
59
60
61
62
63
64
65
66
67
68
69
70
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

71
72
## Author

Jason Rhinelander's avatar
Jason Rhinelander committed
73
Jason Rhinelander -- [e-mail](mailto:jason@imaginary.ca), [homepage](https://imaginary.ca)