Re: Evaluating a polynomial on a matrix; matrix computations over a finite field
- To: mathgroup at smc.vnet.net
- Subject: [mg43146] Re: Evaluating a polynomial on a matrix; matrix computations over a finite field
- From: <bitbucket at comcast.net>
- Date: Thu, 14 Aug 2003 05:08:03 -0400 (EDT)
- 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?
the following function, written for me by dave park, seems to work
fine.
PolyToMatrix::usage =
"PolyToMatrix[polynomial, matrix, var:\[Lambda]] will produce the \
polynomial in the matrix with the identity matrix used with the
constant \
term.";
PolyToMatrix[poly_, matrix_?MatrixQ, var_:\[Lambda]] :=
Module[{clist, n = Length[matrix]},
clist = CoefficientList[poly, var];
Fold[#1 + #2\[LeftDoubleBracket]1\[RightDoubleBracket]MatrixPower[
matrix, #2\[LeftDoubleBracket]2\[RightDoubleBracket]] &,
First[clist]IdentityMatrix[n],
Transpose[{Rest[clist], Range[Length[Rest[clist]]]}]]]
--
email is rip1 AT comcast.net