registration: make use of np.solve(), it is faster