How do I solve for the unknown matrix Q in this equation?

  • Thread starter Thread starter tapashettisr
  • Start date Start date
  • Tags Tags
    Matrix
tapashettisr
Messages
3
Reaction score
0
I have an equation as follows:

A*Q*B=C
Here A is 2X4 known matrix
Q is a 4X4 unknown matrix
B is a 4X2 known matrix
C is a 2X2 known matrix
How can I solve for unknown matrix Q;
 
Mathematics news on Phys.org
You have 4 equations in 16 unknowns. Whatever Q you find will not be unique. Decompose A and B via singular value decomposition to find the pseudoinverses of A and B.
 
Or, treating it purely as a matrix problem, multiply on the right on both sides of the equation by B-1 and on the left by A-1, assuming those inverses exist:

A-1*A*Q*B*B-1= A-1CB-1
Q= A-1CB-1

Of course, if either A or B does not have an inverse, there may be no solution or there may be an infinite number of solutions.
 
Er, B and A are not square matrices, so they do not have inverses, no?
 
I really need to learn to read these posts! Of course, they might have "generalized inverses" in which case the same comments apply.
 
HallsofIvy said:
I really need to learn to read these posts! Of course, they might have "generalized inverses" in which case the same comments apply.

Just curious, how would these look like?
 
One way to form the pseudoinverse (the Moore-Penrose psuedoinverse) of a matrix A is to decompose the matrix into a form A=UVW^T where U and W are orthonormal matrices and V is a diagonal matrix. (This is the singular value decomposition of the matrix.) Form the pseudoinverse V^\dagger of V by taking the inverse of each non-zero element of V. Then the pseudoinverse of A is A^{\dagger}=WV^{\dagger}U^T. Note that the pseudoinverse is the inverse if A is not singular.
 
thanx all for the suggestions
 
Unlike in case of square matrix, in case of rectangular matrix inv(A)*A is not equal to A*inv(A). If we find the pseudoinverse of A then A*inv(A)=identity matrix but inv(A)*A does not yield identity matrix. Hence, I am not able to understand how the suggested solution given below would work?

Inv(A)*A*Q*B*inv(B)=iinv(A)*C*inv(B)=Q
 
  • #10
If i have a unknown 4*4 matrix A
and i have an equation like AQA(dagger)=block diagnol matrix
all the matrices are 4*4
how can i evaluate 16 unknowns from these 16 equations using mathematica,as terms involved are much complicated.
 
  • #11
tapashettisr said:
I have an equation as follows:

A*Q*B=C
Here A is 2X4 known matrix
Q is a 4X4 unknown matrix
B is a 4X2 known matrix
C is a 2X2 known matrix
How can I solve for unknown matrix Q;

This problem can be treated as a succession of two under determined problems that can be solved for least norm solutions. If you let Z = QB, the result is AZ=C, which can be solved as a mininum norm problem using QR factorization. If AT is decomposed into QR (not the same Q as the original problem), Z can be solved as follows:

Solve RTy = C for y. Then Z = Qy ==> least norm solution

You then have QB = Z. Taking transpose of both sides, you get BTQT=ZT which can be solved for QT in exactly the same fashion. It does work. I tried it on a made up problem. The solution isn't unique, there are multiple possible values for Q, but the above does give you a way to find a solution.
 
  • #12
I think my last reply was too convoluted. Simply put, if Ax=b is an underdetermined system (where A has more columns than rows), it is easy to show that the minimum norm solution (assuming AAT isn't singular) is:

xmin norm = AT(AAT)-1b
 
Last edited:
  • #13
That works. That is a special case of the Moore-Penrose psuedoinverse cited in post #7.
 
Back
Top