Skip to content


Repository files navigation


This project supports Python 3.6+ GPLv3 License GitHub Actions CI Tox Status Documentation Status codecov Binder Language grade: Python

The Procrustes library provides a set of functions for transforming a matrix to make it as similar as possible to a target matrix. For more information, visit Procrustes Documentation.


Please use the following citation in any publication using Procrustes library:

    title = {Procrustes: A python library to find transformations that maximize the similarity between matrices},
    author = {Fanwang Meng and Michael Richer and Alireza Tehrani and Jonathan La and Taewon David Kim and Paul W. Ayers and Farnaz Heidar-Zadeh},
    journal = {Computer Physics Communications},
    volume = {276},
    number = {108334},
    pages = {1--37},
    year = {2022},
    issn = {0010-4655},
    doi = {},
    url = {},
    keywords = {Procrustes analysis, Orthogonal, Symmetric, Rotational, Permutation, Softassign},


The following dependencies are required to run Procrustes properly,


To install Procrustes using the conda package management system, install miniconda or anaconda first, and then:

# Create and activate myenv conda environment (optional, but recommended)
conda create -n myenv python=3.6
conda activate myenv

# Install the stable release.
conda install -c theochem qc-procrustes

To install Procrustes with pip, you may want to create a virtual environment, and then:

# Install the stable release.
pip install qc-procrustes

See for full details.