Read-only forum archive

newbie: how to find minimal polynomial of a matrix?

newbie: how to find minimal polynomial of a matrix?

alhutch · Mon Jan 03, 2011 11:20 pm

Thank you for Singular.
I want to do what seems a simple job: to find the minimal polynomial of a square matrix.
The matrix entries are polynomials in the ring Q[x], so the minimal polynomial will also be in this ring.
The algorithmic complications seem to be
- although all the entities involved are in commutative rings, the calculations of powers of the original matrix are made in the ring of all such matrices over Q[x], which is not commutative;
- the tools of Singular seem designed (for good reason) to hide the information I want. They tell the user whether an element is in an ideal, but not (obviously) how the element can be expressed in terms of the ideal's generators.
Any guidance welcome.

Re: newbie: how to find minimal polynomial of a matrix?

malex · Tue Jan 04, 2011 8:52 pm

1. don't you need to adjoin another commutative variable to your ring (e.g. Q[x] -> Q[x][T])?
2. matrix multiplication is generally non-commutative, no?
3. one uses 'lift' for "how the element can be expressed in terms of the ideal's generators"

4. i'd suggest you to start with characteristic polynomial (of M) as follows:
a. compute D = det(M) in our original ring,
b. switch to enriched ring (e.g. new variable T), and imap D and M there
c. compute det(D * E * T - M) (where E is the identity matrix)
it can be used for testing and checking your results...


ps: Happy New Year

Re: newbie: how to find minimal polynomial of a matrix?

alhutch · Wed Jan 05, 2011 11:16 am

Thanks, malek.
This makes things much clearer.
Alan.