{ "info": { "author": "Umberto Villa, Noemi Petra, Omar Ghattas", "author_email": "uvilla@wustl.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering" ], "description": "[![Build Status](https://travis-ci.org/hippylib/hippylib.svg?branch=master)](https://travis-ci.org/hippylib/hippylib)\n[![Doc Status](https://readthedocs.org/projects/hippylib/badge/?version=latest&style=flat)](https://hippylib.readthedocs.io/en/latest/)\n[![status](http://joss.theoj.org/papers/053e0d08a5e9755e7b78898cff6f6208/status.svg)](http://joss.theoj.org/papers/053e0d08a5e9755e7b78898cff6f6208) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.596931.svg)](https://doi.org/10.5281/zenodo.596931)\n\n Inverse Problem PYthon library\n\n```\n __ ______ _______ _______ __ __ __ __ __ \n/ | / |/ \\ / \\ / \\ / |/ |/ |/ | \n$$ |____ $$$$$$/ $$$$$$$ |$$$$$$$ |$$ \\ /$$/ $$ |$$/ $$ |____ \n$$ \\ $$ | $$ |__$$ |$$ |__$$ | $$ \\/$$/ $$ |/ |$$ \\ \n$$$$$$$ | $$ | $$ $$/ $$ $$/ $$ $$/ $$ |$$ |$$$$$$$ |\n$$ | $$ | $$ | $$$$$$$/ $$$$$$$/ $$$$/ $$ |$$ |$$ | $$ |\n$$ | $$ | _$$ |_ $$ | $$ | $$ | $$ |$$ |$$ |__$$ |\n$$ | $$ |/ $$ |$$ | $$ | $$ | $$ |$$ |$$ $$/ \n$$/ $$/ $$$$$$/ $$/ $$/ $$/ $$/ $$/ $$$$$$$/ \n``` \n\n\n https://hippylib.github.io\n\n`hIPPYlib` implements state-of-the-art scalable algorithms for\ndeterministic and Bayesian inverse problems governed by partial differential equations (PDEs).\nIt builds on [FEniCS](http://fenicsproject.org/)\n(a parallel finite element element library) for the discretization of the PDE\nand on [PETSc](http://www.mcs.anl.gov/petsc/) for scalable and efficient linear\nalgebra operations and solvers.\n\nFor building instructions, see the file `INSTALL.md`. Copyright information\nand licensing restrictions can be found in the file `COPYRIGHT`.\n\nThe best starting point for new users interested in `hIPPYlib`'s\nfeatures are the interactive tutorials in the `tutorial folder`.\n\nConceptually, `hIPPYlib` can be viewed as a toolbox that provides the\nbuilding blocks for experimenting new ideas and developing scalable\nalgorithms for PDE-constrained deterministic and Bayesian inverse problems.\n\nIn `hIPPYlib` the user can express the forward PDE and the likelihood in\nweak form using the friendly, compact, near-mathematical notation of\n`FEniCS`, which will then automatically generate efficient code for the\ndiscretization. Linear and nonlinear, and stationary and\ntime-dependent PDEs are supported in `hIPPYlib`.\nFor stationary problems, gradient and Hessian information can be\nautomatically generated by `hIPPYlib` using `FEniCS` symbolic differentiation\nof the relevant weak forms. For time-dependent problems, instead, symbolic\ndifferentiation can only be used for the spatial terms, and the contribution\nto gradients and Hessians arising from the time dynamics needs to be provided\nby the user.\n\nNoise and prior covariance operators are modeled as inverses of\nelliptic differential operators allowing us to build on existing fast\nmultigrid solvers for elliptic operators without explicitly\nconstructing the dense covariance operator.\n\nThe key property of the algorithms underlying `hIPPYlib` is that solution\nof the deterministic and Bayesian inverse problem is computed\nat a cost, measured in forward PDE solves, that is independent of the\nparameter dimension.\n\n`hIPPYlib` provides a robust implementation of the inexact\nNewton-conjugate gradient algorithm to compute the maximum a posterior\n(MAP) point. The gradient and Hessian actions are\ncomputed via their weak form specification in `FEniCS` by\nconstraining the state and adjoint variables to satisfy the forward\nand adjoint problem. The Newton system is solved inexactly by early\ntermination of CG iterations via Eisenstat-Walker (to prevent\noversolving) and Steihaug (to avoid negative curvature)\ncriteria. Two globalization techniques are available to the user:\nArmijo back-tracking line search and trust region.\n\nIn `hIPPYlib`, the posterior covariance is approximated by the\ninverse of the Hessian of the negative log posterior evaluated at\nthe MAP point. This Gaussian approximation is exact when the\nparameter-to-observable map is linear; otherwise, its logarithm agrees\nto two derivatives with the log posterior at the MAP point, and thus it\ncan serve as a proposal for Hessian-based Markov chain Monte Carlo (MCMC)\nmethods. `hIPPYlib` makes the construction of the posterior covariance\ntractable by invoking a low-rank approximation of the Hessian of the\nlog likelihood.\n\n`hIPPYlib` also offers scalable methods for sample generation.\nTo sample large scale spatially correlated Gaussian random fields from the prior\ndistribution, `hIPPYlib` implements a new method that strongly relies on the\nstructure of the covariance operator defined as the inverse of a differential operator:\nby exploiting the assembly procedure of finite element matrices `hIPPYlib` constructs a sparse Cholesky-like rectangular decomposition of the precision operator.\nTo sample from a local Gaussian approximation to the posterior (such as at the MAP point)\n`hIPPYlib` exploits the low rank factorization of the Hessian of the\nlog likelihood to correct samples from the prior distribution.\nFinally, to explore the posterior distribution, `hIPPYlib` implements\ndimension independent MCMC sampling methods enchanted by Hessian information.\n\nFinally, randomized and probing algorithms are available to compute\nthe pointwise variance of the prior/posterior distribution and the trace\nof the covariance operator.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://hippylib.github.io/", "keywords": "Infinite-dimensional inverse problems,adjoint-based methods,numerical optimization,low-rank approximation,Bayesian inference,uncertainty quantification,sampling", "license": "", "maintainer": "", "maintainer_email": "", "name": "hippylib", "package_url": "https://pypi.org/project/hippylib/", "platform": "", "project_url": "https://pypi.org/project/hippylib/", "project_urls": { "Bug Reports": "https://github.com/hippylib/hippylib/issues", "Homepage": "https://hippylib.github.io/", "Source": "https://github.com/hippylib/hippylib" }, "release_url": "https://pypi.org/project/hippylib/2.2.0/", "requires_dist": [ "mpi4py", "numpy", "matplotlib", "scipy", "jupyter ; extra == 'notebook'" ], "requires_python": ">=2.6,!=3.0,!=3.1,!=3.2,!=3.3,!=3.4,!=3.5,<4", "summary": "an Extensible Software Framework for Large-scale Deterministic and Bayesian Inverse Problems", "version": "2.2.0" }, "last_serial": 4613026, "releases": { "2.2.0": [ { "comment_text": "", "digests": { "md5": "a70581f9970004872200e6964ffb5c4b", "sha256": "00fb4f9ade2530e3417f7e26959f9f6793122e63d29cb02afd34f0e8c5e1c007" }, "downloads": -1, "filename": "hippylib-2.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a70581f9970004872200e6964ffb5c4b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.6,!=3.0,!=3.1,!=3.2,!=3.3,!=3.4,!=3.5,<4", "size": 88304, "upload_time": "2018-12-18T16:00:43", "url": "https://files.pythonhosted.org/packages/ab/d3/bc314d6439e9e28423edc9d0fd5e14e8b0bb71746a3219645e47c7d38e72/hippylib-2.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9bea75c2bd678ec49337916b6957a32a", "sha256": "d2cdfddee285439613d633c03289facb0eb540a99da356cbaa4b34a4e4f7ddee" }, "downloads": -1, "filename": "hippylib-2.2.0.tar.gz", "has_sig": false, "md5_digest": "9bea75c2bd678ec49337916b6957a32a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.6,!=3.0,!=3.1,!=3.2,!=3.3,!=3.4,!=3.5,<4", "size": 53452, "upload_time": "2018-12-18T16:00:45", "url": "https://files.pythonhosted.org/packages/ed/c8/fdbb7025346071028ef35c094ec696e0e6848034b7922e876ba8af3adb8d/hippylib-2.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a70581f9970004872200e6964ffb5c4b", "sha256": "00fb4f9ade2530e3417f7e26959f9f6793122e63d29cb02afd34f0e8c5e1c007" }, "downloads": -1, "filename": "hippylib-2.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a70581f9970004872200e6964ffb5c4b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.6,!=3.0,!=3.1,!=3.2,!=3.3,!=3.4,!=3.5,<4", "size": 88304, "upload_time": "2018-12-18T16:00:43", "url": "https://files.pythonhosted.org/packages/ab/d3/bc314d6439e9e28423edc9d0fd5e14e8b0bb71746a3219645e47c7d38e72/hippylib-2.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9bea75c2bd678ec49337916b6957a32a", "sha256": "d2cdfddee285439613d633c03289facb0eb540a99da356cbaa4b34a4e4f7ddee" }, "downloads": -1, "filename": "hippylib-2.2.0.tar.gz", "has_sig": false, "md5_digest": "9bea75c2bd678ec49337916b6957a32a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.6,!=3.0,!=3.1,!=3.2,!=3.3,!=3.4,!=3.5,<4", "size": 53452, "upload_time": "2018-12-18T16:00:45", "url": "https://files.pythonhosted.org/packages/ed/c8/fdbb7025346071028ef35c094ec696e0e6848034b7922e876ba8af3adb8d/hippylib-2.2.0.tar.gz" } ] }