Path: news.mathworks.com!not-for-mail
From: "David Doria" <daviddoria@gmail.com>
Newsgroups: comp.soft-sys.matlab
Subject: Solving AM = MB
Date: Tue, 14 Oct 2008 22:00:20 +0000 (UTC)
Organization: The MathWorks, Inc.
Lines: 16
Message-ID: <gd34pk$csc$1@fred.mathworks.com>
Reply-To: "David Doria" <daviddoria@gmail.com>
NNTP-Posting-Host: webapp-03-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1224021620 13196 172.30.248.38 (14 Oct 2008 22:00:20 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Tue, 14 Oct 2008 22:00:20 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 1105197
Xref: news.mathworks.com comp.soft-sys.matlab:495182


I would like to solve AM = MB where A,B,M are 3x3 matrices.

What I came up with was to equate every entry in C to the corresponding entry in D (where C = AM and D = MB).

You can then vectorize M (call it Mv) and figure out the 9 equations to fill a 9x9 matrix on both sides

9x9 matrix times Mv = 9x9 matrix times Mv

Each row on the right can be subtracted from the same row on the left, leaving

9x9 times Mv = 0

The problem is, I could construct this matrix easily by hand, but this seems like an obnoxious process to write in code (a couple of loops or something?) Is there a better/different way to do this so that I can use some built in functions?

Thanks,
Dave