У меня есть матрица nxn C
, и я использую inv
из numpy.linalg
, чтобы получить инверсию, чтобы получить Cinverse
. Моя матрица C
имеет элементы порядка 10**4
, но моя матрица Cinverse
имеет элементы порядка 10**12
и выше (не уверен, что это правильно). Когда я делаю numpyp.dot(C,Cinverse)
, я не получаю единичную матрицу. Почему это?
У меня есть вектор x, который я умножаю сам на себя, чтобы получить матрицу.
x=array([ 121.41191662, 74.22830468, 73.23156336, 75.48354975,
79.89580817])
c=np.outer(xvector,xvector)
это матрица 5х5.
тогда я получаю обратное
from numpy.linalg import inv
cinverse=inv(c)
затем я хочу посмотреть, смогу ли я вернуть матрицу идентичности.
identity=np.dot(C00,C00inv)
Однако я не получаю идентификационную матрицу. cinverse имеет очень большие матричные элементы около 10 ** 13 и выше, а c имеет матричные элементы около 10 000.