how to solve this matrix equation?

2 views (last 30 days)
Owen
Owen on 18 Feb 2014
Commented: Star Strider on 18 Feb 2014
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 Comments
Thomas
Thomas on 18 Feb 2014
Edited: Thomas on 18 Feb 2014
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 on 18 Feb 2014
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.

Sign in to comment.

Answers (1)

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

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!