# rational canonical form

Please i want to compute the rational canonical form of a matrix also known as frobenius form in terms of the entries of the matrix the matrix is a 2*2 matrix of the form A=[[a*b+1,b],[a,1] Thank you in advance

edit retag close merge delete

Homework ?

( 2024-02-18 16:10:45 +0200 )edit

@Emmanuel Charpentier No it is not a homework

( 2024-02-19 14:13:32 +0200 )edit

Sort by » oldest newest most voted

To compute the rational canonical form (Frobenius form) of a matrix, you need to find the invariant factors. For a 2x2 matrix of the form

# �

[ � � + 1 � � 1 ] A=[ ab+1 a ​

b 1 ​ ], we can find its characteristic polynomial and minimal polynomial, and then use them to determine the rational canonical form.

Let's start by finding the characteristic polynomial. The characteristic polynomial is given by:

det ⁡ ( � − � �

# )

0 det(A−λI)=0

Where � I is the identity matrix.

det ⁡ [ ( � � + 1 ) − � � � 1 − �

# ]

0 det[ (ab+1)−λ a ​

b 1−λ ​ ]=0

Expanding this determinant gives:

( ( � � + 1 ) − � ) ( 1 − � ) − �

# �

0 ((ab+1)−λ)(1−λ)−ab=0

Simplifying:

( � � + 1 − � ) ( 1 − � ) − �

# �

0 (ab+1−λ)(1−λ)−ab=0

( � � + 1 − � − � + � 2 ) − �

# �

0 (ab+1−λ−λ+λ 2 )−ab=0

( 1 − � + � 2

# )

0 (1−λ+λ 2 )=0

Now, you can solve this quadratic equation to find the eigenvalues � λ.

Once you have the eigenvalues, you can find the corresponding eigenvectors and use them to construct the Jordan chains. The rational canonical form will then consist of blocks corresponding to the Jordan chains.

more

( 2024-02-27 16:01:31 +0200 )edit

Like this:

sage: K = PolynomialRing(QQ,2,'x').fraction_field()
sage: x = K.gens()
sage: A = Matrix([[x[0]*x[1]+1,x[1]],[x[0],1]])
sage: A.rational_form()
[        0        -1]
[        1 x0*x1 + 2]

more