Я пытаюсь найти решение x наименьших квадратов, которое минимизирует норму (bA * x) с
A=[[-1, 1, 0]
[0, -1, 1]
[-1, 0, 1]]
и
b=[1, 1, -1]
Поэтому я сделал следующий код
import numpy as np
from scipy.sparse import csc_matrix
from scipy.sparse.linalg import lsqr
b=np.array([1.,1.,-1.], dtype=float)
A=csc_matrix([[-1., 1.,0.], [0., -1., 1.], [-1., 0., 1.]], dtype=float)
x=lsqr(A,b)[0]
И я получаю
The exact solution is x = 0
array([0., 0., 0.])
Таким образом, очевидно, что Ax = b допускает точное решение в качестве нулевого вектора, но здесь Ax = [0,0,0], что явно не b. Когда я пробую это с другими значениями для b, я получаю некоторый результат, который кажется приемлемым, но здесь я действительно не понимаю вывод. У меня такое ощущение, что мне не хватает каких-то совершенно очевидных вещей.