两个矩阵的乘积为零

时间:2012-05-25 03:52:40

标签: algorithm math

如果我有两个矩阵,一个是大小MXN,另一个是大小为NXP,假设这些矩阵的乘积等于零,并且给定矩阵NXP的值,我怎样才能找到该矩阵的值矩阵MXN?

我知道其中一个可能的解决方案是零矩阵,但实际上我正在寻找一个非零矩阵。

由于 Abhishek S

2 个答案:

答案 0 :(得分:2)

这称为Null Space。在您的情况下,订单是相反的。通过转置矩阵可以很容易地解决这个问题:

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 ]

答案 1 :(得分:0)

因此,您正在寻找A B0。诀窍在于,如果它为0,则对于任何可逆A C-1 D-1 E-1 E D C B矩阵0N x N也必须为C, D, E。 (甚至更多。)

现在取B并应用基本行操作将其转换为http://en.wikipedia.org/wiki/Row_echelon_form(这很容易做到。)这些操作中的每一个都可以通过乘以一个可逆矩阵来表示,该矩阵的反函数很容易计算(这只是反向行操作。)

一旦我们在行梯队形式中B,所有可能的矩阵A都很容易找到 - 每列都有0,或者每次有一个以上的非零条目导致另一个独立的向量会给你一个0.现在选择你的A然后乘以所有的逆行操作(确保以正确的顺序执行!)来得出你的答案。