如果我有两个矩阵,一个大小为 MXN,另一个大小为 NXP,假设这些矩阵的乘积为零,并且给定矩阵 NXP 的值,我如何找到矩阵 MXN 的值?
我知道对此的一种可能解决方案是零矩阵,但我实际上正在寻找一个非零矩阵。
谢谢阿布舍克 S
这称为空空间。在您的情况下,顺序是相反的。这可以通过转置矩阵轻松解决:
A * B = 0
B^T * A^T = 0^T
A^T = M(Null(B^T))
A = M(Null(B^T))^T
其中M(V)
是 的向量的任意线性组合的矩阵V
。
例子:
[ 4 4 8 ]
B = [ 2 7 2 ]
[ 5 3 5 ]
[ 7 5 4 ]
{ [ 87 ] }
Null(B^T) = { [ -40 ] }
{ [-216 ] }
{ [ 116 ] }
A = [ 87 -40 -216 116 ]
[ 0 0 0 0 ]
A * B = [ 0 0 0 ]
[ 0 0 0 ]
所以你正在寻找A B
成为0
。诀窍是,如果它是 0,那么对于任何可逆矩阵也必须如此。(甚至更多。)A C-1 D-1 E-1 E D C B
0
N x N
C, D, E
现在采用B
并应用基本行操作将其放入http://en.wikipedia.org/wiki/Row_echelon_form(这很容易做到。)这些操作中的每一个都可以通过乘以逆矩阵很容易的可逆矩阵来表示计算(这只是反向行操作。)
一旦我们有了B
行梯形形式,所有可能的矩阵A
都很容易找到——每列全为 0,或者每次一行中有多个非零条目时,都会产生另一个独立向量,它会给你一个 0。现在选择A
然后乘以所有逆行操作(确保以正确的顺序进行操作!)得出您的答案。