Generate matrices A, with random Gaussian entries, B, a Toeplitz matrix, where A 2 Rnm and B 2 Rmm,
for n = 200, m = 500.
import numpy
import random
from scipy.linalg import toeplitz
A = numpy.random.normal(size=(200,500))
col = list(range(1,501))
row = list(range(1,501))
B = toeplitz(col,row)
得到高斯分布矩阵A和Toeplitz 矩阵B:
Exercise 9.1: Matrix operations
result1 = A+A
result2 = numpy.dot(A,A.T)
result3 = numpy.dot(A.T,A)
result4 = numpy.dot(A,B)
def func(num):
return numpy.dot(A, B-num*numpy.ones(500,500))
Exercise 9.2: Solving a linear system
b = numpy.random.random(500)
x = numpy.linalg.solve(B, b)
由于矩阵过大,因此只显示一部分:
Exercise 9.3: Norms
result1 = numpy.linalg.norm(A)
result2 = numpy.linalg.norm(B, ord = numpy.inf)
result3 = numpy.linalg.norm(B, ord = 2)
result4 = numpy.linalg.norm(B, ord = -2)
Exercise 9.4: Po