Metadata-Version: 2.1
Name: hippylib
Version: 2.2.0
Summary: an Extensible Software Framework for Large-scale Deterministic and Bayesian Inverse Problems
Home-page: https://hippylib.github.io/
Author: Umberto Villa, Noemi Petra, Omar Ghattas
Author-email: uvilla@wustl.edu
License: UNKNOWN
Project-URL: Bug Reports, https://github.com/hippylib/hippylib/issues
Project-URL: Source, https://github.com/hippylib/hippylib
Description: [![Build Status](https://travis-ci.org/hippylib/hippylib.svg?branch=master)](https://travis-ci.org/hippylib/hippylib)
        [![Doc Status](https://readthedocs.org/projects/hippylib/badge/?version=latest&style=flat)](https://hippylib.readthedocs.io/en/latest/)
        [![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)
        
                          Inverse Problem PYthon library
        
        ```
         __        ______  _______   _______   __      __  __  __  __       
        /  |      /      |/       \ /       \ /  \    /  |/  |/  |/  |      
        $$ |____  $$$$$$/ $$$$$$$  |$$$$$$$  |$$  \  /$$/ $$ |$$/ $$ |____  
        $$      \   $$ |  $$ |__$$ |$$ |__$$ | $$  \/$$/  $$ |/  |$$      \ 
        $$$$$$$  |  $$ |  $$    $$/ $$    $$/   $$  $$/   $$ |$$ |$$$$$$$  |
        $$ |  $$ |  $$ |  $$$$$$$/  $$$$$$$/     $$$$/    $$ |$$ |$$ |  $$ |
        $$ |  $$ | _$$ |_ $$ |      $$ |          $$ |    $$ |$$ |$$ |__$$ |
        $$ |  $$ |/ $$   |$$ |      $$ |          $$ |    $$ |$$ |$$    $$/ 
        $$/   $$/ $$$$$$/ $$/       $$/           $$/     $$/ $$/ $$$$$$$/  
        ```                                                                    
                                                                            
        
                          https://hippylib.github.io
        
        `hIPPYlib` implements state-of-the-art scalable algorithms for
        deterministic and Bayesian inverse problems governed by partial differential equations (PDEs).
        It builds on [FEniCS](http://fenicsproject.org/)
        (a parallel finite element element library) for the discretization of the PDE
        and on [PETSc](http://www.mcs.anl.gov/petsc/) for scalable and efficient linear
        algebra operations and solvers.
        
        For building instructions, see the file `INSTALL.md`. Copyright information
        and licensing restrictions can be found in the file `COPYRIGHT`.
        
        The best starting point for new users interested in `hIPPYlib`'s
        features are the interactive tutorials in the `tutorial folder`.
        
        Conceptually, `hIPPYlib` can be viewed as a toolbox that provides the
        building blocks for experimenting new ideas and developing scalable
        algorithms for PDE-constrained deterministic and Bayesian inverse problems.
        
        In `hIPPYlib` the user can express the forward PDE and the likelihood in
        weak form using the friendly, compact, near-mathematical notation of
        `FEniCS`, which will then automatically generate efficient code for the
        discretization.  Linear and nonlinear, and stationary and
        time-dependent PDEs are supported in `hIPPYlib`.
        For stationary problems, gradient and Hessian information can be
        automatically generated by `hIPPYlib` using `FEniCS` symbolic differentiation
        of the relevant weak forms. For time-dependent problems, instead, symbolic
        differentiation can only be used for the spatial terms, and the contribution
        to gradients and Hessians arising from the time dynamics needs to be provided
        by the user.
        
        Noise and prior covariance operators are modeled as inverses of
        elliptic differential operators allowing us to build on existing fast
        multigrid solvers for elliptic operators without explicitly
        constructing the dense covariance operator.
        
        The key property of the algorithms underlying `hIPPYlib` is that solution
        of the deterministic and Bayesian inverse problem is computed
        at a cost, measured in forward PDE solves, that is independent of the
        parameter dimension.
        
        `hIPPYlib` provides a robust implementation of the inexact
        Newton-conjugate gradient algorithm to compute the maximum a posterior
        (MAP) point. The gradient and Hessian actions are
        computed via their weak form specification in `FEniCS` by
        constraining the state and adjoint variables to satisfy the forward
        and adjoint problem. The Newton system is solved inexactly by early
        termination of CG iterations via Eisenstat-Walker (to prevent
        oversolving) and Steihaug (to avoid negative curvature)
        criteria. Two globalization techniques are available to the user:
        Armijo back-tracking line search and trust region.
        
        In `hIPPYlib`, the posterior covariance is approximated by the
        inverse of the Hessian of the negative log posterior evaluated at
        the MAP point. This Gaussian approximation is exact when the
        parameter-to-observable map is linear; otherwise, its logarithm agrees
        to two derivatives with the log posterior at the MAP point, and thus it
        can serve as a proposal for Hessian-based Markov chain Monte Carlo (MCMC)
        methods. `hIPPYlib` makes the construction of the posterior covariance
        tractable by invoking a low-rank approximation of the Hessian of the
        log likelihood.
        
        `hIPPYlib` also offers scalable methods for sample generation.
        To sample large scale spatially correlated Gaussian random fields from the prior
        distribution, `hIPPYlib`  implements a new method that strongly relies on the
        structure of the covariance operator defined as the inverse of a differential operator:
        by exploiting the assembly procedure of finite element matrices `hIPPYlib` constructs a sparse Cholesky-like rectangular decomposition of the precision operator.
        To sample from a local Gaussian approximation to the posterior (such as at the MAP point)
        `hIPPYlib` exploits the low rank factorization of the Hessian of the
        log likelihood to correct samples from the prior distribution.
        Finally, to explore the posterior distribution, `hIPPYlib` implements
        dimension independent MCMC sampling methods enchanted by Hessian information.
        
        Finally, randomized and probing algorithms are available to compute
        the pointwise variance of the prior/posterior distribution and the trace
        of the covariance operator.
        
Keywords: Infinite-dimensional inverse problems,adjoint-based methods,numerical optimization,low-rank approximation,Bayesian inference,uncertainty quantification,sampling
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Python: >=2.6,!=3.0,!=3.1,!=3.2,!=3.3,!=3.4,!=3.5,<4
Description-Content-Type: text/markdown
Provides-Extra: Notebook
