All Projects → gap-system → Gap

gap-system / Gap

Licence: other
Main development repository for GAP - Groups, Algorithms, Programming, a System for Computational Discrete Algebra

Projects that are alternatives of or similar to Gap

Numbas
A completely browser-based e-assessment/e-learning system, with an emphasis on mathematics
Stars: ✭ 144 (-67.79%)
Mutual labels:  mathematics, algebra, computer-algebra
Mather
zzllrr mather(an offline tool for Math learning, education and research)小乐数学,离线可用的数学学习(自学或教学)、研究辅助工具。计划覆盖数学全部学科的解题、作图、演示、探索工具箱。目前是演示Demo版(抛转引玉),但已经支持数学公式编辑显示,部分作图功能,部分学科,如线性代数、离散数学的部分解题功能。最终目标是推动专业数学家、编程专家、教育工作者、科普工作者共同打造出更加专业级的Mather数学工具
Stars: ✭ 270 (-39.6%)
Mutual labels:  math, mathematics, algebra
Euler
The open-source computational framework for the Swift language
Stars: ✭ 37 (-91.72%)
Mutual labels:  algebra, math, mathematics
Oscar.jl
A comprehensive open source computer algebra system for computations in algebra, geometry, and number theory.
Stars: ✭ 182 (-59.28%)
Mutual labels:  math, computer-algebra, mathematics
Grassmann.jl
⟨Leibniz-Grassmann-Clifford⟩ differential geometric algebra / multivector simplicial complex
Stars: ✭ 289 (-35.35%)
Mutual labels:  math, algebra, computer-algebra
Sage
Mirror of the Sage source tree -- please do not submit PRs here -- everything must be submitted via https://trac.sagemath.org/
Stars: ✭ 1,656 (+270.47%)
Mutual labels:  math, mathematics, computer-algebra
Angourimath
Open-source symbolic algebra library for C# and F#. One of the most powerful in .NET
Stars: ✭ 266 (-40.49%)
Mutual labels:  math, algebra, computer-algebra
Math Php
Powerful modern math library for PHP: Features descriptive statistics and regressions; Continuous and discrete probability distributions; Linear algebra with matrices and vectors, Numerical analysis; special mathematical functions; Algebra
Stars: ✭ 2,009 (+349.44%)
Mutual labels:  math, mathematics, algebra
Reduce.jl
Symbolic parser generator for Julia language expressions using REDUCE algebra term rewriter
Stars: ✭ 172 (-61.52%)
Mutual labels:  math, algebra, computer-algebra
Mathematics for Machine Learning
Learn mathematics behind machine learning and explore different mathematics in machine learning.
Stars: ✭ 28 (-93.74%)
Mutual labels:  algebra, math, mathematics
Online-Tools
Webpage offering a wide range of online tools
Stars: ✭ 38 (-91.5%)
Mutual labels:  math, mathematics
Awesome-Math-Learning
📜 Collection of the most awesome Math learning resources in the form of notes, videos and cheatsheets.
Stars: ✭ 73 (-83.67%)
Mutual labels:  math, mathematics
Mathnet Symbolics
Math.NET Symbolics
Stars: ✭ 256 (-42.73%)
Mutual labels:  math, computer-algebra
GNFS
A complete, proof-of-concept, C# implementation of the General Number Field Sieve algorithm for factoring very large semi-prime numbers. The focus was on readability and understandability of the code, not performance.
Stars: ✭ 39 (-91.28%)
Mutual labels:  math, mathematics
math-app-ml
Essential mathematics for applied machine learning and data science
Stars: ✭ 43 (-90.38%)
Mutual labels:  math, mathematics
Poisson blend
Seamless copy-and-paste of images with Poisson Blending.
Stars: ✭ 277 (-38.03%)
Mutual labels:  math, mathematics
biginteger
A PHP library to work with big integers.
Stars: ✭ 19 (-95.75%)
Mutual labels:  math, mathematics
Cmathtuts
trying to collect all useful tutorials for famous C math and linear algebra libraries such as CBLAS, CLAPACK, GSL...
Stars: ✭ 266 (-40.49%)
Mutual labels:  mathematics, algebra
Librmath.js
Javascript Pure Implementation of Statistical R "core" numerical libRmath.so
Stars: ✭ 425 (-4.92%)
Mutual labels:  math, mathematics
Basic Mathematics For Machine Learning
The motive behind Creating this repo is to feel the fear of mathematics and do what ever you want to do in Machine Learning , Deep Learning and other fields of AI
Stars: ✭ 300 (-32.89%)
Mutual labels:  mathematics, algebra

