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.3.dev0-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (54.9 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file mixsqpx-0.1.3.dev0-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mixsqpx-0.1.3.dev0-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e1680d81f90948b2fdd24e252436c5934ad780d094d68be0c66f899165161b9d
MD5 77bfe77d65b910e83df1165d637b803c
BLAKE2b-256 c2eed3465a0539e0192d5277efb2670c52bad788d418b617f60b6ea132c73c02

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