 
 
 
 
 
 
Re: Evaluating a polynomial on a matrix; matrix computations over a finite field
- To: mathgroup at smc.vnet.net
- Subject: [mg43150] Re: Evaluating a polynomial on a matrix; matrix computations over a finite field
- From: Paul Abbott <paul at physics.uwa.edu.au>
- Date: Thu, 14 Aug 2003 07:06:35 -0400 (EDT)
- Organization: The University of Western Australia
- References: <bhd9c5$roj$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
In article <bhd9c5$roj$1 at smc.vnet.net>, Lot-o-fun <lotofun at hotmail.com> 
wrote:
> How do I compute p(A), where p is a polynomial and A is a matrix?
> 
> For example, if
> 
> p[x_] := x^2 - 3x + 2
> 
> and
> 
> A = {{1,2},{3,4}}, then I want to compute
> 
> p(A) = A^2 - 3A + 2I = {{6,4},{6,12}}
> 
> Is there some way of doing this?
Here is one way. For your polynomial,
  p[x_] := x^2 - 3x + 2
extend it to handle matrices by replacing powers of the variable by 
MatrixPower:
  p[x_?MatrixQ] := Module[{t}, Expand[t p[t]]/.t^n_.:>MatrixPower[x,n-1]]
Try it out
  A = {{1,2},{3,4}}
  p[A]
  {{6, 4}, {6, 12}}
Cheers,
Paul
-- 
Paul Abbott                                   Phone: +61 8 9380 2734
School of Physics, M013                         Fax: +61 8 9380 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

