## How to interprete an analytical eigendecomposition for a polynomial matrix with size nxn > 4×4 using the Symbolic Math Toolbox.

Hi,

I am using the Symbolic Math Toolbox to calculate the analytical eigenvalues of a polynomial matrix A(z), that is generated in my physical use-case. Depending on the input parameters, the matrix can scale in size from 1×1 to any nxn.

If I configure my matrix to have a size nxn > 4×4, the symbolic math toolbox still produces analytical eigenvalues (i.e. a polynomials without the "root" expression). How does Matlab calculate the analytical Eigenvalues in this particular case?

According to an answer to my previous question: https://www.mathworks.com/matlabcentral/answers/2132636-how-does-matlabs-symbolic-math-toolbox-always-finds-an-analytical-eigendecomposition-for-arbitrary-p#answer_1478061, Matlab uses numerical methods to find the roots of the characteristic polynomial.

However, from my experience the symbolic toolbox does not provide an analytic expression (i.e. a polynomial), if numerical methods where used and the solution is purely numerical. So my question is how Matlab arrives at this result?

Does Matlab indeed use a numerical approximation?

Does Matlab do some "tricks" in the background to reformulate my matrix into some analytically solvable matrix?

I also have attached a copy of my Matrix in a 6×6 configuration and the corresponding result.

Note: the variable "y" in my matrix represents 1/z, but this shouldn’t make a difference.

My code does the following:

syms z y

A = A;

A_roots = eig(A);Hi,

I am using the Symbolic Math Toolbox to calculate the analytical eigenvalues of a polynomial matrix A(z), that is generated in my physical use-case. Depending on the input parameters, the matrix can scale in size from 1×1 to any nxn.

If I configure my matrix to have a size nxn > 4×4, the symbolic math toolbox still produces analytical eigenvalues (i.e. a polynomials without the "root" expression). How does Matlab calculate the analytical Eigenvalues in this particular case?

According to an answer to my previous question: https://www.mathworks.com/matlabcentral/answers/2132636-how-does-matlabs-symbolic-math-toolbox-always-finds-an-analytical-eigendecomposition-for-arbitrary-p#answer_1478061, Matlab uses numerical methods to find the roots of the characteristic polynomial.

However, from my experience the symbolic toolbox does not provide an analytic expression (i.e. a polynomial), if numerical methods where used and the solution is purely numerical. So my question is how Matlab arrives at this result?

Does Matlab indeed use a numerical approximation?

Does Matlab do some "tricks" in the background to reformulate my matrix into some analytically solvable matrix?

I also have attached a copy of my Matrix in a 6×6 configuration and the corresponding result.

Note: the variable "y" in my matrix represents 1/z, but this shouldn’t make a difference.

My code does the following:

syms z y

A = A;

A_roots = eig(A); Hi,

I am using the Symbolic Math Toolbox to calculate the analytical eigenvalues of a polynomial matrix A(z), that is generated in my physical use-case. Depending on the input parameters, the matrix can scale in size from 1×1 to any nxn.

If I configure my matrix to have a size nxn > 4×4, the symbolic math toolbox still produces analytical eigenvalues (i.e. a polynomials without the "root" expression). How does Matlab calculate the analytical Eigenvalues in this particular case?

According to an answer to my previous question: https://www.mathworks.com/matlabcentral/answers/2132636-how-does-matlabs-symbolic-math-toolbox-always-finds-an-analytical-eigendecomposition-for-arbitrary-p#answer_1478061, Matlab uses numerical methods to find the roots of the characteristic polynomial.

However, from my experience the symbolic toolbox does not provide an analytic expression (i.e. a polynomial), if numerical methods where used and the solution is purely numerical. So my question is how Matlab arrives at this result?

Does Matlab indeed use a numerical approximation?

Does Matlab do some "tricks" in the background to reformulate my matrix into some analytically solvable matrix?

I also have attached a copy of my Matrix in a 6×6 configuration and the corresponding result.

Note: the variable "y" in my matrix represents 1/z, but this shouldn’t make a difference.

My code does the following:

syms z y

A = A;

A_roots = eig(A); symbolic-math, polynomial-matrices, eigenvalues MATLAB Answers — New Questions