GithubHelp home page GithubHelp logo

pseudomanifold / comphom Goto Github PK

View Code? Open in Web Editor NEW
6.0 3.0 1.0 18 KB

Computing homology groups of simplicial complexes

License: BSD 3-Clause "New" or "Revised" License

Makefile 1.64% C++ 80.87% Perl 8.96% Objective-C 7.94% CMake 0.58%
homology-computation c-plus-plus simplicial-complexes manifolds simplicial-homology homology algebraic-topology

comphom's Introduction

CompHom

comphom is a simple C++ program for computing simplicial homology groups of triangulated simplicial complexes.

Dependencies

comphom requires a C++ compiler and CMake for building. Alternatively, a simple Makefile is supplied.

How do I install comphom?

If you have CMake installed:

$ mkdir build
$ cd build
$ cmake ../
$ make

If you want to try out the Makefile instead:

$ make

The Makefile should work for any POSIX-compatible operating system.

What does comphom do?

Given a triangulation (or a whole bunch of them), comphom computes homology groups and writes the results to a file. One line is used per triangulation and if read from left to right, they descend in order. In other words: the highest dimension is the first group from the left, the lowest dimension is on the very right side of the line.

First, the rank of the free part of the group is printed. Afterwards the torsion parts are printed in the form Z_n. The torsion parts will be concatenated via '+'.

How do I use comphom

…when using F. Lutz' triangulations?

F. Lutz has some nice triangulations on his website. These have been used to test the program. If you want to use them, please visit the Manifold Page at http://www.math.tu-berlin.de/diskregeom/stellar.

To feed them into comphom, follow these three steps:

  1. Download all triangulations you are interested in.
  2. Use the Perl script lex_convert.pl to convert the files into the format comphom understands: perl lex_convert.pl --input <file>
  3. Start comphom: comphom --input <file>.ct [--output <file>.out]

…when using my own triangulations?

If you have your own triangulations, the process is even simpler:

  1. Convert the triangulation so that comphom can process it. This is very easy: each simplex is entered in one line. After all simplices have been entered, add one line reading 'EOT' (end of triangulation).
  2. Start comphon: comphom --input <file> [--output <file>.out]

comphom's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

vishalbelsare

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.