fpcross


Namefpcross JSON
Version 0.5.5 PyPI version JSON
download
home_pagehttps://github.com/AndreiChertkov/fpcross
SummarySolver in the low-rank tensor-train format with cross approximation approach for solution of the multidimensional Fokker-Planck equation
upload_time2023-10-24 15:27:20
maintainer
docs_urlNone
authorAndrei Chertkov
requires_python>=3.8
licenseMIT
keywords fokker-planck equation low-rank representation tensor train format tt-decomposition cross approximation probability density estimation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # fpcross


## Description

This python package, named **fpcross** (**F**okker **P**lanck **cross**-approximation), provides a solver in the low-rank tensor train format with cross approximation approach for solution of the multidimensional Fokker-Planck equation (FPE) of the form

```
d r(x, t) / d t = D delta( r(x, t) ) - div( f(x, t) r(x, t) ),
where r(x, 0) = r0(x).
```

The function f(x, t), its diagonal partial derivatives d f_i (x, t) / d x_i, initial condition r0(x) and scalar diffusion coefficient D should be known. The equation is solved from the initial moment (t = 0) to the user-specified moment (t), while the solutions obtained at each time step can be used if necessary. The resulting solution r(x, t) represents both the TT-tensor on the multidimensional Chebyshev grid and the Chebyshev interpolation coefficients in the TT-format, and therefore it can be quickly calculated at an arbitrary spatial point.


## Installation

