numpy部分习题

题目:

代码:

from scipy import linalg
import numpy as np
n=200
m=500
A = np.random.normal(0,1,n*m).reshape(n,m)
B = linalg.toeplitz(list(range(0,m)))

题目9.1:

代码:

# 9.1
def fun1(x): # A(B - λ*I)
	return A.dot(B - x * np.eye(m))

print(A)	# A
print(A+A)	# A + A
print(A.dot(A.T))	# A * A.T
print((A.T).dot(A))	# A.T * A
print(A.dot(B))	# A * B
print(fun1(100)) # A(B - λ*I)

输出:

[[ 0.68847923  1.63312114 -1.93960162 ...  0.67031345  0.59504172
   0.88432458]
 [-0.32318122 -0.03028246  1.38490725 ...  0.31844524  0.31643666
  -0.38662978]
 [-0.02474301  1.96491606 -0.2363918  ... -1.33390037 -0.504195
  -0.46569825]
 ...
 [ 1.13667509  1.39618595  0.15819695 ...  1.01890038  0.63758988
   0.92949653]
 [ 0.14313636 -0.38264473  1.17496287 ...  0.57603402 -0.49460566
   0.45760324]
 [ 0.34461222  1.28067661  0.46797381 ... -0.28565737  0.74617274
  -1.56528379]]
[[ 1.37695845  3.26624229 -3.87920323 ...  1.34062691  1.19008343
   1.76864917]
 [-0.64636243 -0.06056492  2.7698145  ...  0.63689048  0.63287332
  -0.77325956]
 [-0.04948601  3.92983212 -0.47278359 ... -2.66780074 -1.00839
  -0.93139649]
 ...
 [ 2.27335017  2.7923719   0.31639391 ...  2.03780075  1.27517976
   1.85899306]
 [ 0.28627272 -0.76528946  2.34992573 ...  1.15206804 -0.98921132
   0.91520648]
 [ 0.68922445  2.56135322  0.93594762 ... -0.57131475  1.49234548
  -3.13056757]]
[[537.68819929 -21.45244068 -10.54601043 ...   6.26960734 -18.65896958
  -35.47257155]
 [-21.45244068 468.30128624 -25.43515312 ...  -1.0461549   11.48857291
    4.77006777]
 [-10.54601043 -25.43515312 418.01333878 ... -18.23469532  -7.4090526
   31.4846937 ]
 ...
 [  6.26960734  -1.0461549  -18.23469532 ... 495.55370687 -14.38905389
   11.18704649]
 [-18.65896958  11.48857291  -7.4090526  ... -14.38905389 553.20773932
    0.97217488]
 [-35.47257155   4.77006777  31.4846937  ...  11.18704649   0.97217488
  474.22927081]]
[[200.7250452    4.85859468  22.12725132 ...  12.86470766  24.72859146
   -5.63441306]
 [  4.85859468 205.7485706  -30.53592031 ... -11.26546868  16.9468731
  -20.23511433]
 [ 22.12725132 -30.53592031 218.67423693 ...   6.82341367 -21.13240558
  -30.58136112]
 ...
 [ 12.86470766 -11.26546868   6.82341367 ... 207.12585209  -9.87454205
   -7.54964936]
 [ 24.72859146  16.9468731  -21.13240558 ...  -9.87454205 189.46505303
   -4.62273318]
 [ -5.63441306 -20.23511433 -30.58136112 ...  -7.54964936  -4.62273318
  202.84339494]]
[[ 9924.21045755  9884.25541495  9847.56661465 ... 10622.52144435
  10660.8947128  10700.45806468]
 [-2152.6702086  -2145.29842352 -2137.98720335 ... -1833.26275265
  -1841.14051393 -1848.38540189]
 [ -115.02983374  -101.72660503   -84.4935442  ... -6524.14056513
  -6535.55349336 -6547.97481158]
 ...
 [ 3590.7336347   3588.57241776  3589.20357273 ... -1381.76061668
  -1380.4602224  -1377.88464835]
 [ 4483.28306434  4468.267257    4452.48616021 ...  3122.6919274
   3138.0680123   3152.45488588]
 [ 2065.51536801  2056.82115046  2050.68828614 ...  2593.28651211
   2604.30817619  2616.82218576]]
