www.fermiqcd.net
/ Authors
/ Abstract
FermiQCD is a C++ library for fast development of parallel lattice QCD applications. The expression FermiQCD Collaboration is used as a collective name to indicate both the users of the software and its contributors. One of the main differences between FermiQCD and libraries developed by other collaborations is that it follows an object oriented design as opposed to a procedural design. FermiQCD should not be identified exclusively with the implementation of the algorithms but, rather, with the strict specifications that define its Application Program Interface. One should think of FermiQCD as a language on its own (a superset of the C++ language), designed to describe Lattice QCD algorithms. The objects of the language include complex numbers (mdp-complex), matrices (mdp-matrix), lattices (mdp-lattice), fields (gauge-field, fermi-field, staggered-field), propagators (fermi-propagator) and actions. Algorithms written in terms of these objects are automatically parallel.