Build Status AppVeyor build Status Code Coverage Coverage Status

What is GAP?

GAP is a system for computational discrete algebra, with particular emphasis on computational group theory. GAP provides a programming language, a library of thousands of functions implementing algebraic algorithms written in the GAP language as well as large data libraries of algebraic objects. For a more detailed overview, see https://www.gap-system.org/Overview/overview.html. For a description of the mathematical capabilities, see https://www.gap-system.org/Overview/Capabilities/capabilities.html.

GAP is used in research and teaching for studying groups and their representations, rings, vector spaces, algebras, combinatorial structures, and more. The system, including source, is distributed freely. You can study and easily modify or extend it for your special use.

How to obtain GAP?

Download a stable release version

The latest stable release of the GAP system, including all currently redistributed GAP packages, can be obtained from https://www.gap-system.org/Releases/index.html. Afterwards, follow the instructions in the file INSTALL.md in the GAP root directory.

Using a GAP development version

Alternatively, you can compile the latest development version of GAP. However, most users should instead use the latest official release instead as described in the previous section.

If you really want to use a development version of GAP, start by cloning the GAP source repository using git:

git clone https://github.com/gap-system/gap

Installing required dependencies

In this case, you need to have some more software dependencies installed than with a stable release in order to compile GAP. In particular, you need at least these:

  • a C compiler, e.g. GCC or Clang
  • a C++ compiler
  • GNU Make
  • GNU Autoconf
  • GNU Libtool

In addition, we recommend that you install at least the following optional dependencies:

  • Development headers for GMP, the GNU Multiple Precision Arithmetic Library
  • Development headers for zlib
  • Development headers for GNU Readline

On Ubuntu or Debian, you can install these with the following command:

sudo apt-get install build-essential autoconf libtool libgmp-dev libreadline-dev zlib1g-dev

On macOS, you can install the dependencies in several ways:

  • using Homebrew: brew install autoconf libtool gmp readline
  • using Fink: fink install autoconf2.6 libtool2 gmp5 readline7
  • using MacPorts: port install autoconf libtool gmp readline

On other operating systems, you will need to figure out equivalent commands to install the required dependencies.

Building GAP

Then to build GAP, first run this command to generate the configure script:

./autogen.sh

Afterwards you can proceed similar to what is described in INSTALL.md, in particular enter the following commands to compile GAP itself (for macOS users, see below for a few additional hints):

./configure
make

For macOS users you may ned to tell GAP where it can find these dependencies.

For Homebrew, use these commands:

./configure --with-readline=/usr/local/opt/readline
make

For Fink, use these commands:

./configure CPPFLAGS=-I/sw/include LDFLAGS=-L/sw/lib
make

For MacPorts, use these commands:

./configure CPPFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib
make

Obtaining the GAP package distribution

In contrast to the GAP stable releases, the development version does not come bundled with all the GAP packages. Therefore, if you do not have a GAP package archive yet, we recommend that you bootstrap the stable versions of packages by executing one of the following commands. Whether you choose to bootstrap-pkg-minimal or bootstrap-pkg-full depends on your needs for development.

make bootstrap-pkg-minimal

or

make bootstrap-pkg-full

In the latter case please note that make bootstrap-pkg-full only unpacks packages but does not build those of them that require compilation. You can change to the pkg directory and then call ../bin/BuildPackages.sh from there to build as many packages as possible.

If everything goes well, you should be able to start GAP by executing

sh bin/gap.sh

You can also find development versions of some of the GAP packages on https://github.com/gap-packages resp. on https://gap-packages.github.io.

We welcome contributions

The GAP Project welcomes contributions from everyone, in the shape of code, documentation, blog posts, or other. For contributions to this repository, please read the guidelines.

To keep up to date on GAP news (discussion of problems, release announcements, bug fixes), you can subscribe to the GAP forum and GAP development mailing lists, notifications on GitHub, and follow us on Twitter.

If you have any questions about working with GAP, you can ask them on GAP forum (requires subscription) or GAP Support mailing lists.

Please tell us about your use of GAP in research or teaching. We maintain a bibliography of publications citing GAP. Please help us keeping it up to date.

License

GAP is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. For details, please refer to the GAP reference manual, as well as the file LICENSE in the root directory of the GAP distribution or see https://www.gnu.org/licenses/gpl.html.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].