Skip to main content

HIFIR Python3 Interface

Project description

https://github.com/hifirworks/hifir4py/actions/workflows/python-app.yml/badge.svg?branch=main https://img.shields.io/pypi/v/hifir4py.svg?branch=main https://img.shields.io/pypi/pyversions/hifir4py.svg?style=flat-square https://img.shields.io/badge/code%20style-black-000000.svg

Welcome to the Python3 interface of HIFIR package— hifir4py. The Python interface is implemented with Cython.

Detailed documentation of hifir4py can be found at https://hifirworks.github.io/hifir4py.

Installation

One can simply use pip to install hifir4py, i.e.,

pip3 install hifir4py --user

Installation from Source

It is also possible to install from the source. First, down load the most recent stable release

git clone -b release https://github.com/hifirworks/hifir4py.git

You can update to the most recent version via git pull since git clone or last git pull. In addition, you can download the archives at https://github.com/hifirworks/hifir4py/releases.

You need to configure linking against LAPACK by setting the environment variable HIFIR_LAPACK_LIB whose default is -llapack. If you have a specific library path to LAPACK, you then need to set the environment variable HIFIR_LAPACK_LIB_PATH.

To sum up, the following environment variables can be configured

  1. HIFIR_LAPACK_LIB, default is -llapack

  2. HIFIR_LAPACK_LIB_PATH, default is empty

pip3 install . --user

Installation with customized LAPACK/BLAS

Sometimes, it’s helpful to have optimized LAPACK package. The following command shows how to link MKL (on Ubuntu).

HIFIR_LAPACK_LIB="-lmkl_intel_lp64 -lmkl_sequential -lmkl_core" HIFIR_LAPACK_LIB_PATH=/opt/intel/mkl/lib/intel64 pip3 install . --user

Copyrights & Licenses

hifir4py is developed and maintained by the NumGeom Research Group at Stony Brook University.

This software suite is released under a dual-license model. For academic users, individual users, or open-source software developers, you can use HIFIR under the AGPLv3+ license free of charge for research and evaluation purpose. For commercial users, separate commercial licenses are available through the Stony Brook University. For inqueries regarding commercial licenses, please contact Prof. Xiangmin Jiao at xiangmin.jiao@stonybrook.edu.

How to Cite hifir4py

If you use HIFIR (including hifir4py) in your research for nonsingular systems, please cite the following paper.

@article{chen2021hilucsi,
    author  = {Chen, Qiao and Ghai, Aditi and Jiao, Xiangmin},
    title   = {{HILUCSI}: Simple, robust, and fast multilevel {ILU} for
               large-scale saddle-point problems from {PDE}s},
    journal = {Numer. Linear Algebra Appl.},
    year    = {2021},
    doi     = {10.1002/nla.2400}
}

If you use our work in solving ill-conditioned and singular systems, we recommend you to cite the following papers.

@article{jiao2020approximate,
    author  = {Xiangmin Jiao and Qiao Chen},
    journal = {arxiv},
    title   = {Approximate generalized inverses with iterative refinement
              for $\epsilon$-accurate preconditioning of singular systems},
    year    = {2020},
    note    = {arXiv:2009.01673}
}

@article{chen2021hifir,
    author  = {Chen, Qiao and Jiao, Xiangmin},
    title   = {{HIFIR}: Hybrid incomplete factorization with iterative
               refinement for preconditioning ill-conditioned and singular
               Systems},
    journal = {arxiv},
    year    = {2021},
    note    = {arXiv:2106.09877}
}

Contacts

  1. Qiao (Chiao) Chen, <qiao.chen@stonybrook.edu>, <benechiao@gmail.com>

  2. Xiangmin Jiao, <xiangmin.jiao@stonybrook.edu>

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

hifir4py-0.1.0.tar.gz (549.9 kB view details)

Uploaded Source

Built Distributions

hifir4py-0.1.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (28.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

hifir4py-0.1.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (28.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

hifir4py-0.1.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (27.8 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

hifir4py-0.1.0-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (27.8 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

File details

Details for the file hifir4py-0.1.0.tar.gz.

File metadata

  • Download URL: hifir4py-0.1.0.tar.gz
  • Upload date:
  • Size: 549.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.4.2 requests/2.26.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.9

File hashes

Hashes for hifir4py-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6b4cd1f657a8180c34887a6b230a30773d17ac42f1e3ed194338b80228033b3d
MD5 42a2aa70fd4c5af74492baf72c4e1822
BLAKE2b-256 56eeab858fc7f3a14c68d47346c6449a0f3d082883868f4753a7fef17c06d4e1

See more details on using hashes here.

File details

Details for the file hifir4py-0.1.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for hifir4py-0.1.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 d5c5f62e8bc0bca21d4daadfc18bd4f124f7af06b8ba963719d1f714cd61b636
MD5 e8398aa5ddd62d9f1bacc8843bed7ee7
BLAKE2b-256 5cc1e183012d7f824d80e7d200848dc12158350dfbdf8f36c305c43f5557ae9f

See more details on using hashes here.

File details

Details for the file hifir4py-0.1.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for hifir4py-0.1.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 7ba48a2fdd26ae8f9ba0d4a7e16645880545d618f92cf096dbd7bd7c6564b81a
MD5 b9b81d9e183010910f5a9a536f7fb31c
BLAKE2b-256 f3c183dae8d22e5ac847f63858f0aca64509eff540d58ea188d37906f80d50dc

See more details on using hashes here.

File details

Details for the file hifir4py-0.1.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for hifir4py-0.1.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a54a26653e1800375fa3c5aa9dfd4b649a4dcd8801947a844c9dc20f0e21265d
MD5 3ee3256616afd85a7f2112c06e1c7e17
BLAKE2b-256 c40c8a1383934d61c3e9f46c93bafbb918786e3e365ac16d588d796f3178d36f

See more details on using hashes here.

File details

Details for the file hifir4py-0.1.0-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for hifir4py-0.1.0-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 103a0e32b284ace2482579f81fa138d4d3c5538b46302c69c329ce320b37c9c6
MD5 93bb1e3f40905a77349ef2784a8d0757
BLAKE2b-256 b9f98dcf9d390a5ff7acd01c197e1a64dd3fdb88ebfa4964db2af947a0735286

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page