Generative Modeling

Importance Weighted Autoencoders: Beyond the Standard VAE

Learn the crucial difference between multi-sample VAEs and Importance Weighted Autoencoders (IWAEs). Explore how …

Computational Chemistry
The transformation from a 2D chemical structure image to a SMILES representation

What is Optical Chemical Structure Recognition (OCSR)?

A micro-review of Optical Chemical Structure Recognition (OCSR), tracing its evolution from rule-based systems to …

Computational Chemistry
Aspirin molecular structure generated from SMILES string

Converting SMILES Strings to 2D Molecular Images

Learn how to create 2D molecular images from SMILES strings using RDKit and PIL, with proper formatting and legends.

Scientific Computing
Comparison of exponential sampling methods showing histograms from both inverse transform and von Neumann methods overlaid with the theoretical exponential distribution

Exponential Random Number Generation: Two Classic Algorithms Compared

Compare inverse transform sampling and von Neumann's rejection method for exponential random numbers with Python …

Computational Chemistry
Müller-Brown Potential Energy Surface showing the three minima and two saddle points

Implementing the Müller-Brown Potential in PyTorch

Guide to implementing the Müller-Brown potential in PyTorch, comparing analytical vs automatic differentiation with …

Scientific Computing
Velocity Autocorrelation Function showing the signature negative region characteristic of liquid dynamics and the cage effect discovered by Rahman

Replicating Rahman's 1964 Liquid Argon Simulation

Recreating the foundational 1964 molecular dynamics simulation with modern Python and LAMMPS, testing whether Rahman's …...

Computational Chemistry
Comparison of 2D molecular graph versus 3D conformer ensemble showing latanoprost molecule in multiple conformations

GEOM Dataset: 3D Molecular Conformer Generation

Learn how GEOM transforms 2D molecular graphs into dynamic 3D conformer ensembles for molecular machine learning …

Generative Modeling
Variational Autoencoder architecture diagram showing encoder, latent space, and decoder

Modern PyTorch Techniques for VAEs: A Hands-On Tutorial

A comprehensive guide to implementing Variational Autoencoders (VAEs) in PyTorch. Covers the ELBO objective, …

Computational Chemistry
Comparison chart showing k-NN significantly outperforming logistic regression for molecular classification across different alkane sizes

Can You Hear the Shape of a Molecule? (Part Three)

Supervised learning reveals hidden eigenvalue patterns that clustering missed, testing k-NN and logistic regression on …

Computational Chemistry
Coulomb matrix heatmap visualization showing molecular structure encoding on logarithmic scale

Understanding Coulomb Matrices for Molecular Machine Learning

Learn how Coulomb matrices encode 3D molecular structure for machine learning—from basic theory to Python implementation …

Scientific Computing
Molecular structure alignment showing protein conformations and RMSD calculation

Kabsch Algorithm: NumPy, PyTorch, TensorFlow, and JAX

Learn about the Kabsch algorithm for optimal point alignment with implementations in NumPy, PyTorch, TensorFlow, and JAX …

Computational Chemistry
Ball model representation of a crystal surface with steps, kinks, adatoms, and vacancies showing various surface features

LAMMPS Tutorial: Copper Adatom Diffusion

LAMMPS tutorial for copper surface diffusion simulation and ML training data generation. Includes setup, analysis, and …