MATLAB: I have a imaginary matrix C and I need to decompose it to B’AB. Where B should be of size (m,n) and A(m,m).

decomposition

Hi all, In my problem I know the value of the matrix C and now I want to decompose it into B'AB. Where B should be of size (m,n) and A(m,m). Is there any function or code to do that in MATLAB. That is B'AB=function(C).
Please let me know.
Have a nice day.

Best Answer

Without more information I can only assume you are trying to accomplish a Schur Decomposition. Please see Matlab - Schur Decomposition for details. Usage is -
[B,A] = schur(C);
B = B';
Note here if the matrix C is complex you will get the conjugate instead of transpose. Also to get the answer in your desired format you have to take the conjugate of the matrix B obtained from the Schur decomposition.
Related Question