首页 > 解决方案 > linalg.matrix_power(A,n) 用于巨大的 $n$ 和巨大的 $A$

问题描述

我正在尝试使用 linalg 查找 $P^{500}$ 其中 $ P$ 是一个 9x9 矩阵,但 Python 显示以下内容: Matrix full of inf

我认为这种方法太多了,所以我的问题是,还有另一个库可以找到 $P^{500}$? 我必须投降吗?谢谢大家

标签: numpylinear-algebramatrix-multiplication

解决方案


使用特征分解,然后对特征值矩阵求幂。像这样。你最终会在第一列中得到一个信息。除非您通过其特征值控制矩阵的类型,否则我相信这不会发生。换句话说,你的特征值必须是有界的。您可以通过将特征值沿对角线放置的Schur 分解来生成随机矩阵。这是我关于生成具有给定特征值的矩阵的帖子。无论如何,这应该是该方法的工作方式。

    % Generate random 9x9 matrix
    n=9;
    A = randn(n);
   [V,D] = eig(A);
   p = 500;
   Dp = D^p;
   Ap = V^(-1)*Dp*V;

   Ap1 = mpower(A,p);

推荐阅读