Clear Filters
Clear Filters

Reformulate a matrix equation

3 views (last 30 days)
Mohammad Ayoub
Mohammad Ayoub on 23 Nov 2017
Commented: Roger Stafford on 24 Nov 2017
Greetings everyone. I have a question: I have 3 matrices which contain numeral values, all of them are of the same order. The matrices are A,J and S.
The equation of is J = inv(S) * A * S;
Is there any way possible for me to solve this for S? i.e. J and A are known but S is unknown, can I do anything to obtain S from J and A? Thank you in advance.
Regards, M. Ayoub
*Edit: S is unknown, when I said it contains numeral values I meant that that unknowns are of numeral type (i.e. not string or char, etc...).
*Edit: all of the matrices are square matrices.
  1 Comment
Roger Stafford
Roger Stafford on 24 Nov 2017
If it is assumed that an inverse exists for S, then your equation implies that S*J-A*S = 0. For n x n matrices, this is consequently n^2 linear equations in n^2 unknown S values. However, I think you will find that unless J and A bear a very special relation to one another, the associated n^2 x n^2 matrix of J and A coefficients has rank n^2, and this latter equation will have only the trivial solution S = 0. S would therefore possess no inverse. Consequently, in the general case there is no solution to your equation. That is, of course, not a fault of Matlab. It is a general mathematical property.

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 23 Nov 2017
If J = inv(S)*A*S then J*inv(S) = inv(S)*A*S*inv(S) so J*inv(S) = inv(S) * A. Then S*J*inv(S) = S*inv(S) * A, so S*J*inv(S) = A and so
A = S*J*inv(S)
Your question assumes that S is invertable, so as long as you have the numeric values for S and J and S is invertable then you can calculate A.
Note: sometimes people ask this question when the matrices are not square. That case cannot usually be solved.
  8 Comments
Mohammad Ayoub
Mohammad Ayoub on 24 Nov 2017
Oh well. I guess I can’t achieve that using MATLAB. Thank you very much! Much appreciated
Walter Roberson
Walter Roberson on 24 Nov 2017
It might have worked on other data.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!