gpt4 book ai didi

matlab - 计算 36×36 矩阵的 Jordan 形式的解释错误

转载 作者:太空宇宙 更新时间:2023-11-03 19:28:27 26 4
gpt4 key购买 nike

我一直在尝试计算仅由三个不同的条目组成的 36×36 矩阵的乔丹范式,11/20。该矩阵是一个概率转移矩阵,因此,给定这些条目,该矩阵显然是稀疏的。

我遇到的问题如下:每当我尝试计算时

[V, J] = jordan(A),

[V, J] = jordan(sym(A)),

我收到以下错误消息:

Error using mupadmex
Error in MuPAD command: Similarity matrix too large.

Error in sym/mupadmexnout (line 1546)
        out = mupadmex(fcn,args{:});

Error in sym/jordan (line 32)
        [Vsym,Jsym] = mupadmexnout('symobj::jordan',A,'All');

我在 MATLAB 帮助中读到,Jordan 形式的计算对扰动非常敏感。然而,我不认为我的计算会成为问题,因为矩阵的所有条目都是整数或整数的比率。

我的问题如下:

  1. 如何解释收到的错误输出?
  2. 我收到的错误是否可以解决?
  3. 如果错误无法解决,是否有替代方法(Matlab 中的函数)我可以尝试计算 Jordan 形式?

最佳答案

1) 如何解释我收到的错误输出?

重点是 Matlab 使用符号计算来评估 Jordan 形式。这就是它要求您提供有理数的原因。当我们考虑数值编程时,一个 36×36 的矩阵非常小,但(我不确定)也许这个尺寸对于符号编程来说很大。

2) 为什么 matlab 没有一个工具箱来对 Jordan 形式进行数值计算?

关键是这个评估在数值上是不稳定的。参见 the example in Wikipedia .基本上,具有多个特征值(共享同一 block )的矩阵的任何扰动都可能导致这些特征值在所需 Jordan 形式的分离 block 中变得不同。

3) 如果错误无法解决,是否有替代方法(Matlab 中的函数)我可以尝试计算 Jordan 形式?

我认为 Matlab 没有数值函数来解决这个任务。

我不知道您正在查看哪种应用程序...话虽如此,一个(非常常见的)选项是评估 Schur form (两种变换都将矩阵变换为上三角分解),这在数值上是稳定的。它使用酉相似变换。 Matlab的schur函数实现了这一点。

另请参阅此 Math.StackExchange 问题:What's the difference between Jordan and Schur decomposition?

关于matlab - 计算 36×36 矩阵的 Jordan 形式的解释错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21768708/

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