GL-Coarsener, a graph learning based coarsening method
Project description
GL-Coarsener
A python implementation of GL-Coarsener method, as proposed in GL-Coarsener: A Graph representation learning framework to construct coarse grid hierarchy for AMG solvers, arXiv:2011.09994.
If you find our code or paper useful in your research, please consider citing:
@misc{namazi2020glcoarsener,
title={GL-Coarsener: A Graph representation learning framework to construct coarse grid hierarchy for AMG solvers},
author={Reza Namazi and Arsham Zolanvari and Mahdi Sani and Seyed Amir Ali Ghafourian Ghahramani},
year={2020},
eprint={2011.09994},
archivePrefix={arXiv},
primaryClass={math.NA}
}
Installation
pip install gl-coarsener
Usage
Import the package
from glcoarsener import Coarsener
Input
You should construct a Coarsener object with the adjacency matrix that you want to coarsen. The input must be of type scipy sparse CSR matrix.
from scipy import sparse
adjacency_matrix = sparse.random(1000, 1000, format='csr')
coarsener = Coarsener(adjacency_matrix)
Applying the method
prolongation_operator = coarsener.apply(
dimensions=100,
walk_length=20,
num_walks=10,
p=0.1,
q=1,
number_of_clusters=adjacency_matrix.shape[0] // 5,
clustering_method='kmeans',
workers=1
)
Getting the coarse (smaller) adjacency matrix
restriction_operator = prolongation_operator.transpose()
coarse_matrix = restriction_operator.dot(adjacency_matrix).dot(prolongation_operator)
print(coarse_matrix)
Contributing
Any contribution is greatly appreciated. If you think you can improve this work, please open a pull request.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/Improvement
) - Commit your Changes (
git commit -m 'Add some Improvement'
) - Push to the Branch (
git push origin feature/Improvement
) - Open a Pull Request
Contact
If you have any questions, please do not hesitate to contact me:
- Personal Webpage: https://rezanmz.com/
- Email: rezanmz@ymail.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for gl_coarsener-1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4af96a6f8fbcd7b81ddbc1046230146da3c0a2b413ed0fe6445c0e99a4dd7574 |
|
MD5 | 4aebe43f68924b2ff53de40da1a41181 |
|
BLAKE2b-256 | 7b0cedeb3e5524080fc050b253d9b24791fca7e93590357385b7147c64b5579c |