matrix_rank 的关键字参数错误

问题描述 投票:0回答:1

我想计算矩阵的秩,并引入一定的相对容差来考虑数值误差。我使用以下代码:

    A = np.random.randn(n,n)
    r = np.linalg.matrix_rank(A, rtol = 1e-5)

但我收到以下错误:'TypeError:matrix_rank() 得到了意外的关键字参数 'rtol''

如此处所写:https://numpy.org/doc/stable/reference/ generated/numpy.linalg.matrix_rank.html,我不明白为什么它不起作用。

python numpy
1个回答
0
投票

您的 NumPy 版本不支持 np.linalg.matrix_rank 中的 rtol 关键字,因此您可以升级它或使用此代码

import numpy as np

A = np.random.randn(4, 4)
tol = 1e-5
u, s, vh = np.linalg.svd(A) 
rank = np.sum(s > tol * np.max(s)) 
print("Rank:", rank)
© www.soinside.com 2019 - 2024. All rights reserved.