Skip to main content

Universal Hyperbolic Geometry Library for PyTorch

Project description

Universal Hyperbolic Geometry Library

PyPI version License Build Status Code Coverage

A PyTorch library for Universal Hyperbolic Geometry (UHG) and Hyperbolic Graph Neural Networks. All operations are performed directly in hyperbolic space without tangent space mappings.

Installation

Basic Installation

pip install uhg

With GPU Support

pip install uhg[gpu]

CPU-Only Version

pip install uhg[cpu]

Development Version

pip install uhg[dev]

Documentation Tools

pip install uhg[docs]

Quick Start

import uhg
import torch

# Create hyperbolic tensors
manifold = uhg.LorentzManifold()
x = uhg.HyperbolicTensor([1.0, 0.0, 0.0], manifold=manifold)
y = uhg.HyperbolicTensor([0.0, 1.0, 0.0], manifold=manifold)

# Compute hyperbolic distance
dist = uhg.distance(x, y)

# Create a hyperbolic neural network
model = uhg.nn.layers.HyperbolicGraphConv(
    manifold=manifold,
    in_features=10,
    out_features=5
)

# Use hyperbolic optimizer
optimizer = uhg.optim.HyperbolicAdam(
    model.parameters(),
    manifold=manifold,
    lr=0.01
)

Features

  • Pure UHG implementation without tangent space operations
  • Hyperbolic neural network layers and models
  • Hyperbolic optimizers (Adam, SGD)
  • Hyperbolic samplers (HMC, Langevin)
  • Graph neural networks in hyperbolic space
  • Comprehensive documentation and examples

Platform Support

  • Linux (all major distributions)
  • macOS (including Apple Silicon)
  • Windows
  • Docker containers
  • Splunk environments

Documentation

Full documentation is available in the docs directory and in the GitHub repository.

License

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

Citation

If you use UHG in your research, please cite:

@software{uhg2023,
  title = {UHG: Universal Hyperbolic Geometry Library},
  author = {Bovaird, Zach},
  year = {2023},
  url = {https://github.com/zachbovaird/UHG-Library}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uhg-0.1.2-py3-none-any.whl (45.1 kB view details)

Uploaded Python 3

File details

Details for the file uhg-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: uhg-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 45.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.20

File hashes

Hashes for uhg-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b2716c485f2e95c14d3ef3a740d13a4359e9f2732d88442555480a291041f7fb
MD5 6f3346ce133099ecd3e10f54af6fe458
BLAKE2b-256 219c3b66fc401e46eed4fff9ed49030ebde111eb5799e345aaadbc1726f02ed2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page