scipy.sparse.linalg.norm

scipy.sparse.linalg.norm(x, ord=None, axis=None)[源代码]

稀疏矩阵的范数

此函数能够返回七种不同矩阵范数中的一种,具体取决于 ord 参数。

参数
x稀疏矩阵

输入稀疏矩阵。

ord{非零int,inf,-inf,‘fro’},可选

规范顺序(见下表 Notes )。Inf的意思是麻木的 inf 对象。

axis{int,整数的2元组,无},可选

如果 axis 是一个整数,它指定 x 沿其计算向量范数。如果 axis 是一个二元组,它指定保存二维矩阵的轴,并计算这些矩阵的矩阵范数。如果 axis 为None,则为向量范数(当 x 是一维)或矩阵范数(当 x 是二维的)返回。

退货
n浮动或ndarray

注意事项

由于某些关联函数(如_MULTI_SvD_NORM)对于稀疏矩阵尚不可用,因此某些顺序未实现。

此文档字符串是根据numpy.linalg.norm修改的。https://github.com/numpy/numpy/blob/master/numpy/linalg/linalg.py

可以计算以下指标:

订单

稀疏矩阵的范数

Frobenius范数

“Fro”

Frobenius范数

信息

MAX(SUM(abs(X),axis=1))

-信息

MIN(SUM(abs(X),轴=1))

0

ABS(X).sum(轴=轴)

1

MAX(SUM(abs(X),axis=0))

-1

MIN(SUM(abs(X),轴=0))

2

未实施

-2

未实施

其他

未实施

Frobenius范数由下式给出 [1]:

\(||A||_F = [\sum_{i,j} abs(a_{i,j})^2]^{1/2}\)

参考文献

1

G.H.Golub和C.F.Van Loan, 矩阵计算 ,马里兰州巴尔的摩,约翰霍普金斯大学出版社,1985,PG。15个

示例

>>> from scipy.sparse import *
>>> import numpy as np
>>> from scipy.sparse.linalg import norm
>>> a = np.arange(9) - 4
>>> a
array([-4, -3, -2, -1, 0, 1, 2, 3, 4])
>>> b = a.reshape((3, 3))
>>> b
array([[-4, -3, -2],
       [-1, 0, 1],
       [ 2, 3, 4]])
>>> b = csr_matrix(b)
>>> norm(b)
7.745966692414834
>>> norm(b, 'fro')
7.745966692414834
>>> norm(b, np.inf)
9
>>> norm(b, -np.inf)
2
>>> norm(b, 1)
7
>>> norm(b, -1)
6