在方程式中得出未知矩阵
我正在逆向工程,从事一些计算机图形数学的软件系统。我在一个奇怪的情况下结束了以下数学的出现:
m * x * m^-1 * a = b
,其中m是3x3常量可逆矩阵,m^-1是m的倒数,x是一个3x3矩阵i可以控制,A是3x1列向量i也可以控制。 b是可测量的。
我怎么能找到m是?我很确定,我可以通过将所有矩阵组件将代数扩展到几个巨大的方程式中来找到答案 - 但是肯定会感觉到都应该有一个更简单的机制。
I'm working on reverse-engineering a software system doing some computer graphics math. I've wound up in a weird situation where the following math is coming up:
M * X * M^-1 * A = B
Where M is a 3x3 constant invertible matrix, M^-1 is the inverse of M, X is a 3x3 matrix I can control, A is a 3x1 column vector I can also control. B is measurable.
How can I find what M is? I'm pretty sure that I could find the answer by expanding out all matrix components algebraically into a few massive equations - but it sure feels like there should be a more straightforward mechanism.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这看起来像 eigendecomposition
就
您
而您可以确认确实 X 在您的情况下是对角线矩阵,那么您知道 m 是 c 的特征向量。您可以从 c 获得 c = a -1 b
就发现而言即使对于3×3矩阵,特征向量也是一个真正的困难问题。通常,您会做 shur noreferrer“> shur demomposition 并恢复eigevectors。
我确实找到了3×3问题的在线资源,我将其移植到其他项目中的
c#
中。 在这里。对于您的情况,您将进行
m = c.geteigenVectors();
最终说明是您可以按一个因素来扩展 m ,并且不会改变方程式由于您正在使用 m 和 m -1 同时乘以。因此,您只需要找到一个无限矩阵 m 的一个就可以使该方程式起作用。
This looks like the Eigendecomposition of a matrix.
In your case you have
C = (M X M-1)
If you can confirm that indeed X in your case is a diagonal matrix, then you know M to be the eigenvectors of C. You can get C from C = A-1 B
As far as finding the eigenvectors, even for 3×3 matrices, is a genuinely hard problem. Typically you do a Shur Decomposition and recover the eigevectors.
I did find an online resource for the 3×3 problem, which I ported into
C#
for an other project. Original source here.For your case you would do
M=C.GetEigenVectors();
A final note here is that you can scale M up or down by a factor, and it wont change the equation since you are multiplying with M and M-1 at the same time. So you just need to find just one of the infinite matrices M that would make this equation work.