how to solve this matrix equation?

1 次查看(过去 30 天)
Owen
Owen 2014-2-18
Hello,
The product of a 3x5 matrix B and a 5x3 matrix K shall be a unit matrix.
B = [0 3 -1 2 1;-4 0 -1 -3 1;0 0 3 -2 3]
I = eye(3,3)
B*K = I
The question is how to calculate K so that all the elements in K are integers. I know there are many Ks.
Senmeis
  2 个评论
Thomas
Thomas 2014-2-18
编辑:Thomas 2014-2-18
I thought non-square matrices are non invertible.. you might have a left inverse and right inverse.. is K your right inverse?
John D'Errico
John D'Errico 2014-2-18
Thomas - actually, no. This is an underdetermined linear Diophantine system. The solution is neatly resolved in the paper I linked in my answer, including showing how to know if a solution exists at all.
However, in general, suppose we ignored the integer issue. As long as the system has full row rank, then a right inverse (K is clearly the right inverse that is requested) DOES always exist, but it will not be unique for an underdetermined system.
Of course, a left inverse can NEVER exist for an n-by-m matrix with n<m, even ignoring issues of uniqueness. There cannot exist a matrix U such that U*B=eye(m), since row rank of B is no larger than n, and we have n<m. We cannot multiply B by a matrix and increase the row rank, and we know that the row rank of eye(m) is clearly m.

请先登录,再进行评论。

回答(1 个)

John D'Errico
John D'Errico 2014-2-18
This paper sums up the answer nicely, and provides the solution in a nice readable manner.

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by