gpt4 book ai didi

python - Python 中(大)1554 x 1554 矩阵的行列式

转载 作者:行者123 更新时间:2023-11-28 17:25:08 31 4
gpt4 key购买 nike

我需要在 python 中以单精度计算大型 1554,1554 值矩阵的行列式。在这样做的过程中,我遇到了运行时警告:

import numpy as np

from numpy import linalg as LA

a = np.random.random((1554, 1554))

b = np.random.random((1554, 1554))

c = np.dot(a,b)

det = LA.det(c)

RuntimeWarning: overflow encountered in det r = _umath_linalg.det(a, signature=signature)

关于如何解决此问题的任何想法?非常感谢!

编辑:这个问题的独特之处在于它专门指以 double 计算大矩阵的行列式,尽管此处包含一个可能的答案:Can I get the matrix determinant using Numpy?

最佳答案

您可以使用此关系:https://wikimedia.org/api/rest_v1/media/math/render/svg/f6404a766d86e9d78a5c4f82e05de37469a5f8e9

来自 https://en.wikipedia.org/wiki/Determinant#Properties_of_the_determinant

因此,将矩阵除以均值,然后计算行列式以避免溢出。稍后你可以乘以平均值的 n 次方(一个轴的长度)

编辑:我不确定平均值是否是理想的选择。这更像是一道数学题

关于python - Python 中(大)1554 x 1554 矩阵的行列式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39676437/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com