Documentation of MARTY
A Modern ARtificial Theoretical phYsicist
MARTY Documentation

Welcome to the documentation !

The documentation is an interactive content, explaining a little bit more in details objects and functions in MARTY. If you are interested by the underlying computer algebra system, CSL, please note that its documentation is separated from the physics part presented here. References to CSL objects are present in MARTY's documentation and links will automatically bring you to their documentation (in CSL) if needed.

This documentation is probably not complete. It is a work in progress, but it represents a massive amount of work and time constraints prevented me from writing a comprehensive documentation. There is still an important quantity of information you may get here, in particular on important topics about MARTY.

If you have any question that this documentation and the manual do not answer, please feel free to ask the author: marty.nosp@m..uhl.nosp@m.rich@.nosp@m.gmai.nosp@m.l.com.

If you want to come back on MARTY main page, you can click here or click on the logo at the top of the page at any time.


Get Started with the documentation

If you are in the documentation for the first time, you should already have a pretty precise idea of what MARTY is doing without knowing really how. For a code overview, the manual or the initial publication are probably better.

It is still very valuable to learn how to navigate in the documentation, and in particular where to start. Then if you want to use a specific object in your code, the documentation is really the best help you can get as even if not all function are documented, they all appear here.

Data structures

To have an idea of what information you can get here, you may be interested in the tab Data Structures/Data Structure Index. It contains all the classes (object abstractions) in the physics part of MARTY. You may found there what is a mty::QuantumField, a high energy physics mty::Model, a mty::Lagrangian, a mty::Propagator and more.

Files

Another good starting point is to go in File/File List that shows all the header files in the physics part of MARTY. There exists a good correspondance between files and objects. You may found the mty::QuantumField in quantumField.h, the mty::Model in model.h, mty::Lagrangian in lagrangian.h etc.


Useful links

This part aims to give directly the links to the main features of MARTY, sorted by topic.

User interface

Most MARTY's features are callable from class methods. The file mrtInterface.h contains a number of functions directly callable, without having to know what object owns the method. All features are not reimplemented in this file, but the main ones are, and it is then a good starting point to know what you can do with MARTY.

CSL

CSL is the computer algebra system integrated in MARTY. You may click here to go to its documentation.

Model Building

Model building is a very important topic for a user as it is almost the only part he/she will have to do him/herself. The mty::Model class is actually built in three layers, each one containing a different part of the final features:

Lagrangian

This part is less important as the Lagrangian is meant to be fully encapsulated by the model classes. If one wants to know how it works inside, the main objects to see are:

Quantum Field Theory

Quantum Field Theory is really what MARTY does. There is of course many different files and objects related to it. Here are the main ones:

Group Theory

Group theory is a more deep feature, as a standard user will only be interested in creating gauge groups, feature that is encapsulated in the mty::ModelBuilder class. However, if someone wants to get deeper, understand how representations and group algebra are handled, here are the main links: