matrix matlab

0 views
Skip to first unread message

anish

unread,
Sep 16, 2007, 3:01:34 PM9/16/07
to The MATLAB users
Hi,
I have a normalisation problem. I have two matrices A and B such that
A'BA=D, where D is diagonal and A' denotes transpose of A. I want to
get the matrix C such that C'BC=I, I is identity. How do I proceed
about getting C from A, B and D?

zik

unread,
Sep 17, 2007, 5:50:54 PM9/17/07
to The MATLAB users
hey,
lets first write some conventions "diag" = diagonal matrix,
so if i'll write D=diag(d_i) it means that D is diagonal matrix and
the d(i) are the diagonal values of D.

1) so lets say D=diag(d_i) and more then that all the d_i != 0 (not a
zero).
2) lets take another diagonal matrix E that will E=diag(e_i) (i.e. the
values of the diagonal are e(i) and the rest are zeros)

and here comes the punchline:
we want to build E such that the following will hold: E'DE=I
we know that E and D are diagonal matrices so DE its multiplication of
the middle values ie: the result matrix diagonal will be like that:
(d_i*e_i)^2.
thus the values of E must be: e_i=(d_i)^(1/2)
observe : C=AE :) :)
and we built E such E'DE=I
walla.. we found it :). (the C i mean. you know how to build an E and
you have the D in your hands... ).

proof of concept: (lets do the opposite)
C'BC = (AE)'B(AE) // simple assignment of C=AE
(AE)'B(AE) = (AE)'B(AE) // another simple assignment: we know that
(AE)' == E'A' (identity)
(AE)'B(AE) = E'DE // you can go from here by your
self :)
and..
walla:
E'DE = I
end of proof.

hope it helped.

Reply all
Reply to author
Forward
0 new messages