Вывод из numpy.matrix_power отличается от формального способа решения - PullRequest
0 голосов
/ 23 апреля 2019

Я должен использовать Python для решения Матрицы A ^ 1000.Я попробовал встроенную функцию matrix_power в numpy для вычисления результата, но когда я пытаюсь вычислить результат шаг за шагом по формуле P * (D ^ 1000) * P ^ -1, я получаю неполный результат.Я пытаюсь выяснить, слишком ли точны мои параметры точности или я делаю что-то еще неправильно

Я попробовал функцию matrix_power, чтобы определенно получить желаемый результат.Но мне нужно уметь показать, как выполняется расчет, и когда я это делаю, я получаю неполный результат

import numpy as np
np.set_printoptions(precision=6)   # set the precision of the output
np.set_printoptions(suppress=True) # suppress the use of scientific notation
from numpy import diag, allclose, corrcoef
from numpy.random import randint, randn
from numpy.linalg import eig, matrix_rank, inv, cholesky, qr, norm, matrix_power
from sympy import Matrix, init_printing, matrix2numpy

A = np.array([[0.9,0.15,0.25],[0.075,0.8,0.25],[0.025,0.05,0.5]])
A

#python way
A_1000 = matrix_power(A,1000)
A_1000

D , P = eig(A)
P * np.diag(D**1000) * np.linalg.inv(p)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...