CapAndHomalg.jl
Introduction
The Julia package CapAndHomalg 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 CapAndHomalg.jl
Then start julia in a terminal and add the package CapAndHomalg:
julia> using Pkg; Pkg.add("CapAndHomalg")
julia> using CapAndHomalgTesting
The correctness of the installation and the availability of the functionality can at any time be tested using
julia> using Pkg; Pkg.test("CapAndHomalg")Updating
After each update of the Julia package GAP a rebuild is (probably) necessary:
julia> using Pkg; Pkg.update("CapAndHomalg")
julia> Pkg.build("CapAndHomalg")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
CapAndHomalg relies on the
| computer algebra systems | through the Julia packages |
|---|---|
| GAP | Gap.jl |
| Singular | Singular_jll.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 | dot-format generating code like in [Digraphs][Digraphs] | [Graphvizjll.jl][Graphvizjll.jl] |
| 4ti2 | [4ti2Interface][4ti2Interface] | [lib4ti2jll.jl][lib4ti2jll.jl] |
<!– | cddlib | [CddInterface][CddInterface] | [cddlibjll.jl][cddlibjll.jl] | | Normaliz | [NormalizInterface][NormalizInterface] | [normalizjll.jl][normalizjll.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
[Digraphs]: https://github.com/gap-packages/digraphs/#readme [4ti2Interface]: https://github.com/homalg-project/homalgproject/tree/master/4ti2Interface/#readme [CddInterface]: https://github.com/homalg-project/CddInterface/#readme [NormalizInterface]: https://github.com/gap-packages/NormalizInterface/#readme [Graphvizjll.jl]: https://github.com/JuliaBinaryWrappers/Graphvizjll.jl/ [lib4ti2jll.jl]: https://github.com/JuliaBinaryWrappers/lib4ti2jll.jl/ [cddlibjll.jl]: https://github.com/JuliaBinaryWrappers/cddlibjll.jl/ [normalizjll.jl]: https://github.com/JuliaBinaryWrappers/normaliz_jll.jl/
Index
CapAndHomalg.CapAndHomalgCapAndHomalg.PACKAGES_DEPRECATEDCapAndHomalg.PACKAGES_TO_COMPILECapAndHomalg.PACKAGES_TO_DOWNLOADCapAndHomalg.PKG_DIRCapAndHomalg.versionCapAndHomalg.CompilePackagesForHomalgProjectCapAndHomalg.DownloadAllPackagesFromHomalgProjectCapAndHomalg.DownloadPackageFromHomalgProjectCapAndHomalg.RemoveAllPackagesFromHomalgProjectCapAndHomalg.RemoveDeprecatedPackagesFromHomalgProjectCapAndHomalg.RemovePackageFromHomalgProjectCapAndHomalg.UpdateAllPackagesFromHomalgProjectCapAndHomalg.UpdateAllPackagesFromHomalgProjectInParallelCapAndHomalg.UpdatePackageFromHomalgProjectCapAndHomalg.UseSystemSingular
CapAndHomalg.CapAndHomalg — ModuleThe Julia package CapAndHomalg provides simplified access to the repositories of the GAP packages hosted on the GitHub organization https://homalg-project.github.io/, most of which are based on the
- CAP project,
- homalg project.
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
CapAndHomalg relies on the
| computer algebra systems | through the Julia packages |
|---|---|
| GAP | Gap.jl |
| Singular | Singular_jll.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 | dot-format generating code like in 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/CapAndHomalg.jl
CapAndHomalg.PACKAGES_DEPRECATED — ConstantCapAndHomalg.PACKAGES_DEPRECATEDList of deprecated packages.
CapAndHomalg.PACKAGES_TO_COMPILE — ConstantCapAndHomalg.PACKAGES_TO_COMPILEThe list of all GAP packages that will downloaded (once) and installed by GAP.Packages.install when using Pkg; Pkg.build("HomalgProject") or when CompilePackagesForHomalgProject is invoked. The latter should be called once GAP.jl gets updated.
CapAndHomalg.PACKAGES_TO_DOWNLOAD — ConstantCapAndHomalg.PACKAGES_TO_DOWNLOADList of packages which will be considered by
CapAndHomalg.PKG_DIR — ConstantCapAndHomalg.PKG_DIRThe directory in which to install GAP packages from the GitHub organization https://github.com/homalg-project/. It is equal to joinpath(pathof(CapAndHomalg), "pkg").
CapAndHomalg.version — ConstantCapAndHomalg.versionThe version number of the loaded CapAndHomalg. Please mention this number in any bug report.
CapAndHomalg.CompilePackagesForHomalgProject — MethodCompilePackagesForHomalgProject()Apply [GAP.Packages.install] to all packages listed in CapAndHomalg.PACKAGES_TO_COMPILE.
CapAndHomalg.DownloadAllPackagesFromHomalgProject — MethodDownloadAllPackagesFromHomalgProject()Apply DownloadPackageFromHomalgProject to all packages listed in CapAndHomalg.PACKAGES_TO_DOWNLOAD.
CapAndHomalg.DownloadPackageFromHomalgProject — MethodDownloadPackageFromHomalgProject(pkgname)Clone the repository named pkgname from the GitHub organization https://github.com/homalg-project/ to the subdirectory CapAndHomalg.PKG_DIR. On success return true and on failure false.
CapAndHomalg.RemoveAllPackagesFromHomalgProject — MethodRemoveAllPackagesFromHomalgProject()Apply RemovePackageFromHomalgProject to all packages listed in CapAndHomalg.PACKAGES_TO_DOWNLOAD.
CapAndHomalg.RemoveDeprecatedPackagesFromHomalgProject — MethodRemoveDeprecatedPackagesFromHomalgProject()Apply RemovePackageFromHomalgProject to all packages listed in CapAndHomalg.PACKAGES_DEPRECATED.
CapAndHomalg.RemovePackageFromHomalgProject — MethodRemovePackageFromHomalgProject(pkgname)Delete the repository named pkgname from the subdirectory CapAndHomalg.PKG_DIR. On success return true and on failure false. Removing a repository and re-downloading it might be useful if updating it fails.
CapAndHomalg.UpdateAllPackagesFromHomalgProject — MethodUpdateAllPackagesFromHomalgProject()Apply UpdatePackageFromHomalgProject to all packages listed in CapAndHomalg.PACKAGES_TO_DOWNLOAD.
CapAndHomalg.UpdateAllPackagesFromHomalgProjectInParallel — MethodUpdateAllPackagesFromHomalgProjectInParallel()Apply UpdatePackageFromHomalgProject to all packages listed in CapAndHomalg.PACKAGES_TO_DOWNLOAD in parallel. The output of the git commands might get intertwined.
CapAndHomalg.UpdatePackageFromHomalgProject — MethodUpdatePackageFromHomalgProject(pkgname)Update the repository named pkgname located in the subdirectory CapAndHomalg.PKG_DIR from the GitHub organization https://github.com/homalg-project/. If the package directory does not exist locally then invoke DownloadPackageFromHomalgProject(pkgname). On success return true and on failure false.
CapAndHomalg.UseSystemSingular — MethodUseSystemSingular(bool::Bool)- if bool == true use the Singular installed on the system
- if bool == false use the Singular bundled with Singular_jll