首页 > 编程语言 > 详细

矩阵求幂-倍加算法

时间:2019-03-14 16:04:00      阅读:160      评论:0      收藏:0      [点我收藏+]
 1 def mul_add2(n,t):
 2     ret=[]
 3     while t>=1:
 4         ret.insert(0,t%2)
 5         print(t)
 6         t=int(t/2)
 7     print(ret)
 8     ans = 1
 9     for i in ret:
10         if i==0:
11             ans=ans*ans
12         else:
13             ans=n*ans*ans
14     print(ans)
15 
16 
17 import numpy as np
18 
19 def mul_add(A,t):
20     ret=[]
21     while t>=1:
22         ret.insert(0,t%2)
23         print(t)
24         t=int(t/2)
25     print(ret)
26     B = np.array([1,1])
27     T=np.array([[1,0],[0,1]])
28     for i in ret:
29         T=np.matmul(T,T)
30         if i!=0:
31             T=np.matmul(T,A)
32 
33     print(np.matmul(A,B))

 

矩阵求幂-倍加算法

原文:https://www.cnblogs.com/jgongzh/p/10530501.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!