Skip to main content

A JAX library for solving block tri-diagonal matrix systems

Project description

blocktrix

A JAX library for efficiently solving block tri-diagonal matrix systems

Author: Philip Mocz (@pmocz)

Implements both a block Thomas (serial) solver and a block cyclic reduction B-cyclic (parallel) solver.

⚠️ Warning: Work in Progress

This library is still under active development and is not guaranteed to work at this point XXX.

Installation

pip install blocktrix

Usage

import jax
from blocktrix import solve_block_tridiagonal_bcyclic, random_block_tridiagonal

# Generate a random test system
key = jax.random.PRNGKey(42)
n_blocks, block_size = 8, 4

lower, diag, upper, rhs = random_block_tridiagonal(key, n_blocks, block_size)

# Solve the system
x = solve_block_tridiagonal_bcyclic(n_blocks, lower, diag, upper, rhs)

Quickstart

It's fast!

Timing comparison

Speedup

Links

Cite this repository

If you use this software, please cite it as below.

XXX

Project details


Download files

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

Source Distribution

blocktrix-0.0.2.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

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

blocktrix-0.0.2-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file blocktrix-0.0.2.tar.gz.

File metadata

  • Download URL: blocktrix-0.0.2.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for blocktrix-0.0.2.tar.gz
Algorithm Hash digest
SHA256 6523c3bf93a9a627a16500c603fe6d9d4e4945c74737ddb3cbd24ec1b7463939
MD5 f3a72e0fd573f12f86e06c7c71886244
BLAKE2b-256 d265bd42b94d9ded5b5a31ef4c6388eadf0ef7206326fb0b47618341f74f077e

See more details on using hashes here.

Provenance

The following attestation bundles were made for blocktrix-0.0.2.tar.gz:

Publisher: publish-package.yml on pmocz/blocktrix

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file blocktrix-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: blocktrix-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for blocktrix-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9614daf3131abd1b016fabb31307c5388b73cd424eece8507f447b7f006565ab
MD5 32c475928cec1b4c3f0ad759e7133140
BLAKE2b-256 e5067f7509b29bd39531387142f041fea7d99b71e10e2ebd64962e6f33adfa80

See more details on using hashes here.

Provenance

The following attestation bundles were made for blocktrix-0.0.2-py3-none-any.whl:

Publisher: publish-package.yml on pmocz/blocktrix

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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