Skip to content

Repo containing scripts for running PVMC and analyzing results

License

RateTheory/PVMC

Repository files navigation

PVMC

Method that utilizes variety-based matrix completion (VMC) aided by polynomial interpolation to recover projected Hessian eigenvalues constituting the minimum energy path of a reaction. This utilizes MATLAB code for the PVMC implementation and Python scripts for computing ZCT constants.

Contents

MATLAB File Descriptions

  1. Main.m - Runs PVMC and HVMC on one of the reaction ground truth matrices
  2. cone_method.m - Function to find the most optimal columns to sample
  3. vmc_step.m- VMC algorithm (from: https://github.com/gregongie/vmc) described in G. Ongie, R. Willett, R. Nowak, L. Balzano. "Algebraic Variety Models for High-Rank Matrix Completion", in ICML 2017. Available online: https://arxiv.org/abs/1703.09631
  4. plot_results.m - Provides visualizations of ground truth and PVMC-recovered matrices, as well as errors and gradient term influences for each iteration.
  5. pvmc_step.m - PVMC algorithm optimized for recovering column-sampled matrices.

Python File Description

  1. AnalyzeResults.py - Calculates ZCT coefficients and free energy errors of the PVMC recovered matrix in results.mat as generated by Main.m
  2. calcFreeEnergy.py - Supporting functions to compute zero-point energy and vibrational free energy contributions
  3. ZCT.py - Supporting functions to compute ZCT
  4. spline.py - Supporting functions to compute create spline interpolations for ZCT integrals.

Directories Description

  1. Figures/ - Contains saved figures from running AnalyzeResults.py
  2. MatrixMATs/ - Contains the ground truth matrices and 's' vectors in MAT files
  3. MatrixPKLs/ - Contains the ground truth matrices and 's' vectors in PKL files
  4. ResultMATs/ - Contains the result.mat files of PVMC runs for all reactions at their 24-column minimum sampling densities

PVMC Procedure

  1. In Main.m, modify K (number of MEP points or columns to sample in addition to stationary points) and the system to simulate based on the files in MatrixMATs. Other parameters may be adjusted. Run Main.m, which results in results.mat
  2. To calculate ZCT, run AnalyzeResults.py after the creation of results.mat in the previous steps.

Authors

Stephen Jon Quiton, Jeongmin Chae, Selin Bac, Kareesa Kron, Urbashi Mitra, Shaama Sharada.

About

Repo containing scripts for running PVMC and analyzing results

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •