当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy linalg.onenormest用法及代码示例


本文简要介绍 python 语言中 scipy.sparse.linalg.onenormest 的用法。

用法:

scipy.sparse.linalg.onenormest(A, t=2, itmax=5, compute_v=False, compute_w=False)#

计算稀疏矩阵的 1 范数的下界。

参数

A ndarray 或其他线性运算符

一个可以转置并且可以产生矩阵乘积的线性算子。

t 整数,可选

控制准确性与时间和内存使用之间权衡的正参数。较大的值需要更长的时间并使用更多的内存,但会提供更准确的输出。

itmax 整数,可选

最多使用这么多次迭代。

compute_v 布尔型,可选

如果为真,则请求 norm-maximizing 线性运算符输入向量。

compute_w 布尔型,可选

如果为真,则请求 norm-maximizing 线性运算符输出向量。

返回

est 浮点数

低估了稀疏矩阵的 1 范数。

v ndarray,可选

满足 ||Av||_1 == est*||v||_1 的向量。它可以被认为是线性算子的输入,它给出了具有特别大范数的输出。

w ndarray,可选

具有较大 1-范数的向量 Av。它可以被认为是线性算子的输出,与输入相比,其范数相对较大。

注意

这是 [1] 的算法 2.4。

在[2]中说明如下。 “该算法通常需要评估大约 4t matrix-vector 产品,并且几乎总是会产生一个范数估计值(实际上是范数的下限),它在因子 3 内是正确的。”

参考

[1]

Nicholas J. Higham 和 Francoise Tisseur (2000),“矩阵 1-Norm 估计的块算法,以及 1-Norm Pseudospectra 的应用。” SIAM J. 矩阵肛门。应用程序。卷。 21,第 4 期,第 1185-1201 页。

[2]

Awad H. Al-Mohy 和 Nicholas J. Higham (2009),“矩阵 index 的新缩放和平方算法”。 SIAM J. 矩阵肛门。应用程序。卷。 31,第 3 期,第 970-989 页。

例子

>>> import numpy as np
>>> from scipy.sparse import csc_matrix
>>> from scipy.sparse.linalg import onenormest
>>> A = csc_matrix([[1., 0., 0.], [5., 8., 2.], [0., -1., 0.]], dtype=float)
>>> A.toarray()
array([[ 1.,  0.,  0.],
       [ 5.,  8.,  2.],
       [ 0., -1.,  0.]])
>>> onenormest(A)
9.0
>>> np.linalg.norm(A.toarray(), ord=1)
9.0

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.sparse.linalg.onenormest。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。