# Start with HeatGeo
<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->
The Heat-Geodesic embedding preserves the heat-geodesic dissimilarity
defined as
```math
d_t(x_i,x_j) = \bigg[ -4t \log (\mathbf{H}_t)_{ij} - \sigma 4 t \log(\mathbf{V})_{ij} \bigg] ^{1/2},
```
where $\mathbf{H}_t$ is a heat kernel on a graph, and $\mathbf{V}$ is
a volume regularization term. This dissimilarity is inspired by
Varadhan’s formula which relates the heat kernel to the geodesic
distance on a manifold. For more details on the heat-geodesic
dissimilarity read our preprint [A Heat Diffusion Perspective on
Geodesic Preserving Dimensionality
Reduction](https://arxiv.org/abs/2305.19043).
<div>
> **Note**
>
> We are currently updating this repository to provide examples and
> improve the documentation.
</div>
## Install
The package is not yet available with pip or conda. To install it, you
can clone this repo and install from `setup.py`.
``` sh
git clone https://github.com/KrishnaswamyLab/HeatGeo.git
cd HeatGeo
pip install -e .
```
To reproduce the results in `experiments/` or try the embeddings with
different graph constructions, you need additional packages that can be
installed via the development version. In this case run
``` sh
cd HeatGeo
pip install -e '.[dev]'
```
We provide an example below.
## How to use
Google colab example on the swiss roll [](https://colab.research.google.com/drive/1SkxGfWz8KLQpcea9MsdP7QEoe-yh5Iai?usp=sharing)
The directory `experiments` contains code to reproduce our main results.
We used `hydra`, the parameters can be changed in `config` or directly
in the CLI. In `notebooks`, we provide examples on toy datasets.
## Contributing
We are using `nbdev` for this package and the documentation. See this
[introduction](https://nbdev.fast.ai/tutorials/tutorial.html) to start
using `nbdev`. The code and documentation should be modified in the
notebooks `nbs/`, then run `nbdev_prepare` before a commit. This command
will export the notebooks to `.py` files in `heatgeo`, it will also
clean the metadata, and run some test. The page will then automatically
be deployed through GitHub actions.
## Acknowledgements
This repository is a simplified version of a larger codebase used for
development. It loses the original commit history which contains
contributions from other authors of the paper. This repository uses or
modify code from the PHATE
[implementation](https://github.com/KrishnaswamyLab/PHATE), and the
Chebychev polynomials
[implementation](https://github.com/sibyllema/Fast-Multiscale-Diffusion-on-Graphs)
of the paper [Fast Multiscale Diffusion on
Graphs](https://arxiv.org/abs/2104.14652).
Raw data
{
"_id": null,
"home_page": "https://github.com/KrishnaswamyLab/heatgeo",
"name": "heatgeo",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "nbdev jupyter notebook python",
"author": "guillaumehu",
"author_email": "guillaumehuguet2@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/1f/86/b9d77f604dcd3bcd139751a3467c3069cb9cde3fe669b2b84e1a56befb65/heatgeo-0.0.1.tar.gz",
"platform": null,
"description": "# Start with HeatGeo\n\n<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->\n\nThe Heat-Geodesic embedding preserves the heat-geodesic dissimilarity\ndefined as\n```math\nd_t(x_i,x_j) = \\bigg[ -4t \\log (\\mathbf{H}_t)_{ij} - \\sigma 4 t \\log(\\mathbf{V})_{ij} \\bigg] ^{1/2},\n```\nwhere $\\mathbf{H}_t$ is a heat kernel on a graph, and $\\mathbf{V}$ is\na volume regularization term. This dissimilarity is inspired by\nVaradhan\u2019s formula which relates the heat kernel to the geodesic\ndistance on a manifold. For more details on the heat-geodesic\ndissimilarity read our preprint [A Heat Diffusion Perspective on\nGeodesic Preserving Dimensionality\nReduction](https://arxiv.org/abs/2305.19043).\n\n<div>\n\n> **Note**\n>\n> We are currently updating this repository to provide examples and\n> improve the documentation.\n\n</div>\n\n## Install\n\nThe package is not yet available with pip or conda. To install it, you\ncan clone this repo and install from `setup.py`.\n\n``` sh\ngit clone https://github.com/KrishnaswamyLab/HeatGeo.git\ncd HeatGeo\npip install -e .\n```\n\nTo reproduce the results in `experiments/` or try the embeddings with\ndifferent graph constructions, you need additional packages that can be\ninstalled via the development version. In this case run\n\n``` sh\ncd HeatGeo\npip install -e '.[dev]'\n```\n\nWe provide an example below.\n\n## How to use\n\nGoogle colab example on the swiss roll [](https://colab.research.google.com/drive/1SkxGfWz8KLQpcea9MsdP7QEoe-yh5Iai?usp=sharing)\n\nThe directory `experiments` contains code to reproduce our main results.\nWe used `hydra`, the parameters can be changed in `config` or directly\nin the CLI. In `notebooks`, we provide examples on toy datasets.\n\n## Contributing\n\nWe are using `nbdev` for this package and the documentation. See this\n[introduction](https://nbdev.fast.ai/tutorials/tutorial.html) to start\nusing `nbdev`. The code and documentation should be modified in the\nnotebooks `nbs/`, then run `nbdev_prepare` before a commit. This command\nwill export the notebooks to `.py` files in `heatgeo`, it will also\nclean the metadata, and run some test. The page will then automatically\nbe deployed through GitHub actions.\n\n## Acknowledgements\n\nThis repository is a simplified version of a larger codebase used for\ndevelopment. It loses the original commit history which contains\ncontributions from other authors of the paper. This repository uses or\nmodify code from the PHATE\n[implementation](https://github.com/KrishnaswamyLab/PHATE), and the\nChebychev polynomials\n[implementation](https://github.com/sibyllema/Fast-Multiscale-Diffusion-on-Graphs)\nof the paper [Fast Multiscale Diffusion on\nGraphs](https://arxiv.org/abs/2104.14652).\n",
"bugtrack_url": null,
"license": "Apache Software License 2.0",
"summary": "Heat geodesic embeddings",
"version": "0.0.1",
"project_urls": {
"Homepage": "https://github.com/KrishnaswamyLab/heatgeo"
},
"split_keywords": [
"nbdev",
"jupyter",
"notebook",
"python"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3c26093ecccdf1cc6db5473cf971a22f6b681570d0c1b724111faa0dde13285a",
"md5": "3bd2226c79ae2cfd02919017dfe0dea9",
"sha256": "5f84a876f84cd946281f265d879a2e0712ae043af8dbb52ce14687a2afdb46d5"
},
"downloads": -1,
"filename": "heatgeo-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3bd2226c79ae2cfd02919017dfe0dea9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 18906,
"upload_time": "2023-07-04T21:10:06",
"upload_time_iso_8601": "2023-07-04T21:10:06.426057Z",
"url": "https://files.pythonhosted.org/packages/3c/26/093ecccdf1cc6db5473cf971a22f6b681570d0c1b724111faa0dde13285a/heatgeo-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1f86b9d77f604dcd3bcd139751a3467c3069cb9cde3fe669b2b84e1a56befb65",
"md5": "c250026d33318d534f692a4caf7c436b",
"sha256": "8aa51f9e3f2c8618633d6e6189f2ea7cb0fb42aad08affb77eed4e7878eb1be3"
},
"downloads": -1,
"filename": "heatgeo-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "c250026d33318d534f692a4caf7c436b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 18400,
"upload_time": "2023-07-04T21:10:07",
"upload_time_iso_8601": "2023-07-04T21:10:07.951169Z",
"url": "https://files.pythonhosted.org/packages/1f/86/b9d77f604dcd3bcd139751a3467c3069cb9cde3fe669b2b84e1a56befb65/heatgeo-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-04 21:10:07",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "KrishnaswamyLab",
"github_project": "heatgeo",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"tox": true,
"lcname": "heatgeo"
}