Вот метод, который будет работать с разреженными матрицами (которые из ваших комментариев, что вы хотите), которая использует функцию leastsq из пакета оптимизируют
from numpy import *
from scipy.sparse import csr_matrix
from scipy.optimize import leastsq
from numpy.random import rand
A=csr_matrix([[0.,1.],[0.,1.],[1.,0.]])
b=array([[2.],[2.],[1.]])
def myfunc(x):
x.shape = (2,1)
return (A*x - b)[:,0]
print leastsq(myfunc,rand(2))[0]
генерирует
[ 1. 2.]
Это вроде уродливого из-за того, как мне нужно было получить фигуры, чтобы они соответствовали тому, что хотел наименьший. Может быть, кто-то еще знает, как сделать это немного более аккуратным.
Я также попытался получить что-то для работы с функциями в scipy.sparse.linalg с помощью LinearOperators, но безрезультатно. Проблема в том, что все эти функции предназначены для обработки только квадратных функций. Если кто-то найдет способ сделать это таким образом, я тоже хотел бы знать.
Вы можете найти эту ссылку полезным: http://mathesaurus.sourceforge.net/ matlab-numpy.html Я не уверен, что это будет Однако этот конкретный вопрос. – SapphireSun