Re: Matrix equations
- To: mathgroup at smc.vnet.net
- Subject: [mg53925] Re: Matrix equations
- From: Paul Abbott <paul at physics.uwa.edu.au>
- Date: Fri, 4 Feb 2005 04:11:23 -0500 (EST)
- Organization: The University of Western Australia
- References: <ctnhce$ero$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
In article <ctnhce$ero$1 at smc.vnet.net>,
Jamie Vicary <jamievicary at gmail.com> wrote:
> I'm using Mathematica 5.1 and trying to solve equations like the
> following:
>
> A.{{1,0},{0,2}} == -{{1,0},{0,2}}.A
>
> i.e. I want to find the matrix that anticommutes with {{1,0},{0,2}}. The
> only matrix that solves this is the zero matrix {{0,0},{0,0}} but
> Mathematica refuses to solve the above equation for A, giving the usual
> "The equations appear to involve the variables to be solved for in an
> essentially non-algebraic way."
>
> If I set A={{a,b},{c,d}} and then solve the above equation for
> {{a,b},{c,d}} then Mathematica correctly tells me {{a->0, b->0, c->0,
> d->0}}, but this isn't what I want. I want to give Mathematica equations
> in terms of matrices, not in terms of their components.
>
> In summary: why, when I give Mathematica the above equation to
> solve for A, does it not solve it giving A->{{0,0},{0,0}} which is the
> trivial, unique solution to the equation?
Because Solve has not been designed to do this. However, it is easy to
use Solve to obtain this functionality:
AntiCommutingMatrix[m_?MatrixQ, sym_:a] :=
Module[{n = Length[m], b},
b = Table[Subscript[sym, i, j], {i, n}, {j, n}];
b /. First[Solve[b . m == -m . b, Flatten[b]]]
]
For example,
AntiCommutingMatrix[{{1,0},{0,2}}]
The following command correctly produces a Solve::svars warning message
(this can be turned off using Off[Solve::svars] if you like)
AntiCommutingMatrix[DiagonalMatrix[{a, a, -a}]]
Cheers,
Paul
--
Paul Abbott Phone: +61 8 6488 2734
School of Physics, M013 Fax: +61 8 6488 1014
The University of Western Australia (CRICOS Provider No 00126G)
35 Stirling Highway
Crawley WA 6009 mailto:paul at physics.uwa.edu.au
AUSTRALIA http://physics.uwa.edu.au/~paul