Deriving the quaternion product

Introduction

I spent a little time this week getting to grips with quaternions in order to better understand some orientation filters I was using at work. I had worked with quaternions before but never had the time to fully digest them and understand them deeply. That’s not a position I like to be in as someone who thinks of themselves as a mathematician; using a mathematical tool without understanding it is iffy at the best of times, and I’m a big believer in learning for it’s own sake anyway.