Fortran Coder

查看: 160|回复: 5

如何用Fortran求解矩阵指数

[复制链接]

5

帖子

2

主题

0

精华

入门

F 币
54 元
贡献
25 点
发表于 2021-9-6 10:34:11 | 显示全部楼层 |阅读模式
本帖最后由 wx_TrpjQ8uw 于 2021-9-6 10:39 编辑

矩阵A大约百十来阶,求exp(-tA),t为常数参数
回复

使用道具 举报

5

帖子

2

主题

0

精华

入门

F 币
54 元
贡献
25 点
 楼主| 发表于 2021-9-6 10:37:05 | 显示全部楼层
C:\Users\Administrator\Desktop

626

帖子

1

主题

0

精华

大宗师

F 币
3117 元
贡献
1951 点
发表于 2021-9-6 10:50:37 | 显示全部楼层
本帖最后由 li913 于 2021-9-6 12:10 编辑

这是无穷累加,只需要满足精度的前n次就行。如果矩阵不大,可以直接求,代码如下
计算矩阵函数 exp(A)-CSDN社区
QQ截图20210906104917.png

44

帖子

1

主题

1

精华

专家

Vim

F 币
466 元
贡献
233 点

规矩勋章

发表于 2021-9-6 11:36:21 | 显示全部楼层
先求出矩阵的特征值和特征向量,把特征值取exp之后,再利用矩阵乘法变换回去即可

5

帖子

2

主题

0

精华

入门

F 币
54 元
贡献
25 点
 楼主| 发表于 2021-9-6 15:23:30 | 显示全部楼层
Transpose 发表于 2021-9-6 11:36
先求出矩阵的特征值和特征向量,把特征值取exp之后,再利用矩阵乘法变换回去即可 ...

感谢感谢

176

帖子

14

主题

0

精华

大宗师

F 币
4744 元
贡献
1066 点
发表于 2021-9-7 20:33:05 | 显示全部楼层
若A不是一个厄米矩阵,这个问题数值上就是没有什么好办法
很可能计算本身就是不稳定的
如果是厄米矩阵,那么就用正交矩阵对角化就是了
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|群聊|Fcode

GMT+8, 2021-9-24 08:14

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表