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.1.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.1-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: blocktrix-0.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 2cdb50d9f6baca6d8af6b988d102a8e322f9a34d37ff259635c88619e35bf8fb
MD5 34d9d52f151c1efc0189f1d3f55009a8
BLAKE2b-256 e586182b4062bb84a8eac73a298fa9ea4729ce9e0599e3d7ebd42f3e43ccde2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for blocktrix-0.0.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: blocktrix-0.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e53c174b9bb6392894645fcf772e183fd782d951a356d40d159f6b6246858519
MD5 76197bf71fed7bebd85fbff5c9daa8d5
BLAKE2b-256 3753f4a29afcb0a6a6e40cc67983454c2acba772120ee4629546238ef85870fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for blocktrix-0.0.1-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