Block-diagonalization of a matrix

Hello everyone,
It is possible to block-diagonalize a matrix in Matlab?
I have a matrix composed of 1x1, 2x2 and 3x3 blocks and I would like to obtain the eigenvalues and eigenvectors sorted according to the block they correspond to.
When I use the eig command, i obtain the eigenvalues sorted in ascending order.
Thanks is advance.

1 Comment

Here as well: what is unclear about this question? Instead of flagging, you could also edit your question or comment.

Sign in to comment.

Answers (1)

There is no direct function to do this. The best is probably to write a function that does a loop through the different blocks and calls eig on each block separately.

Categories

Find more on Linear Algebra in Help Center and File Exchange

Products

Release

R2018a

Asked:

on 7 Apr 2020

Commented:

Rik
on 13 Apr 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!