TNorm
TNorm is a package for computing the Thurston norm unit ball of finite volume orientable hyperbolic 3-manifolds. Currently, tnorm must be installed in Sage.
There are two ways to get Tnorm up and running. Below is the easy way, scroll down for the hard way (not recommended).
Installing Tnorm:
MacOS
Install the latest stable version of Sage_macOS, which is a version of Sage packaged by Marc Culler that makes everything work on a Mac without any headaches (thank you, Marc!):
https://github.com/3-manifolds/Sage_macOS/releases/latest (scroll to bottom and click on SageMath-9.X.dmg)
After opening the installer, drag SageMath-9-X into the Applications folder, then be sure to install Recommended.pkg by double clicking on it and following the prompts.
Next, open a terminal and open sage:
$: sage
then install tnorm:
sage: %pip install tnorm
In the course of installing tnorm, Regina and SnapPy will be installed automatically.
To run the tnorm graphical user interface app:
$ sage -python -m tnorm.app
To get started:
sage: W=tnorm.load('m130')
sage: B=W.norm_ball
sage: B.vertices()
[Vertex 0: represented by (1/2)* S_1,2 at (-1), mapped from surface with index 10,
Vertex 1: represented by (1/2)* S_1,2 at (1), mapped from surface with index 0]
sage:
Support for hyperbolic 3-manifolds that are not multi-component links in rational homology 3-spheres has been added very recently, and has not been thoroughly tested yet. If you get any results that don't make sense, please email me at wworden@holyfamily.edu.
Linux
TO DO:
- add feature: determine fiberedness of a hyp 3-mfld (this is a long-term goal)
- remove Sage dependence (this has become low-priority, since installing in Sage is now easy).
- better documentation throughout.
MacOS without Sage_MacOS
The HARD(ish) way (not recommended, but left here to remind us how difficult things were in the old days!):
-
Install latest Sage:
1a. Download from http://mirrors.mit.edu/sage/osx/intel/index.html. Choose the most recent version, ending in x86_64.dmg.
1b. double click on the downloaded file, then after it unpacks, copy the SageMath folder to your Applications folder
-
Unquarantine sage:
2a. open Terminal (in Applications/Utilities)
2b. In terminal, type (without $ sign):
$ xattr -rd com.apple.quarantine /Applications/SageMath(note: for the above, "/Applications/" is the path to SageMath. This may be different if you put it (for example) in the applications folder at the user lever, i.e., /Users/your_username/Applications/SageMath)
2c. Open System Preferences —> Security and Privacy —> Privacy, then scroll on the left side down to "Full Disk Access" and select it. On the right side (after clicking the lock and entering password, if needed), click “+” button, then navigate to Applications/SageMath/ and select sage.
-
Make a sage alias:
3a. in Terminal, type
$ open -e .bash_profile3b. this will open a file in TextEdit. At the top, add the line
$ alias sage='/Applications/SageMath/sage'(change the path as needed if your SageMath is in a different location)
-
Fix Sage’s SSL (this is now easy thanks to Nathan Dunfield):
4a. Download https://github.com/3-manifolds/fix_mac_sage/releases/download/v1.0_as_released/fix_mac_sage9.tar.gz , then double click on it to unpack it.
4b. In Terminal, type:
$ cd ~/Downloads; sage -python -m fix_mac_sage9.fix -
Install tnorm (snappy and sageRegina will be installed automatically, if they are not already installed):
5a: In Terminal, type:
$ sage -python -m pip install tnorm
Metadata
Release files for tnorm 1.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| tnorm-1.0.6.tar.gz | 712.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tnorm-1.0.6-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 1.3 MB
Release files / tnorm-1.0.6.tar.gz
| Download URL | tnorm-1.0.6.tar.gz |
|---|---|
| Size | 712.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
355899e7e74d01e27bfb72a229528aef116493f26d53b1a55e21b17aa82a9d90
|
|
BLAKE2b-256 checksum How to use checksums |
5195dc38f76aa30defa4199ad5ded08654f5f605f0240e916c9b5843fae36f29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / tnorm-1.0.6-py2.py3-none-any.whl
| Download URL | tnorm-1.0.6-py2.py3-none-any.whl |
|---|---|
| Size | 600.5 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
712ae1f8dbbbbd1893bfb3d9a4150b9abdc8314bd8264aca1ad7a9a7fdbf3b99
|
|
BLAKE2b-256 checksum How to use checksums |
59270dabcb8a977630b64d712f70ef5dab17536c7dff7f0278830ac6af1e868f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Security for tnorm 1.0.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.