Skip to main content

entropy-spine

SPINE — Scale Partitioning by Incremental Nested Entropy

SPINE takes a nonnegative measure over a collection of objects and cuts it into scale strata. It finds where the collection separates into distinct scales, and how strongly, without being told how many groups to look for and without a detection threshold to tune.

You supply two things: a measure, one nonnegative number per object, and an orientation, saying which end of that measure is the atypical one. Those are the scientific input. Everything after them is computed.

pip install entropy-spine          # numpy only
pip install "entropy-spine[plot]"  # with the figures (matplotlib)
import numpy as np
from entropy_spine import spine, spine_summary

rng = np.random.default_rng(11)
X = np.vstack([rng.standard_normal((200, 2)),
               rng.standard_normal((12, 2)) + 9])

scores, result = spine(X, "dist2mean", "upper")
spine_summary(result)

result.n_strata          # 2
result.boundary_values   # the measure value at the cut, in your units

scores runs from 0 for the typical stratum to 1 for the most atypical, one value per object, in your object order. When there is nothing to find, SPINE returns a single stratum — an answer, not a failure.

Documentation

  • User guide — worked scenarios, runnable cell by cell
  • Function reference — one page per function, every example executed at build
  • Choosing a measure — the piece to read before applying SPINE to your own problem
  • The theory — why the construction works, in figures and equations

Verified against the reference implementation

This package is developed in the same repository as the MATLAB reference implementation and is checked against the shared cross-language conformance fixtures: candidate sets, boundaries, and strata assignments must agree exactly, continuous quantities to the stated tolerance. The layout mirrors the reference: core/ is the deterministic computation, interface/ everything a user touches, and nothing in core imports from interface.

https://github.com/almomaa/entropy-spine

Citation

A. R. AlMomani. Scale Partitioning by Incremental Nested Entropy: A Measure-Oriented Theory of Multiscale Structure. Embry-Riddle Aeronautical University, 2026.

License

MIT

Metadata

Release files for entropy-spine 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for entropy-spine 0.1.0
File Size Uploaded
entropy_spine-0.1.0.tar.gz 44.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for entropy-spine 0.1.0
File Interpreter ABI Platform
entropy_spine-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 86.7 kB

Release files / entropy_spine-0.1.0.tar.gz

Download URL entropy_spine-0.1.0.tar.gz
Size 44.5 kB
Tags Source
SHA-256 checksum
How to use checksums
ab9563fe33003ba050b74748d0668dfc82671c2e8e2ee239ab64245b8c7102e5
BLAKE2b-256 checksum
How to use checksums
559b1f2fd56464a20e1944203d4ed72c936ee0b47ae20b1777184468ef789ceb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / entropy_spine-0.1.0-py3-none-any.whl

Download URL entropy_spine-0.1.0-py3-none-any.whl
Size 42.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
27aeed7a5328cf4f081d175602889efef86f95177da0f0da8f810adbfdd17292
BLAKE2b-256 checksum
How to use checksums
41a3c4184062edca62beb6aae4daadef9573d68f4e56f08c09ad3db75f061dd2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page