Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
NCTM or The Math Forum.



Re: A=B*C how to get B?
Posted:
Jul 13, 2006 11:46 AM


meris300@gmail.com wrote: > hello, > > I have a system of equations that can be written in matrix vector > notation as follows: > > A(1*n)=B(1*m)*C(m*n) > > In a book i saw that B = A* C' * (C*C')^(1) > > However, i do not recall how to get to that solution. can anybody help > me with this?
It's the leastsquares solution. I'm used to working with column vectors but let me see if I can do this right.
Look for the B that minimizes  A  BC ^2 = (ABC)(ABC)' = AA'  AC'B'  BCA' + BCC'B'
Note: AC'B' is a scalar so equals its transpose BCA',  A  BC ^2 = A'A  2AC'B' + BCC'B'
Now take the gradient of this with respect to B and set it =0. 2AC' + 2BCC'
B(CC') = (AC')
This is a fullrank linear system, and its solution is
B = (AC')(CC')^1
Note that there may be no B which exactly solves your original problem A = BC. This B is the one which minimizes the difference between left and right hand sides in the sense of the Euclidean norm.
 Randy



