An Introduction to Cartan's KAK Decomposition for QC Programmers | Synapse