# HomalgProject.jl

## Introduction

The Julia package `HomalgProject`

provides simplified access to the repositories of the GAP packages hosted on the GitHub organization homalg-project, most of which are based on the

These are open source GAP multi-package projects for constructive category theory and homological algebra with applications to module theory of commutative and non-commutative algebras and algebraic geometry.

## Installation

#### Install Julia

To install Julia follow the first Steps 0 and 1 on our installation page.

#### Install `HomalgProject.jl`

Then start `julia`

in a terminal and add the package `HomalgProject`

:

```
julia> using Pkg; Pkg.add("HomalgProject")
julia> using HomalgProject
```

## Testing

The correctness of the installation and the availability of the functionality can at any time be tested using

`julia> using Pkg; Pkg.test("HomalgProject")`

## Updating

After each update of the Julia package `GAP`

a rebuild is (probably) necessary:

```
julia> using Pkg; Pkg.update("HomalgProject")
julia> Pkg.build("HomalgProject")
```

This will also clone the repositories listed in `CapAndHomalg.PACKAGES_TO_DOWNLOAD`

using `DownloadAllPackagesFromHomalgProject`

and compile the packages listed in `CapAndHomalg.PACKAGES_TO_COMPILE`

using `GAP.Packages.install`

(`pkgname`

).

## Software dependency

`HomalgProject`

relies on the

computer algebra systems | through the Julia packages |
---|---|

GAP | Gap.jl |

Nemo | Nemo = Nemo.jl |

Singular | Singular.jl |

all of which are components of the computer algebra system OSCAR.

Some of the bundled packages use the GAP packages

and the

third party software | through the GAP packages | and the Julia packages |
---|---|---|

Graphviz | Digraphs | Graphviz_jll.jl |

4ti2 | 4ti2Interface | lib4ti2_jll.jl |

<!– | cddlib | CddInterface | cddlib_jll.jl | | Normaliz | NormalizInterface | normaliz_jll.jl | –>

## General Disclaimer

The software comes with absolutely no warranty and will most likely have errors. If you use it for computations, please check the correctness of the result very carefully.

This software is licensed under the LGPL, version 3, or any later version.

## Funding

*The development of this package and many of the GAP packages hosted on the GitHub organization homalg-project was partially funded by the DFG (German Research Foundation) through the*

## Index

`HomalgProject.HomalgProject`

— ModuleThe Julia package `HomalgProject`

provides simplified access to the repositories of the GAP packages hosted at the GitHub organization https://github.com/homalg-project, most of which are based on the

These are open source GAP multi-package projects for constructive category theory and homological algebra with applications to module theory of commutative and non-commutative algebras and algebraic geometry.

**Software dependency**

`HomalgProject`

relies on the

computer algebra systems | through the Julia packages |
---|---|

GAP | Gap.jl |

Nemo | Nemo = Nemo.jl |

Singular | Singular.jl |

all of which are components of the computer algebra system OSCAR.

Some of the bundled packages use the GAP packages

- IO
- ferret
- json
- QPA2

and the

third party software | through the GAP packages |
---|---|

Graphviz_jll | Digraphs |

4ti2_jll | 4ti2Interface |

**General Disclaimer**

The software comes with absolutely no warranty and will most likely have errors. If you use it for computations, please check the correctness of the result very carefully.

This software is licensed under the LGPL, version 3, or any later version.

**Funding**

*The development of this package and many of the GAP packages hosted on the GitHub organization homalg-project was partially funded by the DFG (German Research Foundation) through the*

More information and the online documentation can be found at the source code repository

https://github.com/homalg-project/HomalgProject.jl

`HomalgProject.version`

— Constant`HomalgProject.version`

The version number of the loaded `HomalgProject`

. Please mention this number in any bug report.