假设存在两个矩阵A和B都是m * n,是否有一种方法或算法可用于获得满足方程A * C = B'的* n矩阵C(B'可以是通过在B)上执行几个行交换步骤获得,其中C满足平方误差的最小和。 或者A * C = D * B,其中D(m * m)是行交换变换矩阵。
感谢。
答案 0 :(得分:1)
如果我正确地阅读了您的问题,您有两个矩阵A
和B
,并且您正在寻找C
,以便A * C = B + epsilon
您想要最小化epsilon
{1}}的平方和。
你的问题似乎暗示你对C
有一些限制,但这并不明显是什么。但正如您在答案中指出的那样,线性求解器会找到C
,以最小化epsilon
的平方和。求解器不关心B
行的排序是什么:它会将行交换运算符(如您提到的D
)组合到它找到的C
中。 / p>
有许多不同的线性求解器,像solve
这样的简单函数必须选择使用哪个 - 如果你知道你想要它,你总是可以明确地选择一个特定的求解器。一个昂贵但非常有用的求解器是Moore-Penrose伪逆:使用C = pinv(A) * B
,C
保证最小化epsilon
的平方和,但也最小化{ {1}}的平方和。 Wikipedia解释了C
何时可能通过pseudoinverse返回与此min-norm解决方案不同的内容。