Metadata-Version: 2.4
Name: spmat
Version: 0.1.2
Summary: spmat: A collection of tools for special matrices
Author-email: IHME Math Sciences <ihme.math.sciences@gmail.com>
License-Expression: BSD-2-Clause
Project-URL: Homepage, https://github.com/ihmeuw-msca/spmat
Project-URL: Repository, https://github.com/ihmeuw-msca/spmat
Project-URL: Documentation, https://github.com/ihmeuw-msca/spmat
Keywords: matrices,linear-algebra,sparse-matrices
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Mathematics
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: scipy
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Dynamic: license-file

# Special Matrices (spmat)

[![PyPI](https://img.shields.io/pypi/v/spmat?color=purple)](https://pypi.org/project/spmat/)
![Python](https://img.shields.io/badge/python-3.12,_3.13,_3.14-purple.svg)
[![Build](https://img.shields.io/github/actions/workflow/status/ihmeuw-msca/spmat/build.yml?branch=main&label=Build&color=purple)](https://github.com/ihmeuw-msca/spmat/actions)
[![PyPI Downloads](https://static.pepy.tech/personalized-badge/spmat?period=total&units=INTERNATIONAL_SYSTEM&left_color=BLACK&right_color=MAGENTA&left_text=Downloads)](https://pepy.tech/projects/spmat)

A collection of tools for special matrices with optimized implementations for scientific computing.

## Features

Currently includes:

- **`ILMat`**: Identity plus positive semi-definite (PSD) low-rank matrix
- **`DLMat`**: Diagonal plus positive semi-definite (PSD) low-rank matrix  
- **`BDLMat`**: Block diagonal plus low-rank matrix

## Installation

### From PyPI (Recommended)

```bash
pip install spmat
```

### From Source

Clone the repository and install:

```bash
git clone https://github.com/ihmeuw-msca/spmat.git
cd spmat
pip install -e .
```

## Requirements

- Python >= 3.12
- NumPy
- SciPy

## Development

To set up the development environment:

```bash
git clone https://github.com/ihmeuw-msca/spmat.git
cd spmat
pip install -e ".[dev]"
```

Run tests:

```bash
pytest
```

## License

This project is licensed under the BSD-2-Clause License - see the [LICENSE](LICENSE) file for details.
