MathGroup Archive 2009

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

Search the Archive

Re: Abstract Symbolic Matrix operations in Mathematica

  • To: mathgroup at smc.vnet.net
  • Subject: [mg96759] Re: Abstract Symbolic Matrix operations in Mathematica
  • From: David Bailey <dave at removedbailey.co.uk>
  • Date: Tue, 24 Feb 2009 05:45:04 -0500 (EST)
  • References: <gnq6qn$86g$1@smc.vnet.net>

dvshin wrote:
> Can anybody tell me how to do operations on matrix equations without computing on the element level in Mathematica? In other words, for example, if I have two "abstract" matrices A and B, what should I type to verify the following:
> 
> (AT)^T = B^T A^T
> 
> Would appreciate any thoughts.
> 
Basically, you are trying to do noncommutative algebra in Mathematica. 
The first thing is to choose a notation for multiplication that will not 
get re-ordered automatically. ** or \[CircleTimes] are the usual choices.

After this, you have to provide some rules to specify how to expand an 
operation like transpose. E.g.

ncExpand[trans[a_ ** b_]]:=ncExpand[trans[b]]**ncExpand[trans[a]];
ncExpand[a_]:=a;

(note that this will recursively expand transposes of more than 2 matrices)

The details can become messy however, because you may want a notation 
for ordinary scalars, etc.

It may be worth it if you want to manipulate complicated expressions of 
this sort.

David Bailey
http://www.dbaileyconsultancy.co.uk


  • Prev by Date: Re: Expecting an image instead of image...
  • Next by Date: Re: Abstract Symbolic Matrix operations in Mathematica
  • Previous by thread: Abstract Symbolic Matrix operations in Mathematica
  • Next by thread: Re: Abstract Symbolic Matrix operations in Mathematica