Skip to main content

Up-Down-Left-Right: A C++ Sparse Matrix Library

Up-down-left-right (UDLR) is a templated sparse matrix library designed the facilitate the development of algorithms that run on sparse graphs. The core datastructure is a quadrupally linked list representing the non-zero entries of the matrix. Every entry in this structure is connected with its immediate neighbours in the up, down, left, and right directions. The quad-directional linked layout enables rapid matrix traversal both horizontally and vertically, making it highly efficient for algorithms such as Gaussian elimination. UDLR is fully templated, allowing for arbitrary meta data to be appended to each list entry. This is particularly useful for graph algorithms such as belief propagation in which messages are passed between nodes.

CPP Installation

UDLR is a header only libary. To use, include the file udlr.hpp and enjoy the library!

Python Installation

Install using pip. Navigate to the repository root and run:

pip install -Ue .

CPP Features

UDLR has initially been developed to provide sparse matrix operations over a GF2 field for applications in classical and quantum coding theory. As such, the sparse GF2 matrix is currently the most developed feature of this package. However, more functiionality will be added soon. The current fuctionality is listed below:

  • A sparse GF2 matrix class. This class can be initialised with a custom node type that can contain user defined meta data.
  • Function for performing linear algebra on GF2 matrices. Current funcitons include rank calculation, nullspace computation, LU decomposition and matrix inversion.
  • Python bindings (via cython) for linear algebra operations on sparse GF2 matrices.

Metadata

Release files for udlr 0.0.5

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

Source distribution (sdist)

Source distribution for udlr 0.0.5
File Size Uploaded Provenance Actions
udlr-0.0.5.tar.gz 112.3 kB Without provenance Details for udlr-0.0.5.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for udlr 0.0.5
File Actions
udlr-0.0.5-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for udlr-0.0.5-cp311-cp311-win_amd64.whl
udlr-0.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details for udlr-0.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
udlr-0.0.5-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for udlr-0.0.5-cp311-cp311-macosx_11_0_arm64.whl
udlr-0.0.5-cp311-cp311-macosx_10_15_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.15+ x86-64 Details for udlr-0.0.5-cp311-cp311-macosx_10_15_x86_64.whl
udlr-0.0.5-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for udlr-0.0.5-cp310-cp310-win_amd64.whl
udlr-0.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details for udlr-0.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
udlr-0.0.5-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for udlr-0.0.5-cp310-cp310-macosx_11_0_arm64.whl
udlr-0.0.5-cp310-cp310-macosx_10_15_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.15+ x86-64 Details for udlr-0.0.5-cp310-cp310-macosx_10_15_x86_64.whl
udlr-0.0.5-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for udlr-0.0.5-cp39-cp39-win_amd64.whl
udlr-0.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details for udlr-0.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
udlr-0.0.5-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details for udlr-0.0.5-cp39-cp39-macosx_11_0_arm64.whl
udlr-0.0.5-cp39-cp39-macosx_10_15_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.15+ x86-64 Details for udlr-0.0.5-cp39-cp39-macosx_10_15_x86_64.whl
udlr-0.0.5-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details for udlr-0.0.5-cp38-cp38-win_amd64.whl
udlr-0.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details for udlr-0.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
udlr-0.0.5-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details for udlr-0.0.5-cp38-cp38-macosx_11_0_arm64.whl
udlr-0.0.5-cp38-cp38-macosx_10_15_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.15+ x86-64 Details for udlr-0.0.5-cp38-cp38-macosx_10_15_x86_64.whl

Total release size: 12.9 MB

Release files / udlr-0.0.5.tar.gz

Download URL udlr-0.0.5.tar.gz
Size 112.3 kB
Tags Source
SHA-256 checksum
How to use checksums
190880afc5a664a5825db81d9676e3f13634b60b0c2a3ce2101bc899aec4868a
BLAKE2b-256 checksum
How to use checksums
e3426933ce43dcef73af6f7321696ab6ea5d81a109be092c21a157e33d6e379c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / udlr-0.0.5-cp311-cp311-win_amd64.whl

Download URL udlr-0.0.5-cp311-cp311-win_amd64.whl
Size 168.2 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
c985c97261e2ee36a0849364720e70c12b6c23088294789d092a929962f3cc3e
BLAKE2b-256 checksum
How to use checksums
c036bec7ecbc5ecd745472d8f7fafde603baaebff8f9d21c47d241f82fe333d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / udlr-0.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL udlr-0.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 711.6 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
44274f6b138a56041c5cf5c9ee63f7f51cf59b06639884911ed0d2c3508d7725
BLAKE2b-256 checksum
How to use checksums
fa29aa9e10f6f7feef731aee7bc884d3ceb9b832ca88291c00914ef499b5442d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / udlr-0.0.5-cp311-cp311-macosx_11_0_arm64.whl

Download URL udlr-0.0.5-cp311-cp311-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
96f2f7b40b19bbc2068f9501e1af476c8a451212e3e10b1fb3b5ff9d8771de75
BLAKE2b-256 checksum
How to use checksums
ae5f743226ad75d4e460a9f2b92df1ee399dd07d9bfca95705dd2ce9771b0402
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / udlr-0.0.5-cp311-cp311-macosx_10_15_x86_64.whl

