Julia中的大矩阵幂

Julia中的大矩阵幂,julia,Julia,我正在处理非常大的图及其相应的加权邻接矩阵,我需要将这些大矩阵取类似的大幂,即将矩阵提高到数万的幂 我遇到的问题是矩阵的元素很快变得太大,计算机无法处理,我想知道如何解决这个问题 在将矩阵提升为大幂之前,是否有人处理过此类问题?您是如何解决这些问题的 我知道Python的numpy可以处理这些计算。Julia中是否有类似的库也可以这样做?您可以将类型转换为BigFloat: julia> A = [1.5 2 -4; 3 -1 -6; -10 2.3 4] 3×3 Array{Float6

我正在处理非常大的图及其相应的加权邻接矩阵,我需要将这些大矩阵取类似的大幂,即将矩阵提高到数万的幂

我遇到的问题是矩阵的元素很快变得太大,计算机无法处理,我想知道如何解决这个问题

在将矩阵提升为大幂之前,是否有人处理过此类问题?您是如何解决这些问题的


我知道Python的numpy可以处理这些计算。Julia中是否有类似的库也可以这样做?

您可以将类型转换为BigFloat:

julia> A = [1.5 2 -4; 3 -1 -6; -10 2.3 4]
3×3 Array{Float64,2}:
   1.5   2.0  -4.0
   3.0  -1.0  -6.0
 -10.0   2.3   4.0

julia> (BigFloat.(A))^32000
3×3 Array{BigFloat,2}:
  4.16164e+31019   8.71351e+31017  -3.22788e+31019
  4.60207e+31019   9.63565e+31017  -3.56949e+31019
 -5.83403e+31019  -1.22151e+31018   4.52503e+31019

矩阵太大而不能对角化吗?@user14717它可以对角化,对角化能避免这个问题吗?因为你仍然在处理大数,特别是在转换回原始形式之后。如果你有特征分解A=U'DU,你可以只取D的期望幂,这就是对角线上的特征值。最终,在应用基变换U时,您总是会混合不同的标度特征值。但这几乎是不可避免的。是的,但是在对D进行操作时,您如何确保数字项的表示方式不会有太多的数字,从而导致损坏?