一种在两个矩阵之间找到变换矩阵的算法。

时间:2016-06-21 14:50:54

标签: algorithm matrix linear-algebra

假设存在两个矩阵A和B都是m * n,是否有一种方法或算法可用于获得满足方程A * C = B'的* n矩阵C(B'可以是通过在B)上执行几个行交换步骤获得,其中C满足平方误差的最小和。 或者A * C = D * B,其中D(m * m)是行交换变换矩阵。

感谢。

1 个答案:

答案 0 :(得分:1)

如果我正确地阅读了您的问题,您有两个矩阵AB,并且您正在寻找C,以便A * C = B + epsilon您想要最小化epsilon {1}}的平方和。

你的问题似乎暗示你对C有一些限制,但这并不明显是什么。但正如您在答案中指出的那样,线性求解器会找到C,以最小化epsilon的平方和。求解器不关心B行的排序是什么:它会将行交换运算符(如您提到的D)组合到它找到的C中。 / p>

有许多不同的线性求解器,像solve这样的简单函数必须选择使用哪个 - 如果你知道你想要它,你总是可以明确地选择一个特定的求解器。一个昂贵但非常有用的求解器是Moore-Penrose伪逆:使用C = pinv(A) * BC保证最小化epsilon的平方和,但最小化{ {1}}的平方和。 Wikipedia解释了C何时可能通过pseudoinverse返回与此min-norm解决方案不同的内容。