Skip to main content

jax inteface to a C++ implementation of the mixsqp algorithm

Project description

MIXSQPX: A Jax-compatible interface to the mixSQP algorithm

This package provides a jax-compatible interface to the mixSQP algorithm described in,

Kim, Y., Carbonetto, P., Stephens, M., & Anitescu, M. (2020). A Fast Algorithm for Maximum Likelihood Estimation of Mixture Proportions Using Sequential Quadratic Programming. Journal of Computational and Graphical Statistics, 29(2), 261–273.

The implementation of the mixSQP algorithm in this package was ported from the R implementation by the authors of this paper which uses the Rarmadillo package as an interface to the Armadillo C++ library.

This package (misxqpx) provides a function mixsolve, which can can be transformed with Jax transformations such as jit.

Installation

We use the Pixi package manager to handle installation and dependencies.

Linux Installation

# Install pixi if you don't have it already
curl -fsSL https://pixi.sh/install.sh | bash

# Clone the repository
git clone https://github.com/pdiegert/mixsqpx.git
cd mixsqpx

# Install dependencies and build the package
pixi install

Windows Installation

# Install pixi if you don't have it already
iwr -useb https://pixi.sh/install.ps1 | iex

# Clone the repository
git clone https://github.com/pdiegert/mixsqpx.git
cd mixsqpx

# Install dependencies and build the package
pixi install

Verification

Run the test suite to verify your installation:

pixi run test

License

This project is licensed under the MIT License - see the LICENCE file for details.

Acknowledgements

This project includes code adapted from the mixSQP project, which is available under the MIT license. We thank the original authors (Youngseok Kim, Peter Carbonetto, Matthew Stephens and Mihai Anitescu) for their work.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

mixsqpx-0.1.2-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (54.9 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.17+ x86-64

File details

Details for the file mixsqpx-0.1.2-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mixsqpx-0.1.2-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 52f68819310ded9c54ac12e0ece801a320446b89d13872ea0513224d79e7efff
MD5 cd2946ee9bd56bfb0893efb3b3605128
BLAKE2b-256 c1debda9b5d5827ae52fcbabce3b0d52c34d12d0901e582af350ba70a39c46d0

See more details on using hashes here.

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