#!/usr/bin/env python# -*- coding: UTF-8 -*-fromnumpyimport*defpow_e(A,err=1E-5):'''e的A次方,A为矩阵'''idx=1fact=1result=A**0whileTrue:T=(A**idx)/factidx+=1fact*=idxsumT=sum(map(lambdal:sum(map(long,map(abs,l))),T.tolist()))ifsumT>10E10:raiseException('power is too large')ifsumT<=err:breakresult+=Treturnresult