Ну, я сейчас как-то не готов анализировать этот код :)
Может, кто-то сможет помочь...
там всё анализировать не нужно, достаточно функции qmul, остальное работает относительно очевидно, вопросы могут только по синтаксису a["...."], который строит вектора ссылок, где ссылки переставлены в порядке указанном в кавычках