【发布时间】:2020-01-12 22:01:49
【问题描述】:
我得到了什么:
>>> Pp
matrix([[ 0.01011 , 0.0050535, 0.0010005],
[ 0.0050535, 0.002526 , 0.0005001],
[ 0.0010005, 0.0005001, 0.0001 ]])
>>> Pp.I
matrix([[ 4.73894021e+17, -9.47740572e+17, -1.65931645e+15],
[ -9.47740572e+17, 1.89538621e+18, 3.31846669e+15],
[ -1.65931645e+15, 3.31846669e+15, 5.81001542e+12]])
我认为我应该得到什么:
matrix([[ -1.11110667e+09, 2.22220000e+09, 3.40000000e+06],
[ 2.22220000e+09, -4.44433334e+09, -7.00000001e+06],
[ 3.40000000e+06, -7.00000001e+06, 1.00000000e+06]])
我是否错误地使用了逆?
顺便说一句,这也是不正确的:
>>> np.linalg.inv(Pp)
matrix([[ 4.73894021e+17, -9.47740572e+17, -1.65931645e+15],
[ -9.47740572e+17, 1.89538621e+18, 3.31846669e+15],
[ -1.65931645e+15, 3.31846669e+15, 5.81001542e+12]])
我看到另一篇关于此的帖子,但没有明确的解决方案。
【问题讨论】:
-
乘以我认为是正确的逆:[[1.00000000867928,0.000000036475688,0.000000000019985] [0.000000003684588,1.00000001835584,0.000000000009159] [0.000000000829513,0.00000000338152,1.00000000000165]] 跨度>
-
乘以逆那Pp.I给出:[[1425599774.99986,-2844761654.99971,-4971157.28804637] [926094855.000069,-1848950331.00014,-3232423.45800024] [-23691699.8982929,48003999.7965857,84985.9995117466] 跨度>
-
我试过了,它给了我正确的逆。
-
你使用的是 NumPy 的
matrix类型吗? -
>>> type(Pp)
标签: python numpy matrix inverse