[[ 9855.36253493  9720.94330062 10041.52677616 ... 10555.49009903
  10601.39054129 10612.02560639]
 [-2120.35208699 -2142.27017774 -2276.47792834 ... -1865.10727673
  -1872.7841799  -1809.72242407]
 [ -112.55553315  -298.2182109    -60.85436446 ... -6390.75052819
  -6485.13399352 -6501.40498687]
 ...
 [ 3477.06612595  3448.9538228   3573.38387737 ... -1483.65065439
  -1444.21921027 -1470.83430158]
 [ 4468.96942813  4506.53172988  4334.98987358 ...  3065.08852562
   3187.52857808  3106.69456181]
 [ 2031.05414576  1928.75348941  2003.89090507 ...  2621.85224941
   2529.69090221  2773.35056432]]

题目9.2:

代码:

# 9.2
print(np.linalg.solve(B, np.linspace(1, m, m)))

输出:

[ 1.00200401e+00  4.46981574e-16  2.16259876e-16 -1.11022302e-16
  1.22591761e-16 -1.73541876e-17  2.89236459e-18 -9.65604795e-17
  4.44089210e-16 -8.99747878e-16  7.74263753e-16 -3.33066907e-16
  2.89236459e-18  3.30174543e-16 -1.08419174e-15  1.08419174e-15
 -6.19855981e-16  1.37676555e-15 -1.28598980e-15 -3.11707907e-16
  1.74921311e-15 -2.10653138e-15  4.46981574e-16  1.77635684e-15
 -1.86602014e-15  1.92008511e-16 -3.27282178e-16  1.77924920e-15
 -1.48667540e-15 -1.78659136e-16  1.72429428e-15 -1.61037961e-15
 -2.79891897e-16  2.82784261e-16  1.69982042e-16  2.74262910e-15
 -2.73973674e-15 -5.82255242e-16  8.31443576e-16 -8.34335940e-16
  1.22703006e-15  1.70516017e-15 -2.03533472e-15 -9.80734087e-16
  3.38851637e-16 -3.87131876e-17  5.88039971e-16  2.89236459e-15
 -3.92160141e-15  8.10084576e-16 -7.22283100e-27 -1.11600775e-15
  1.67690400e-15 -1.03791391e-15  4.02973135e-15 -4.03262371e-15
  3.68887730e-16 -2.22044605e-16 -1.41058396e-16  1.38166032e-16
  3.89156532e-15 -3.44747611e-15 -4.71232939e-16  3.93139095e-16
 -1.65309761e-15  2.10297155e-15 -8.43013034e-16  3.33066907e-16
 -4.97931689e-16  5.00824054e-16  6.57167485e-15 -6.76368336e-15
  4.05376022e-16 -7.38442930e-16  2.19152240e-16  2.16259876e-16
  1.67757147e-16 -8.30998597e-16  6.69026179e-16 -3.33066907e-16
  1.13914667e-16 -5.78472919e-18  3.81124658e-16  7.12901125e-15
 -7.72639579e-15  1.05237573e-16 -6.87492814e-17  1.30156407e-15
 -1.45485939e-15  4.22730211e-17  3.68220262e-16 -1.88448678e-16
  7.11299200e-16 -1.03858138e-15  6.60349086e-16  6.47578183e-15
 -5.83745922e-15 -1.04013881e-15  1.79771584e-16  7.85833211e-16
 -7.82940846e-16 -1.33515999e-15  2.04067447e-15 -1.81106522e-16
  1.44618230e-16 -1.07662710e-15  5.18623220e-16 -2.24936970e-16
  6.67001524e-15 -6.88627512e-15  1.24905653e-15 -1.41725865e-16
 -9.90523628e-16 -2.30721699e-16  6.66133815e-16 -1.08129938e-16
  2.22044605e-16 -7.77156117e-16  1.22413769e-15 -9.80066618e-16
  2.00018136e-16  6.55031585e-15 -6.43350881e-15  2.13367511e-16
 -7.52237284e-16  1.08819656e-15 -4.66115679e-16 -2.80336876e-16
 -5.91599804e-16  1.57923107e-15 -6.98617294e-16 -6.61461533e-16
  6.99729742e-16  7.58022013e-16 -1.78503393e-15  7.80048482e-16
 -1.16807032e-16  7.91617940e-16 -8.91070784e-16  4.57438585e-16
  1.35198021e-14 -1.35302591e-14  4.67228131e-18 -1.14270650e-15
  2.46740949e-15 -2.32390371e-15  8.80613774e-16 -3.41744001e-16
  5.66680971e-16 -3.50421095e-16  1.22591761e-16 -5.38869773e-16
  9.80066618e-16  1.19699396e-16 -1.68847345e-15  1.91919515e-15
 -1.57455879e-15  1.34672945e-15 -1.13336194e-15  1.02701192e-15
 -2.32501615e-16  2.89236461e-18 -7.94510305e-16  9.15989618e-16
 -6.89940200e-16  2.26716886e-16  1.42184194e-14 -1.41073971e-14
  1.15694584e-17 -1.28376490e-16 -2.07582782e-16  7.68479023e-16
 -5.52219148e-16  4.54546220e-16 -9.06200076e-16 -2.09807678e-16
  1.66066226e-15 -1.10733066e-15 -2.89236459e-18  7.68479023e-16
 -8.63259586e-16 -4.66115679e-16  1.23570715e-15 -4.61443397e-16
 -3.25502261e-16  6.78815721e-16  2.10475147e-16 -8.93963149e-16
  1.04570105e-17 -6.45219807e-18 -1.09242386e-16  1.46549439e-14
 -1.37638731e-14 -1.08129938e-16 -1.11712020e-15  1.11133547e-15
  5.55111512e-16 -2.55173304e-15  1.77457692e-15 -5.78472920e-18
  6.83488002e-16 -1.56588169e-15  2.19152240e-16  6.66133815e-16
  6.70806096e-16 -7.76043669e-16  2.19152240e-16 -1.32247809e-15
  2.31478163e-15 -1.88048196e-15  5.59783794e-16 -1.22369272e-17
  1.30156407e-16 -9.06645055e-16  2.11921329e-15 -1.44039757e-15
  9.90523628e-16  1.17799335e-14 -1.24471798e-14  1.11244787e-18
  1.16807032e-16 -4.49873939e-16  7.85833211e-16 -8.88178420e-16
 -4.58551033e-16  1.79660339e-15 -1.67401163e-15  6.50559544e-16
 -8.81281243e-16  2.01575563e-15 -3.41744001e-16 -1.00899026e-15
 -8.65706972e-16  1.86201533e-15 -1.43060803e-15  8.88178420e-16
 -4.49873939e-16  2.20932157e-16 -4.24510127e-16 -1.26819062e-17
  8.66819420e-16 -1.97793240e-16 -1.08129938e-16  1.46491592e-14
 -1.63957024e-14  1.36920090e-15  9.32453847e-16 -4.17167970e-16
 -4.16945481e-16 -5.59450059e-16  1.33515999e-15 -7.23091148e-16
 -2.79001938e-16  7.77156117e-16 -7.97068935e-16  9.32342602e-16
 -1.01355130e-15  4.55547423e-16  2.07916516e-16 -3.37405454e-16
 -3.64549183e-16  9.79510394e-16 -2.86232850e-16 -3.87131876e-16
  4.22730210e-16 -5.62119934e-16  8.67709378e-17  5.84925117e-16
 -7.01732148e-16  5.60896242e-16 -1.66533454e-16 -8.41010628e-17
  8.55472450e-17 -1.72318183e-16  1.16807032e-16  6.61795268e-16
 -1.49590872e-15  1.61271575e-15 -1.14749003e-15  7.34883096e-16
 -5.66903460e-16  2.76219706e-14 -2.75349772e-14  3.35959272e-16
  1.06683756e-16 -5.50772965e-16 -5.84035158e-17  6.93055054e-16
 -1.02467578e-15  9.42243389e-16  2.24936970e-16 -9.26891607e-16
  7.42114008e-16 -8.17315487e-16  5.22183054e-16  2.57865428e-16
 -1.11022302e-16 -7.81494664e-16  7.39889112e-16 -2.87122808e-16
  6.06284117e-16 -1.16718036e-15  9.43689571e-16 -4.96707996e-16
  4.38304481e-16  7.52014795e-17 -7.38442930e-16  3.88578059e-16
  1.12468485e-16  5.84035158e-17 -2.89236459e-18  3.88578059e-16
 -7.23091148e-16  1.81885235e-16 -7.23091149e-17 -2.20598423e-16
  6.14961210e-16  1.11022302e-16 -7.23091148e-16  4.49317715e-16
 -4.52210080e-16  6.69026179e-16 -3.88578059e-16 -3.34513090e-16
  8.34113451e-16 -4.94371856e-16  1.58968808e-16  6.67023773e-16
 -1.60314870e-15  3.81903371e-16  1.33894232e-15 -1.34272464e-15
  2.81517183e-14 -2.71984617e-14 -1.00643163e-15  6.69026179e-16
 -2.79001938e-16  3.92916606e-16 -1.11578526e-16 -6.30757972e-17
 -6.05394158e-16  4.45535392e-16  4.43532986e-16 -7.18196377e-16
  6.60349086e-16 -6.13515028e-16  7.30322060e-16 -6.14961210e-16
 -2.00240623e-18  5.05941314e-16 -9.49474300e-16  1.89171769e-15
 -1.89082773e-15  2.76665798e-16  3.90024241e-16  2.24936970e-16
 -1.00353927e-15  1.00209309e-15  2.42481051e-27  1.06127532e-16
 -6.07174075e-16  2.80448121e-16 -4.40640621e-16  7.64474211e-16
 -7.69368982e-16  5.47324377e-16 -1.50959183e-16  2.72660985e-16
 -3.45192590e-16 -2.65430074e-16  7.72817570e-16 -4.71121694e-16
 -5.35866163e-16  1.02456453e-16  1.46398146e-15 -9.01750284e-16
 -5.05273846e-16  3.10261725e-16  6.96058664e-16 -8.68265602e-16
  4.24899483e-16 -2.14257470e-16  3.99578600e-28  2.78139791e-14
 -2.76744782e-14 -2.07137803e-16  2.23602032e-16 -5.77916694e-17
 -3.59265056e-16  5.26521601e-16 -1.81440256e-16  2.07026558e-16
 -2.73105965e-16 -8.69934273e-17  1.26763441e-16 -5.55111512e-17
  1.94289029e-16 -1.94289029e-16 -7.48677450e-17  1.49735490e-16
  7.15860237e-17  2.29720495e-17 -5.84035158e-17 -3.32343816e-16
  4.15610543e-16 -2.48353998e-16  2.83062373e-16  1.52961589e-17
 -2.66542522e-16  1.33994352e-16  7.23091148e-19 -2.77555756e-17
 -3.60822483e-16  5.86927523e-16 -3.65606009e-16  2.21321514e-16
 -1.12190373e-16  6.00165653e-17 -3.06479402e-16  3.05311332e-16
  1.65810363e-16 -3.04588241e-16  2.78723826e-16 -4.61165285e-16
  5.14507163e-16 -2.91739467e-16  5.59561304e-17 -1.22591761e-16
  1.76656730e-16 -1.34884310e-16 -3.09260522e-17  2.91572600e-16
 -5.52942239e-16  5.27355937e-16  2.04412305e-16  2.75098915e-14
 -2.82427444e-14  3.17242336e-16  1.41447753e-16 -8.29051813e-17
 -2.66987500e-18 -2.95633035e-17  6.30201747e-17 -1.87197174e-16
  2.40399996e-16 -4.27180001e-17 -7.31434508e-17 -1.01232761e-17
  1.67618090e-16 -3.25474450e-16  2.01297451e-16  8.07359078e-17
 -3.98256356e-17 -9.67829691e-17  1.04736972e-16 -1.60971214e-16
  7.80660328e-17  7.38665419e-17 -2.70324845e-17  2.21933360e-17
 -2.44237941e-16  3.74700271e-16 -8.91905120e-17 -1.87642153e-16
  2.77555756e-17  5.76804247e-17  1.09214575e-16 -9.87340984e-17
 -3.75868341e-17  9.00248480e-17 -1.19476907e-16  1.68410710e-16
 -1.31658211e-16  1.60470613e-17  7.63278329e-17 -1.06614228e-16
  1.41851015e-16 -1.39862515e-16 -2.02743634e-17  1.41920543e-16
 -1.21103862e-16  7.59662874e-17  3.32482872e-17 -9.56079460e-17
  3.37906056e-18  4.09102723e-17  2.77521966e-14 -2.77562083e-14
 -4.39277873e-17  8.28147949e-17 -6.92985526e-17  2.76199960e-17
  1.38777878e-17 -3.62936134e-17  2.93999127e-17 -1.55899147e-17
  6.89370071e-18  3.05836268e-18 -2.77633819e-14  2.00400802e-03]

