Frobenius form of a matrix
MuPAD® notebooks are not recommended. Use MATLAB® live scripts instead.
MATLAB live scripts support most MuPAD functionality, though there are some differences. For more information, see Convert MuPAD Notebooks to MATLAB Live Scripts.
linalg::frobeniusForm(A
, <All>)
linalg::frobeniusForm(A)
returns the Frobenius
form of the matrix A,
also called the Rational Canonical form of A.
linalg::frobeniusForm(A, All)
computes the
Frobenius form R of A
and
a transformation matrix P such
that P R P^{
1}.
The Frobenius form as computed by linalg::frobeniusForm
is
unique (see below).
The component ring of A
must be a field,
i.e., a domain of category Cat::Field
.
The Frobenius form of the following matrix over ℂ:
A := Dom::Matrix(Dom::Complex)( [[1, 2, 3], [4, 5, 6], [7, 8, 9]] )
is the matrix:
R := linalg::frobeniusForm(A)
The transformation matrix P can
be selected from the list [R, P]
, which is the
result of linalg::frobeniusForm
with option All
:
P := linalg::frobeniusForm(A, All)[2]
We check the result:
P * R * P^(1)

A square matrix of a domain of category 

Returns the list 
Matrix of the same domain type as A
, or the
list [R, P]
when the option All
is
given.
The Frobenius form of a square matrix A is the matrix
,
where R_{1}, …, R_{r} are known as companion matrices and have the form:
.
In the last column of the companion matrix R_{i}, you see the coefficients of its minimal polynomial in ascending order, i.e., the polynomial m_{i} := X^{ni} + a_{ni  1} X^{ni  1} + … + a_{1} X + a_{0} is the minimal polynomial of the matrix R_{i}.
For these polynomials the following holds: m_{i + 1} divides m_{i} for i = 1, …, r  1, and the product of all m_{i} for i = 1, …, r gives a factorization of the characteristic polynomial of the matrix A. The Frobenius form defined in this way is unique.
Reference: P. Ozello: Calcul exact des formes de Jordan et de Frobenius d'une matrice, pp. 30–43. Thèse de l'Universite Scientifique Technologique et Medicale de Grenoble, 1987