The package can be installed via pip: `pip install fpcross` (it requires the [Python](https://www.python.org) programming language of the version >= 3.8). It can be also downloaded from the repository [fpcross](https://github.com/AndreiChertkov/fpcross) and installed by `python setup.py install` command from the root folder of the project.


## Usage

A compact example of using the solver for a user-defined FPE is provided in the script `demo/demo.py` (run it as `python demo/demo.py` from the root of the project).

The software product also implements classes for the model FPEs:
1. multidimensional simple diffusion problem (see `fpcross/equation_demo/equation_dif.py`);
2. multidimensional Ornstein-Uhlenbeck process (see `fpcross/equation_demo/equation_oup.py`);
3. 3-dimensional dumbbell model (see `fpcross/equation_demo/equation_dum.py`).

A demonstration of their solution is given in the script `demo/check.py` (run it as `python demo/check.py` from the root of the project).


## Authors

- [Andrei Chertkov](https://github.com/AndreiChertkov)
- [Ivan Oseledets](https://github.com/oseledets)

> ✭__🚂  The stars that you give to **fpcross**, motivate us to develop faster and add new interesting features to the code 😃


## Citation

If you find this approach and/or code useful in your research, please consider citing:

```bibtex
@article{chertkov2021solution,
    author    = {Chertkov, Andrei and Oseledets, Ivan},
    year      = {2021},
    title     = {Solution of the Fokker--Planck equation by cross approximation method in the tensor train format},
    journal   = {Frontiers in Artificial Intelligence},
    volume    = {4},
    issn      = {2624-8212},
    doi       = {10.3389/frai.2021.668215},
    url       = {https://www.frontiersin.org/article/10.3389/frai.2021.668215}
}
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/AndreiChertkov/fpcross",
    "name": "fpcross",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "Fokker-Planck equation low-rank representation tensor train format TT-decomposition cross approximation probability density estimation",
    "author": "Andrei Chertkov",
    "author_email": "andre.chertkov@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/c2/04/46d4a2e859ffca32f5640cba578575f116c2f72626a09fb0f0f0a6a2d8a3/fpcross-0.5.5.tar.gz",
    "platform": null,
    "description": "# fpcross\n\n\n## Description\n\nThis python package, named **fpcross** (**F**okker **P**lanck **cross**-approximation), provides a solver in the low-rank tensor train format with cross approximation approach for solution of the multidimensional Fokker-Planck equation (FPE) of the form\n\n```\nd r(x, t) / d t = D delta( r(x, t) ) - div( f(x, t) r(x, t) ),\nwhere r(x, 0) = r0(x).\n```\n\nThe function f(x, t), its diagonal partial derivatives d f_i (x, t) / d x_i, initial condition r0(x) and scalar diffusion coefficient D should be known. The equation is solved from the initial moment (t = 0) to the user-specified moment (t), while the solutions obtained at each time step can be used if necessary. The resulting solution r(x, t) represents both the TT-tensor on the multidimensional Chebyshev grid and the Chebyshev interpolation coefficients in the TT-format, and therefore it can be quickly calculated at an arbitrary spatial point.\n\n\n## Installation\n\nThe package can be installed via pip: `pip install fpcross` (it requires the [Python](https://www.python.org) programming language of the version >= 3.8). It can be also downloaded from the repository [fpcross](https://github.com/AndreiChertkov/fpcross) and installed by `python setup.py install` command from the root folder of the project.\n\n\n## Usage\n\nA compact example of using the solver for a user-defined FPE is provided in the script `demo/demo.py` (run it as `python demo/demo.py` from the root of the project).\n\nThe software product also implements classes for the model FPEs:\n1. multidimensional simple diffusion problem (see `fpcross/equation_demo/equation_dif.py`);\n2. multidimensional Ornstein-Uhlenbeck process (see `fpcross/equation_demo/equation_oup.py`);\n3. 3-dimensional dumbbell model (see `fpcross/equation_demo/equation_dum.py`).\n\nA demonstration of their solution is given in the script `demo/check.py` (run it as `python demo/check.py` from the root of the project).\n\n\n## Authors\n\n- [Andrei Chertkov](https://github.com/AndreiChertkov)\n- [Ivan Oseledets](https://github.com/oseledets)\n\n> \u272d__\ud83d\ude82  The stars that you give to **fpcross**, motivate us to develop faster and add new interesting features to the code \ud83d\ude03\n\n\n## Citation\n\nIf you find this approach and/or code useful in your research, please consider citing:\n\n```bibtex\n@article{chertkov2021solution,\n    author    = {Chertkov, Andrei and Oseledets, Ivan},\n    year      = {2021},\n    title     = {Solution of the Fokker--Planck equation by cross approximation method in the tensor train format},\n    journal   = {Frontiers in Artificial Intelligence},\n    volume    = {4},\n    issn      = {2624-8212},\n    doi       = {10.3389/frai.2021.668215},\n    url       = {https://www.frontiersin.org/article/10.3389/frai.2021.668215}\n}\n```\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Solver in the low-rank tensor-train format with cross approximation approach for solution of the multidimensional Fokker-Planck equation",
    "version": "0.5.5",
    "project_urls": {
        "Homepage": "https://github.com/AndreiChertkov/fpcross",
        "Source": "https://github.com/AndreiChertkov/fpcross"
    },
    "split_keywords": [
        "fokker-planck",
        "equation",
        "low-rank",
        "representation",
        "tensor",
        "train",
        "format",
        "tt-decomposition",
        "cross",
        "approximation",
        "probability",
        "density",
        "estimation"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d2a41fe09d924ac573013d9f237a0f492bf4bf62ff6662119f79d389d055b8e3",
                "md5": "9dab0ad3a31c6797044a4fce2d0ac7a5",
                "sha256": "9858d2c9a2c91e7229c7c20d51b859ed4d08fc875f99195a4c229bd60ede757f"
            },
            "downloads": -1,
            "filename": "fpcross-0.5.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9dab0ad3a31c6797044a4fce2d0ac7a5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 14040,
            "upload_time": "2023-10-24T15:27:17",
            "upload_time_iso_8601": "2023-10-24T15:27:17.762532Z",
            "url": "https://files.pythonhosted.org/packages/d2/a4/1fe09d924ac573013d9f237a0f492bf4bf62ff6662119f79d389d055b8e3/fpcross-0.5.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c20446d4a2e859ffca32f5640cba578575f116c2f72626a09fb0f0f0a6a2d8a3",
                "md5": "a139fc73b999fdd8dd8a0d2b3efef830",
                "sha256": "bc47d8bb448e79a3de5f70fab09a11871ca59833e47579ee556b0d898d8ef12a"
            },
            "downloads": -1,
            "filename": "fpcross-0.5.5.tar.gz",
            "has_sig": false,
            "md5_digest": "a139fc73b999fdd8dd8a0d2b3efef830",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 356175,
            "upload_time": "2023-10-24T15:27:20",
            "upload_time_iso_8601": "2023-10-24T15:27:20.548938Z",
            "url": "https://files.pythonhosted.org/packages/c2/04/46d4a2e859ffca32f5640cba578575f116c2f72626a09fb0f0f0a6a2d8a3/fpcross-0.5.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-24 15:27:20",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "AndreiChertkov",
    "github_project": "fpcross",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "fpcross"
}
        
Elapsed time: 0.15886s