Metadata-Version: 1.1
Name: block-diag-ilu
Version: 0.2.2
Summary: block_diag_ilu is a C++ implementation of an incomplete LU factorization.
Home-page: https://github.com/bjodah/block_diag_ilu
Author: Björn Dahlgren
Author-email: bjodah@DELETEMEgmail.com
License: BSD
Description: block_diag_ilu
        ==============
        
        .. image:: http://hera.physchem.kth.se:9090/api/badges/chemreac/block_diag_ilu/status.svg
           :target: http://hera.physchem.kth.se:9090/chemreac/block_diag_ilu
           :alt: Build status
        
        
        ``block_diag_ilu`` is an open source `C++ single header-file implementeation
        <https://github.com/chemreac/block_diag_ilu/tree/master/include>`_ of an
        incomplete LU decomposition routine suitable for diagonally dominant (square) block diagonal
        matrices with sub- and super diagonals of small magnitude. It is useful for
        preconditioning linear systems. The usecase in mind is for integrating discretized PDEs of mixed
        chemical kinetics / diffusion problems where the diffusion process may be accurately
        considered a mild perturbation.
        
        A picture is woth a thousant words, so if your matrix looks anything like this:
        
        .. image:: https://raw.githubusercontent.com/bjodah/block_diag_ilu/master/scripts/matrix.png
           :scale: 50%
           :alt: Diagnoally dominant block diagonal matrix with sub- and super-diagnoals
           
        its LU decomposition then looks like this:
        
        .. image:: https://raw.githubusercontent.com/bjodah/block_diag_ilu/master/scripts/lu.png
           :scale: 50%
           :alt: LU decomposition of same matrix
        
        then ``block_diag_ilu`` should be able to save quite a bit of time when
        solving linear systems approximately, *e.g.* for preconditioning.
        
        Conditional compilation
        -----------------------
        The following macros affect the compilation:
        
        +--------------------------+-----------------------------------------------+---------------+
        |Macro name                |Action (when defined)                          |Default        |
        +==========================+===============================================+===============+
        |NDEBUG                    |use ``std::unique_ptr`` instead of             |undefined      |
        |                          |``std::vector`` as underlying data structure.  |               |
        +--------------------------+-----------------------------------------------+---------------+
        |WITH_BLOCK_DIAG_ILU_DGETRF|Use unblocked (parallell) internal             |undefined      |
        |                          |implementation of LAPACK's ``dgetrf`` (uses    |               |
        |                          |OpenMP)                                        |               |
        +--------------------------+-----------------------------------------------+---------------+
        
        
        License
        -------
        The source code is Open Source and is released under the very permissive
        "simplified (2-clause) BSD license". See ``LICENSE.txt`` for further details.
        
        Contributors are welcome to suggest improvements at https://github.com/chemreac/block_diag_ilu
        
        Author
        ------
        Björn Dahlgren, contact:
         - gmail adress: bjodah
         - kth.se adress: bda
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Mathematics
