NumPy函数库基础
>>> from numpy import *
>>> random.rand(4,4)
array([[ 0.74535323, 0.9731331 , 0.24320585, 0.77917169],
[ 0.82597332, 0.50762721, 0.56235416, 0.17493286],
[ 0.49456655, 0.89247559, 0.32198986, 0.35571187],
[ 0.00657507, 0.98809466, 0.30347264, 0.16599267]])
# 产生的是4*4的随机数组,数组与矩阵的运算不同,想要得到矩阵还需要使用mat()函数将数组进行转换。
>>> randMat = mat(random.rand(4,4)) # 将得到的随机矩阵赋值给randMat
>>> randMat #输出矩阵
matrix([[ 0.06153882, 0.62020192, 0.28165063, 0.76017688],
[ 0.75465893, 0.3767218 , 0.43440454, 0.13498272],
[ 0.18896218, 0.11315171, 0.18267606, 0.50232175],
[ 0.02827114, 0.51110539, 0.10798217, 0.1608311 ]])
>>> randMat.I #.I操作符实现了矩阵求逆的运算
matrix([[ -9.31775448, -1.10971455, 11.31935339, 9.61863989],
[ -2.65515656, -0.61466831, 2.56180922, 5.06435483],
[ 19.4077398 , 5.17490995, -23.67768247, -22.12273405],
[ -2.95466136, -1.32601723, 5.76630986, 3.28612935]])
>>> invRandMat = randMat.I
>>> randMat*invRandMat
matrix([[ 1.00000000e+00, -2.22044605e-16, 8.88178420e-16,
0.00000000e+00],
[ 6.66133815e-16, 1.00000000e+00, -1.55431223e-15,
-8.88178420e-16],
[ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00,
0.00000000e+00],
[ 0.00000000e+00, -1.11022302e-16, 0.00000000e+00,
1.00000000e+00]])
#结果应为单位矩阵,由于计算机处理误差产生的结果。输入下面命令,可以得到误差值,函数eye()函数创建的是单位矩阵。
>>> myEye = randMat*invRandMat
>>> myEye - eye(4)
matrix([[ 0.00000000e+00, -2.22044605e-16, 8.88178420e-16,
0.00000000e+00],
[ 6.66133815e-16, 2.22044605e-16, -1.55431223e-15,
-8.88178420e-16],
[ 0.00000000e+00, 0.00000000e+00, -4.44089210e-16,
0.00000000e+00],
[ 0.00000000e+00, -1.11022302e-16, 0.00000000e+00,
-4.44089210e-16]])