Previous Page Next Page Contents

linalg::minpoly -- minimal polynomial of a matrix

Introduction

linalg::minpoly(A, x) computes the minimal polynomial of the square matrix A in x, i.e., the monic polynomial of lowest degree annihilating the matrix A.

Call(s)

linalg::minpoly(A, x)

Parameters

A - a square matrix of a domain of category Cat::Matrix
x - an indeterminate

Returns

a polynomial of the domain Dom::DistributedPolynomial([x],R), where R is the component ring of A.

Related Functions

linalg::charpoly, linalg::frobeniusForm

Details

Example 1

We define the following matrix over the rational numbers:

>> A := Dom::Matrix(Dom::Rational)( 
     [[0, 2, 0], [0, 0, 2], [2, 0, 0]]
   )
                               +-         -+
                               |  0, 2, 0  |
                               |           |
                               |  0, 0, 2  |
                               |           |
                               |  2, 0, 0  |
                               +-         -+

The minimal polynomial of the matrix A in the variable x is then given by:

>> delete x: linalg::minpoly(A, x)
                                   3
                                  x  - 8

In this case, the minimal polynomial is in fact equal to the characteristic polynomial of A:

>> linalg::charpoly(A, x)                                                               
                                   3
                                  x  - 8

Example 2

The minimal polynomial of the matrix:

>> B := matrix([[0, 1, 0], [0, 0, 0], [0, 0, 0]])
                               +-         -+
                               |  0, 1, 0  |
                               |           |
                               |  0, 0, 0  |
                               |           |
                               |  0, 0, 0  |
                               +-         -+

is a polynomial of degree 2:

>> m := linalg::minpoly(B, x)
                                     2
                                    x

The characteristic polynomial of B has degree 3 and is divided by the minimal polynomial of B:

>> p := linalg::charpoly(B, x)
                                     3
                                    x
>> p / m
                                     x

Changes




Do you have questions or comments?


Copyright © SciFace Software GmbH & Co. KG 2000