Prerequisites¶
MARQOV is light on dependencies:
A C++14 compiler
HDF5
optionally MPI
optionally SWIG, and a recent enough version of cmake(3.18) for generating the foreign language bindings.
and cmake for executing the build and configure step. If you intend to build the documentation, then doxygen, breathe and sphinx are required.
Compiling the Examples¶
Assuming you have retrieved the most recent version of MARQOV the default way to compile is with the help of cmake .
The build step follows the basic cmake procedure:
1 2 3 4 | cmake -E make_directory build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . --target all --config Release
|
and you should find compiled examples in src. By executing the all target, we will greedily build as many tools as are supported on your system.
Type make help
after cmake has finished to see the available targets on your system.
What’s next?¶
You might want to include MARQOV in your own projects or solve your own Hamiltonian! A Good Start for this is e.g.
If you want to see more examples, or get deeper into it, have a look at the overview page of the Hamiltonians
If you want to learn more about lattices have a look into lattices
More information on the notion of an observable can be found at observables
Foreign Language Interface¶
MARQOV has a foreign language interface generated by SWIG . These bindings can be used to get a taste of marqov in a language of your choice and hence a limited hardcoded subset of the functionality of MARQOV is exposed in an easily portable manner. Of course the same output files are generated and can be analysed with pyMARQOV. This can be used if you want to use MARQOV together with Jupyter Notebooks for teaching purposes.
Our primary target language is python, but there are also experimental, unsupported bindings for Java, Lua, R and ocaml.