https://github.com/d-passaro/pyplumbing

pyPlumbing is a sage package which allows for the computation of Z-hat invariant on plumbing manifolds at arbitrary gauge group.

https://github.com/d-passaro/pyplumbing

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.0%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

pyPlumbing is a sage package which allows for the computation of Z-hat invariant on plumbing manifolds at arbitrary gauge group.

Basic Info
  • Host: GitHub
  • Owner: d-passaro
  • License: unlicense
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 2.12 MB
Statistics
  • Stars: 1
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created almost 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme License

README.md

pyPlumbing

pyPlumbing is a SageMath package that provides specialized plumbing computation tools utilizing SageMath's powerful mathematical capabilities for an efficient computation of Ẑ-invariants.

WARNING

This project is a work in progress, it is not finished and it's still rough and in testing. Be critical of the results of this package. If you see anything unusual, please report it.

Table of Contents

Features

  • Efficient computations of Ẑ invariants on negative plumbed manifolds.
  • Computation of Ẑ invariants with any simply laced Lie Group.
  • Integration with SageMath's mathematical environment.
  • Extensible and open-source.

Prerequisites

  • SageMath: Version 9.0 or higher.
  • Conda: Recommended for managing environments and packages.

Installation

Installing SageMath (Preferred with Conda)

The preferred method to install SageMath is using Conda, which simplifies environment management and package installation.

  1. Install Conda

If you don't have Conda installed, download and install Anaconda or Miniconda.

  1. Create a Conda Environment for SageMath

Open your terminal and run:

bash conda create -n sage sage python=3.9 -c conda-forge

This command creates a new environment named sage with SageMath and Python 3.9 installed from the conda-forge channel.

  1. Activate the SageMath Environment

bash conda activate sage

  1. Verify SageMath Installation

Run SageMath to ensure it's installed correctly:

bash sage

You should see the SageMath command-line interface start.

Additional Resources:

Installing pyPlumbing

With SageMath installed and the environment activated, you can now install pyPlumbing.

  1. Clone the pyPlumbing Repository

bash git clone https://github.com/yourusername/pyPlumbing.git

  1. Navigate to the pyPlumbing Directory

bash cd pyPlumbing

  1. Clean Previous Builds (Optional but Recommended)

Ensure that any previous build artifacts are removed:

bash rm -rf build/ dist/ src/pyPlumbing/*.c find src/pyPlumbing/ -type f -name '*.py' ! -name '__init__.py' -delete

  1. Install pyPlumbing

Use SageMath's pip to install the package without build isolation:

bash sage -pip install --no-build-isolation .

Important: The --no-build-isolation flag is necessary because pyPlumbing depends on SageMath during the build process, and SageMath isn't available in the isolated build environment that pip uses by default.

  1. Verify Installation

Start SageMath and import pyPlumbing:

bash sage

In the SageMath shell:

python sage: import pyPlumbing sage: P = pyPlumbing.Plumbing.from_Seifert_data([1,-1/2,-1/3,-1/5]) sage: P.display()

Note for Apple Silicon users

If you are trying to install pyPlumbing on a modern Apple computer with an Apple Silicon chip, you should make sure Rosetta 2 is enabled on your terminal.

Usage

After installation, you can use pyPlumbing within SageMath:

python sage: from pyPlumbing import Plumbing sage: …

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository on GitHub.
  2. Create a new branch with a descriptive name.
  3. Make your changes and commit them with clear messages.
  4. Push your changes to your fork.
  5. Submit a pull request describing your changes.

License

This project is licensed under the unlicense - see the LICENSE file for details.

Contact

Owner

  • Login: d-passaro
  • Kind: user

GitHub Events

Total
  • Watch event: 1
  • Push event: 18
Last Year
  • Watch event: 1
  • Push event: 18