qpp::powm() is now using fast matrix multiplication O(log(n))