【发布时间】:2016-11-26 17:32:56
【问题描述】:
我有一个 14x14 矩阵,我正在尝试对其进行排名。问题是它的条件数很高,所以使用双精度我的矩阵不是满秩的。我知道它应该是,所以我试图以更高的精度获得排名。
到目前为止,我已经在 python 中安装了 bigfloat 包,但试图以更高的精度获得排名没有成功。我还缩放了我的矩阵,我尝试了 python 的 jacobi 预处理器和其他一些缩放方法,但还不够。
我不是要解决线性方程组,我只需要验证我的所有列都是线性独立的。换句话说,我想验证一个(简化的)矩阵,例如所示的矩阵的秩为 2,而不是 1。
[1, 0;
0, 1e-20]
有什么建议吗?
【问题讨论】:
-
只是指出“排名”在 python 中的含义与 数学上的含义完全不同。这将有助于用一个例子来说明,这样就不会有混淆。
-
我使用了 matlab 的 rank 函数和 python 的 np.linalg.matrix_rank() 但它只执行双精度计算。
-
我找到了适用于 MATLAB 的多精度计算工具箱,它完全符合我的要求。 Python有类似的东西吗?
标签: python matrix precision rank