9.1题是进行矩阵的运算,由于这些操作都已经有对应的函数,所以只用直接调用函数即可
#Exercise 9.1
import numpy as npfrom scipy.linalg import toeplitz
def caculate_with_k(A,B,m,k):
I = np.eye(m,m,0)
return np.dot(A,B-k*I)
n = 200
m = 500
k = np.random.randn()
A = np.random.randn(n,m)
B = toeplitz(np.random.randn(1,m), r=np.random.randn(1,m))
print(A+A)
print(np.dot(A,A.T))
print(np.dot(A.T,A))
print(np.dot(A,B))
print("k=",k)
print(caculate_with_k(A,B,m,k))#计算A(B-λI) 其中λ用k表示
9.2题是求一个线性方程组,由于numpy中也已经定义了这个函数,所以也是直接调用即可
#Exercise 9.2
import numpy as np
from scipy.linalg import toeplitz
m = 500
B = toeplitz(np.random.randn(1,m), r=np.random.randn(1,m))
b = np.random.randn(m)
x = np.linalg.sol