is numpy.linalg.matrix_power somehow numerically unstable?