题目9.3:

代码:

#9.3
print(linalg.norm(A, 'fro'))
print(linalg.norm(B, np.inf))
temp3 = linalg.svdvals(B).tolist()
print(max(temp3))
print(min(temp3))

输出:

316.6298950425481
124750.0
86851.6689846716
0.5000049348346859

题目9.4:

代码:

#9.4
def fun4(n):
    Z = np.random.normal(0, 1, n*n).reshape(n, n)
    v = np.array(list(range(1, n+1))[::-1])
    a = linalg.norm(v, np.inf)
    tempa = 0
    count = 0
    t = time.clock()
    while True:
        tempa = a
        y = np.dot(Z, v)
        a = linalg.norm(y, np.inf)
        v = y / a
        count += 1
        if(time.clock() - t > 0.1):
        	break
    t = time.clock()
    return count, t, v, a

ans = fun4(20)
print("count:",ans[0])
print("time:",ans[1])
print("corresponding eigenvector:",ans[2])
print("eigenvalue:",ans[3])

输出:

count: 3084
time: 0.10000956050138114
corresponding eigenvector: [-0.16861049 -0.2669244   0.14606545  0.90307745  1.         -0.07336917
 -0.27901434  0.5302166  -0.0061553  -0.02835079  0.07885574 -0.08280181
  0.42621937  0.81197747  0.03662094  0.10433548 -0.1984425   0.11408026
  0.30073397 -0.00114137]
eigenvalue: 4.380879101362931

题目9.5:

代码:

#9.5
def fun5(n, p):
    M = np.random.binomial(1, p, [n, n])
    return max(linalg.svdvals(M))


print(fun5(10, 0.5))
print(fun5(100, 0.5))
print(fun5(600, 0.5))
print(fun5(800, 0.5))
print(fun5(1000, 0.5))

输出:

5.796878971488905
50.74211705951083
300.40158543193365
400.452345835997
500.82632597086706

由此可知,当n足够大时,结果趋近于np

题目9.6:

代码:

#9.6
temp6 = np.random.normal(0, 1, 400).reshape(20, 20)
def fun6(A, val):
    a = min(A[A>val])
    b = max(A[A<=val])
    if abs(a-val) > abs(b-val):
    	return b
    else:
    	return a
print(fun6(temp6, 0.5))

输出:

0.502466220093656

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值