How to get the coefficients of the minimal polynomial ?
Show older comments
Dear All,
I have to find the coefficients of the minimal polynomial of all the matrices stored in a 3-D array. I have tried through the MuPAD but through that I am getting the whole polynomial, If anyone knows the way how to extract only the coefficients from it(i.e. from the polynomial in MuPAD) and then to store them in a vector in matlab, or if any function in Matlab only which can give the coefficients of the minimal polynomial.
Here is the code for the mupad :
nb=mupad;
A:=Dom::Matrix(Dom::Rational)([[1,-1,-1],[1,-2,1],[0,1,-3]]);
delete x: linalg::minpoly(A,x)
This gives the minimal polynomial for the given matrix in 'x'. (I have to do it for the 3-D array of matrices).
If anyone knows some other way too that would be very helpful.
URGENT help needed !!
Thank you, Palash.
Accepted Answer
More Answers (3)
Walter Roberson
on 20 Jun 2011
1 vote
Palash
on 22 Jun 2011
0 votes
1 Comment
Walter Roberson
on 22 Jun 2011
evalin(symengine) the linalg::minpoly operation, which will return the symbolic result to MATLAB. sym2poly() that result at the MATLAB level.
There is no MATLAB function that does this computation directly.
Pantelis Sopasakis
on 9 Nov 2011
Just my two cents... The code posted by Kai Gehrs will not work if the returned polynomial has some zero coefficients. Try for example the matrix:
A=ones(3,3);
The output will be
[1 -3]
instead of
[1 -3 0]
An m-function that takes care of such a case can be found at https://github.com/alphaville/eat/blob/master/zz_minPolSymb.m
Categories
Find more on Polynomial Creation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!