MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Matrix equations

In article <ctnhce$ero$1 at>,
 Jamie Vicary <jamievicary at> 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,


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}]]


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 

  • Prev by Date: Re: List Partition
  • Next by Date: Re: Re: Area Under Curve (Min Length Interval)
  • Previous by thread: Matrix equations
  • Next by thread: New Web Site for Mathematica Users using WikiMedia