GithubHelp home page GithubHelp logo

jmaerte / anubis Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 1.43 MB

ANUBiS is a C++ library of high-performance algorithms for computing topological invariants of point sets and simplicial topological spaces.

License: MIT License

CMake 1.75% C++ 82.35% Shell 0.04% Batchfile 0.02% C 15.83%
topological-data-analysis topological-data-structures homology homology-computation homology-calculations simplicial-complexes smith-normal-form topology

anubis's Introduction

ANUBiS

  • Assemblage of Numerous Utilities for Big Simplicial Data Structures

ANUBiS is a C++ library of high-performance algorithms for computing topological invariants of point sets and simplicial topological spaces. It can be used as a tool for topological data analysis or plotting computer generated triangulations of given surfaces.

Why: Functionality and Motivation

The motivation consists in the will for a as flexible as possible toolbox for analyzing the behavior of simplicial topological spaces under certain transformations. Further we want to be able to simplify large complexes to such a degree that they are actually calculable. The main focus is to use state-of-the-art data structures to tackle this goal. Further there are some elaborate algorithms involved to speed up this computations as far as possible.

Binding with Python

I tried to make porting this library to python as easy as possible in order to use it in a more flexible environment. The linkage to a C++ interface preserves the execution speed while offering a more easy to use interface to the user. Boost.Python or ctypes library from python standard library

Usage

A full documentation can be found under

Installation

ANUBiS comes with precompiled binaries for Ubuntu and Windows.

Building it yourself

To build ANUBiS you just need to clone this repository. Since this is a CMake Project you only need to run

git clone https://github.com/jmaerte/ANUBiS.git
cd ANUBiS
mkdir build
cmake --build <path/to/project>/build --target ANUBiS -- -j 4
cd build
make

Remember to prepend sudo when necessary! The Shell command is necessary if you are on windows and have a sh.exe in your PATH environment variable. You should set it to cmd

Be aware that when building with MinGW on Windows you should not have a sh.exe in your PATH environment variable (this is due to MinGW). This can happen when you have installed git on your machine. Here are some Solutions and cases in which they function:

If you are permitted to change system variables: Remove the path containing sh.exe from the PATH variable.

You are building the project in the console: Append SHELL=cmd to the make command.

You are using an IDE that does not let you set flags for the make command: Set the user environment variable MAKEFLAGS=SHELL=cmd.

License

This Project is licensed under the terms of the MIT License.

anubis's People

Contributors

jmaerte avatar maertej avatar

Stargazers

 avatar

Watchers

 avatar

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.