Решение уравнения линейной алгебры с python. Найдите вектор, матрица сопряженного произведения которого известна - PullRequest
0 голосов
/ 28 марта 2020

У меня есть вектор 3X1 (скажем, a), и он транспонирует вектор 1X3. Я беру их внешний продукт, используя numpy, т.е.

np.outer(a, a.T.conj()) = b

, мы просто называем матрицу продукта как b. Теперь мой вопрос: я знаю значение b, но не знаю значение a. Можно ли вычислить вектор a?

1 Ответ

1 голос
/ 28 марта 2020

Я подозреваю, что этот вопрос лучше подходит для математического сайта, чем для программирования.

Короче говоря, ответ: не совсем. a и -a дают один и тот же внешний продукт.

Это степень неоднозначности, я думаю.

if B = a*a' then
B[i,i] = a[i]*a[i] so if also
B = b*b' then
b[i] = +-a[i]

Если хотя бы два из a отличны от нуля, скажем a [ i] и a [j], мы не можем выбирать разные знаки, потому что у нас должно быть

a[i]*a[j] = B[i,j] = b[i]*b[j]

Если только один a [i] не равен нулю, тогда есть только один знак для выбора.

...