Git Product home page Git Product logo

homalg_project's Introduction

homalg project View code

The packages of the homalg project

Build Status Code Coverage
Build Status Code Coverage

The homalg project is a multi-author multi-package open source software project for constructive homological algebra.

Mainly written in GAP4 it allows the use of external programs and other computer algebra systems (CASs) for specific time critical tasks. Although the central part of the source code is the formalization of abstract notions like Abelian categories, our focus lies on concrete applications ranging from linear control theory to commutative algebra and algebraic geometry.

A big part of the project is already distributed with GAP. The yet undeposited packages and the tested development versions of all packages can be downloaded from the project GitHub homepage.

The core part of the project is the homalg package. It provides an abstract structure and algorithms for abelian categories up to spectral sequences of multigraded complexes.

The other packages of the homalg project implement data structures and algorithms for several mathematical objects, like modules over graded rings. For more packages based on the homalg project see the table on this page.

This slideshow visualizes the interdependency of most of the packages in this repository:

the
 homalg slideshow

Packages of homalg_project:

Name Description Documentation
homalg A homological algebra meta-package for computable Abelian categories HTML stable documentation PDF stable documentation
4ti2Interface A link to 4ti2 HTML stable documentation PDF stable documentation
ExamplesForHomalg Examples for the GAP Package homalg HTML stable documentation PDF stable documentation
Gauss Extended Gauss functionality for GAP HTML stable documentation PDF stable documentation
GaussForHomalg Gauss functionality for the homalg project HTML stable documentation PDF stable documentation
GradedModules A homalg based package for the Abelian category of finitely presented graded modules over computable graded rings HTML stable documentation PDF stable documentation
GradedRingForHomalg Endow Commutative Rings with an Abelian Grading HTML stable documentation PDF stable documentation
HomalgToCAS A window to the outer world HTML stable documentation PDF stable documentation
IO_ForHomalg IO capabilities for the homalg project HTML stable documentation PDF stable documentation
LocalizeRingForHomalg A Package for Localization of Polynomial Rings HTML stable documentation PDF stable documentation
MatricesForHomalg Matrices for the homalg project HTML stable documentation PDF stable documentation
Modules A homalg based package for the Abelian category of finitely presented modules over computable rings HTML stable documentation PDF stable documentation
RingsForHomalg Dictionaries of external rings HTML stable documentation PDF stable documentation
SCO SCO - Simplicial Cohomology of Orbifolds HTML stable documentation PDF stable documentation
ToolsForHomalg Special methods and knowledge propagation tools HTML stable documentation PDF stable documentation

homalg_project's People

Contributors

brain0 avatar chrisjefferson avatar egawrilow avatar fingolfin avatar flodiebold avatar heiderich avatar herearound avatar kamalsaleh avatar laurentbartholdi avatar markuslh avatar martin-leuner avatar mohamed-barakat avatar sebasguts avatar sebastianpos avatar steenpass avatar wagh avatar zickgraf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

homalg_project's Issues

Determinant tries to access the record entry "matrix" of a sparse matrix over an internal ring

Issue by martin-leuner
Friday Jul 25, 2014 at 09:17 GMT
Originally opened as https://github.com/homalg-project/MatricesForHomalg/issues/11


This seems to be a shared issue between Matrices and Gauss. Matrices' Determinant method does not check whether its argument is a dense matrix. Gauss does not implement Determinant at all.

gap> m := HomalgMatrix( [[1]], HomalgFieldOfRationals() );
gap> Determinant( m );
Error, Record: '.matrix' must have an assigned value in
return Determinant( Eval( C )!.matrix ); called from
DeterminantMat( C )
brk> IsIdenticalObj(C,m);
true
brk> InfoOfObject( Eval( C ) );
rec( attributes := rec( ), components := rec( entries := [ [ 1 ] ], indices := [ [ 1 ] ], ncols := 1, nrows := 1, ring := Rationals ), object := <a 1 x 1 sparse matrix over Rationals>, properties := rec( ) )

[CLOSED] Slow LIMAT/COLEM?

Issue by mohamed-barakat
Wednesday Dec 10, 2014 at 10:46 GMT
Originally opened as https://github.com/homalg-project/MatricesForHomalg/issues/12


The following example indicates that the LIMAT/COLEM methods might be slowing down the computations:

LoadPackage( "GradedRingForHomalg" );
S := GradedRing( HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z" );
LoadPackage( "GradedModules" );
I := GradedLeftSubmodule( "x", S ) * MaximalGradedLeftIdeal( S )
     + GradedLeftSubmodule( "y^3", S );
M := FactorObject( I );
homalgIOMode( "D" );
FilteredByPurity( M );

[CLOSED] removed unnecessary conditions in CreateHomalgMatrixFromList and HomalgM...

Issue by martin-leuner
Friday Aug 23, 2013 at 01:39 GMT
Originally opened as https://github.com/homalg-project/MatricesForHomalg/pull/8


...atrix

The second commit should be treated as a suggestion. I am not entirely sure whether these changes break any existing code, although I think they should be safe enough.


martin-leuner included the following code: https://github.com/homalg-project/MatricesForHomalg/pull/8/commits

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.