Download URL udlr-0.0.5-cp311-cp311-macosx_10_15_x86_64.whl
Size 1.2 MB
Tags CPython 3.11 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
b3a56d71c84f1b618a17e542ca7f1abe42b6cf4d7495dc230018ce22bff5a519
BLAKE2b-256 checksum
How to use checksums
84bb2a797c95d8e84af2714c537b90244fad8eef00aa9176c5f64ccc4cae5ce2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / udlr-0.0.5-cp310-cp310-win_amd64.whl

Download URL udlr-0.0.5-cp310-cp310-win_amd64.whl
Size 168.0 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
08bc6628d3bd222721c4507155048c463da8bdcb99c58e98a770519ffdb9a663
BLAKE2b-256 checksum
How to use checksums
ff50556780f63e5cf11b11aeacf012591593bbd5fb11c65db313e1ccfb031a25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / udlr-0.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL udlr-0.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 693.2 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d7c67c02a2821a73225e8cf8e12e29d65facbd7047da3701d4eff38ee1b8ac67
BLAKE2b-256 checksum
How to use checksums
d7320f08e1e405bdd0eb5aa56887220a31f77310cc93459464e320be438709c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / udlr-0.0.5-cp310-cp310-macosx_11_0_arm64.whl

Download URL udlr-0.0.5-cp310-cp310-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
99ad3dd9937c2efe0bd195082d4c636fcb3dbc3a74932caa4ce861fc33233828
BLAKE2b-256 checksum
How to use checksums
80d6ab353df1bb53bc2d4248807cf9c4e163239d31e5ddd143132bd182827bdf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / udlr-0.0.5-cp310-cp310-macosx_10_15_x86_64.whl

Download URL udlr-0.0.5-cp310-cp310-macosx_10_15_x86_64.whl
Size 1.2 MB
Tags CPython 3.10 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
0a4e87ac4b6e0f9caef114008dcd76986459b0900691e40f152d0430518303d4
BLAKE2b-256 checksum
How to use checksums
84e7b3dc42136a21e3d3b02a95e72d38998c8401a190c26bc7efd539c0f76aeb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / udlr-0.0.5-cp39-cp39-win_amd64.whl

Download URL udlr-0.0.5-cp39-cp39-win_amd64.whl
Size 168.7 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
2ae7298e9c03d3725c20da23f43d2c059d2c23dbdb7d5247ac778deb3a9a1345
BLAKE2b-256 checksum
How to use checksums
ab696b80b729836fbf1458fe9b6bff104e2100494272b9b9964a34ca1adb8807
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / udlr-0.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL udlr-0.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 696.2 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
9204850a3dc6d6ae9c711c28278fa36af2577cdcab88b44f638925e82d285f26
BLAKE2b-256 checksum
How to use checksums
719b391e2d30ef99dc2296fa8f8f4fcc6d0c0b9a80cd3f0d5d055d8913838e9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / udlr-0.0.5-cp39-cp39-macosx_11_0_arm64.whl

Download URL udlr-0.0.5-cp39-cp39-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
11f4935f90c63fbcc5f1554a4f1ef5b6cd0469b0250c056fef47b37a4e3dfdf6
BLAKE2b-256 checksum
How to use checksums
cd3124969f6641589d9ba0d936033a2bdb5e00380b07df732751de366f2bd35a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / udlr-0.0.5-cp39-cp39-macosx_10_15_x86_64.whl

Download URL udlr-0.0.5-cp39-cp39-macosx_10_15_x86_64.whl
Size 1.2 MB
Tags CPython 3.9 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
994786fd7516553a8ec2eb96700d505ce3c0cfc530c07f0ce00a694b39bf5699
BLAKE2b-256 checksum
How to use checksums
f2a4c7f31348e4f529557759725068a7caa8d3bae67ffb1d4f29aa37503a14ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / udlr-0.0.5-cp38-cp38-win_amd64.whl

Download URL udlr-0.0.5-cp38-cp38-win_amd64.whl
Size 168.8 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
2d6213bed3397ba058e54fc7018bbfbbcb2a4f403a8c8a70ad355db3fb74bf11
BLAKE2b-256 checksum
How to use checksums
1a190e573314fa1b0daf9552b1efa9dc72b87fd533f1e074d5ebe1bbd9b79176
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / udlr-0.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL udlr-0.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 704.8 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
3ef58600e81473bf62c23a2b1fabe165fefccc0e618b04fca358e892bf28b23b
BLAKE2b-256 checksum
How to use checksums
764923e201c07153dd724093323a9889a40718fc13096186c3d993d208a971a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / udlr-0.0.5-cp38-cp38-macosx_11_0_arm64.whl

Download URL udlr-0.0.5-cp38-cp38-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d4bc0d4cc1bfbea6f818c89bc23f4e805647cd343d89e1bdf9ddc226f34502a8
BLAKE2b-256 checksum
How to use checksums
bafdb872b5fe695dcfbb4b3d33ff787c1a898a32a61b16627c76ac82a74f763c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / udlr-0.0.5-cp38-cp38-macosx_10_15_x86_64.whl

Download URL udlr-0.0.5-cp38-cp38-macosx_10_15_x86_64.whl
Size 1.2 MB
Tags CPython 3.8 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
ea07a7cff51d4946d5278178f7450ec4d323550f8afc942d82d9577263103c0d
BLAKE2b-256 checksum
How to use checksums
625fd1aea9cdacace03c4d4cf7e753717007c3dac3a5dc666bf024086532490b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Security for udlr 0.0.5

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.

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