решение питона Ax = b и обратное - PullRequest
0 голосов
/ 30 сентября 2018
m = 10
n = 10
d = 10
np.random.seed(0)
M = np.random.randn(m *n,1 )

A = np.random.randn(d, m* n)

b = A.dot(M)
print(M)
print(np.linalg.pinv(A).dot(b))

Может кто-нибудь сказать мне, почему эти 2 отпечатка не дают такой же ответ?

1 Ответ

0 голосов
/ 30 сентября 2018

Ваша система недостаточно определена - у вас меньше уравнений (d=10), чем неизвестных (m*n=100), поскольку ваша матрица A (размером (10,100)) имеет меньше строк, чем столбцов.В этом случае вы не можете рассчитывать на получение уникального решения, их может быть бесконечно много.Если вы ищете лучший способ приблизиться к этим вычислениям, этот выглядит как многообещающий справочник.

...