how to solve this matrix equation?

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일

1 개 추천

This paper sums up the answer nicely, and provides the solution in a nice readable manner.

카테고리

도움말 센터File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

태그

질문:

2014년 2월 18일

댓글:

2014년 2월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by