Exercise 10.1: Least squares Generate
matrix A ∈ Rm×n with m > n. Also generate some vector b ∈ Rm. Now find x = argminxk||Ax−bk||2. Print the norm of the residual.
源代码
import scipy import scipy.linalg import scipy.spatial import scipy.optimize as opt import mathm = 5n = 3A = scipy.random.rand(m, n) * scipy.random.randint(1, 10)b = scipy.random.rand(m) * scipy.random.randint(1, 10)x, resid, rnk, s = scipy.linalg.lstsq(A, b)print('A =', A)print('b =', b)print('x =', x)print('Norm of residual =', resid/n)
输出结果
源代码
import scipy
import scipy.linalg
import scipy.spatial
import scipy.optimize as opt
import math
func = lambda x: (math.sin(x - 2) ** 2) * math.exp(-x * x)
maximum = opt.fmin(lambda x: -func(x), 1, full_output=True, disp=0)
print('max func(%f) = %f'%(maximum[0], -maximum[1]))
print('iterations = %d, function evaluations = %d'%(maximum[2], maximum[3]))
输出结果
源代码
import scipy
import scipy.linalg
import scipy.spatial
import scipy.optimize as opt
import math
m = 2
n = 4
X = scipy.random.rand(n, m) * scipy.random.randint(1, 10)
print(X)
Y = scipy.spatial.distance.pdist(X)
print(Y)
输出结果