Quivers and path algebras

The aim

The "Quivers and Path Algebras" team has as a goal to develop a GAP package(s) for carrying out computations for finite dimensional quotients of path algebras over the fields that are available in GAP. The package we aim to develop for GAP is called QPA for Quivers and Path Algebras. QPA is currently a deposited GAP-package.

A bit of history

The system design of QPA was initiated by Edward L. Green, Lenwood S. Heath, and Craig A. Struble. It was continued and completed by Randall Cone and Edward Green. In addition, the following persons have given valuable contributions: Nicholas Allen (orderings, tensor products, user documentation), Gerard Brunick (quivers, path algebras, Drinfeld double), Timothy Terriberry (orderings) and George Yuhasz (user documentation, matrix representations of path algebras, tensor products).

What is it?

The current version of the QPA package have the basic features for creating a program that can do a variety of computations for finite dimensional qoutients of path algebras. In particular, it has data structures for quivers, quotients of path algebras, representations of quivers with relations and complexes of modules. One of the major aims is to be able to contruct projective resolutions of finitely generated modules over finite dimensional quotients of path algebras. One can construct minimal projective resolutions with algorithms using linear algebra, which might not be the most efficient. The not necessarily minimal projective resolution constructed by Green-Solberg-Zacharia in "Minimal projective resolutions" has been implemented, but not much infrastructure has been buildt around it yet. An other goal is to have a test for finite representation type. This work has started, but there is a long way left. Part of this work is to implement/port the functionality and data structures that was available in CREP.

See the WhatYouCanDoList for more precise information on what you can do in QPA. If there is something you don't find, please tell us and we might already have thought about it or we can put it high on the todo list.

In addition to the above, we have a long list of computations we want to implement in our package, see the


If you have suggestions of computations/algorithms that you want to see implemented and it is not on the list, please contact us.

What can it do?

Here is what you can do in the latest version (or at least hopefully modulo bugs) of QPA,


For further information see the manual of QPA (still work in progress) or see online manual. Also, for the recent changes in the GIT-repository at GitHub look at QPA on GitHub.


Since the release of GAP version 4.7.8, the package QPA is distributed with GAP, so if you download this version or any later version QPA will be installed at the same time as GAP is installed. For a mac, follow the instructions for installing GAP on this web page or follow the instructions given in this video. For a Windows machine, follow the instructions for installing GAP given in this video

After having successfully started GAP, give the command

gap> LoadPackage("qpa");

which loads QPA and you can start using QPA.

For making the documentation for QPA give the command

inside a gap-session with QPA loaded.

To avoid giving the command LoadPackage("qpa"); each time you want to run QPA, you can follow the instructions given here.

For GAP version 4.7.7 or older, or you want a newer version of QPA than the one that is distributed with GAP, follow the following instructions:

  1. Locate a pkg-directory where GAP searches for packages, see 9.2 GAP Root Directories in the GAP manual for more information.
  2. Download a release of QPA from
    and unpack it in the pkg-directory you located in 1.
  3. Alternatively, clone the git-repository of QPA by giving the following command:
    git clone https://github.com/gap-system/qpa.git qpa
    when you are in the pkg-directory you located in 1.
  4. For later obtaining the latest version of QPA, give the command
    git pull
    when you are inside the qpa-directory.


This is an open source project, so you are invited to contribute. Go to the web page
for further information.

For downloading the latest version: Assuming that GAP is installed on your computer, follow the following steps:

  1. Locate the directory where GAP store the QPA-package, most probably: /somewhere/gap4rXpY/pkg/
  2. Move to this directory.
  3. Give the following command (assuming you have git in your computer):
    git clone https://github.com/gap-packages/qpa.git qpa

A new version of QPA

A completely rewritten version of QPA is currently developed in parallell at QPA2 on GitHub. This will hopefully at a not so distant furture replace version 1 of QPA, containing the same functionality and more.

How to cite QPA?

If you publish a result which was partially obtained with the usage of QPA, please cite it in the following form:

The QPA-team, QPA - Quivers, path algebras and representations - a GAP package, Version 1.33; 2022 (https://folk.ntnu.no/oyvinso/QPA/)

The QPA-team

The current group of people contributing to this project is:
Kristin Krogh ArnesenNTNU, Trondheim, Norway
Stephen CorwinRadford University, Radford, USA
Peter DräxlerUniversity of Kassel, Germany
Edward L. GreenVirginia Tech, Blacksburg, USA
Andrzej MrozTorun, Poland
Øystein I. SkartsæterhagenNTNU, Trondheim, Norway
Øyvind SolbergNTNU, Trondheim, Norway
Anette WrålsenHiST, Trondheim, Norway

Oyvind.Solberg (at) math ntnu no
Last modified: Mon May 30 13:45:07 CEST 2022