當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。