(补)Numpy

import numpy as np
from scipy.linalg import toeplitz
from scipy.linalg import svdvals
import time
n , m = 200, 500

A = np.random.normal(size=[n,m])
B = toeplitz(range(m))

#9.1
AA = A+A
AAT = np.dot(A,A.T)
ATA= np.dot(A.T,A)
AB = np.dot(A,B)
def ans1(A,B,constant):
    return np.dot(A,B-constant*np.identity(m))


#9.2
b = np.random.random(m)
x = np.linalg.solve(B,b)


#9.3
forbenius_norm = np.linalg.norm(A,"fro")
infinity_norm = np.linalg.norm(B,np.inf)
u, s, vh = np.linalg.svd(B)
largest_value = max(s)
min_value = min(s)

#9.4
def power_iteration(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
C = np.random.randint(0, 2, (n, n))
s = svdvals(B)

#9.6
def nearestNeighor(A, z):
    return A[np.abs(A-z).argmin()]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值