numpy

创建随机矩阵A

import numpy as np  
A = np.random.normal(size=[200, 500])  

9-1

AA = A + A  
AAT = np.matmul(A, A.transpose())  
ATA = np.matmul(A.transpose(), A)  
AB = np.matmul(A, B)  
  
def mul_A_B_I(A, B, constant):  
    sub = np.eye([len(B), len(B)])  
    return np.matmul(A, B - constant*sub)  

9-2

b = np.array(list(range(1,501)))  
x = np.linalg.solve(B,b)  

9-3

na = np.linalg.norm(A,'fro')  
nb = np.linalg.norm(B,np.inf)  
  
u, s, vh = np.linalg.svd(B,full_matrices=True)
maxs = np.max(s)  
mins = np.min(s) 

9-4

def Exercise_9_4(A, B, n, m):   
    Z = np.random.standard_normal((n, n))  
    num = 0  
    u_k = np.ones(n)  
    v_k_norm = 0  
    v_k = np.zeros(n)  
      
    begin = time.clock()  
    while(True):  
         
        v_k = np.dot(Z, u_k)  
        v_k_norm_temp = v_k_norm  
        v_k_norm = np.linalg.norm(v_k)  
        u_k = v_k / v_k_norm  
        num += 1  
        if(abs(v_k_norm_temp - v_k_norm) < 0.0005):  
            break;  
    end = time.clock()
return  v_k_norm,u_k,num,end-begin

9-5

for n in (10,50,50):  
    for p in (0.2,0.5,0.8):  
         
        C = np.random.binomial(1,p,(n,n))  
        u, s, vh = np.linalg.svd(C)  
        maxs = max(s)  
        print(maxs) 

9-6

idx = np.argmin(np.abs(A - 50))  
print(A[idx//np.shape(A)[0]][idx%np.shape(A)[1]]) 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值