У меня есть одна проблема, пытаясь вычислить 1-норму разреженной матрицы. Я использую функцию scipy.sparse.linalg.onenormest
, но это дает мне ошибку, потому что оператор может действовать только на квадратную матрицу.Python: L1-норма разреженной неквадратической матрицы
Вот Пример кода:
from scipy import sparse
row = array([0,2,2,0,1,2])
col = array([0,0,1,2,2,2])
data = array([1,2,3,4,5,6])
A = sparse.csc_matrix((data,(row,col)), shape=(5,3))
onenormest(A)
это ошибка:
Traceback (most recent call last):
File "<ipython console>", line 1, in <module>
File "C:\Python27\lib\site-packages\scipy\sparse\linalg\_onenormest.py", line 76, in onenormest
raise ValueError('expected the operator to act like a square matrix')
ValueError: expected the operator to act like a square matrix
Оператор onenormest
работает, если я определяю как квадратная матрица, но это не то, что я хочу.
Кто-нибудь знает, как вычислить 1-норму разреженной неквадратной матрицы?
Вы действительно хотите ['L^1-norm'] (http://mathworld.wolfram.com/L1-Norm.html)? Я не знаю, что такое «1-норма». – will
Точно так, поэтому в этом примере норма L1 должна быть 15 –
Разве это не должно быть 21? – will