wolfram-mathematica - 如何在 Mathematica 中找到矩阵指数?
问题描述
我正在尝试采用倾斜对称旋转矩阵的矩阵指数,S
. 我希望结果是罗德里格斯的旋转公式I + sin(theta)*S + (1-cos(theta))*S*S
。然而,Mathematica返回的东西看起来不像那个公式,它的结果是试图取负数的平方根。
这是我的代码:
S = { { 0, -omegaz, omegay }, {omegaz, 0, -omegax}, {-omegay, omegax, 0} };
FullSimplify[MatrixExp[S]]
这导致 Mathematica:
难道我做错了什么?
解决方案
结果是一样的。
在 Rodrigues 的旋转公式中,倾斜矩阵由单位向量构成,因此您有以下假设:
1 == omegax^2 + omegay^2 + omegaz^2
你需要使用:
MatrixExp[theta S]
如果你运行:
rod = IdentityMatrix[3] + Sin[theta] S + (1 - Cos[theta]) MatrixPower[S, 2]
rod = FullSimplify[rod, Assumptions -> {omegax^2 + omegay^2 + omegaz^2 == 1}]
expS = FullSimplify[MatrixExp[theta S], Assumptions -> {omegax^2 + omegay^2 + omegaz^2 == 1}]
rod == b
(* True *)
因此,Mathematica正确计算了旋转矩阵。
推荐阅读
- php - 我可以在 laravel-lighthouse 中抛出自定义错误吗
- python - NameError:名称“aic”未在 Arima 模型中定义
- facebook - Facebook像素域验证的同一域的多个验证
- sql - 使用 SQL 检索具有一定数量行的“页面”
- powershell - Powershell Invoke-WebRequest 返回 (401) Unauthorized
- mongodb - Mongodb $nin 不适用于嵌套数组
- python - 导出 Whatsapp 聊天
- laravel - Laravel 拒绝访问 /public 目录
- api - 如何在api上验证批量电子邮件?
- azure-devops - “配置触发器失败,再次编辑并保存管道”,没有明显错误,也没有更多详细信息