Nom

bdiag — bloc-diagonalisation, vecteurs propres généralisés

Séquence d'appel

[Ab [,X [,bs]]]=bdiag(A [,rmax])

Paramètres

A

matrice carrée réelle ou complexe

rmax

nombre réel

Ab

matrice carrée réelle ou complexe

X

matrice régulière, réelle ou complexe

bs

vecteur d'entiers

Description

 
[Ab [,X [,bs]]]=bdiag(A [,rmax]) 
 

[Ab [,X [,bs]]]=bdiag(A [,rmax]) calcule la forme bloc-diagonale de A. bs précise la structure des blocs (tailles respectives des blocs). X est la matrice de changement de base, c'est à dire que Ab = inv(X)*A*X est bloc-diagonale.

rmax contrôle le conditionnement de X; la valeur par défaut est la norme l1 de A.

Pour obtenir une forme diagonale (si celle-ci existe) choisissez une valeur élevée de rmax (rmax=1/%eps par exemple). Pour une matrice réelle quelconque, les blocs sont de taille (1x1) ou (2x2) et X est la matrice des vecteurs propres.

Exemples

 
// Cas réel: blocs 1x1 et 2x2
a=rand(5,5);[ab,x,bs]=bdiag(a);ab
// Cas complexe : blocs complexes 1x1
[ab,x,bs]=bdiag(a+%i*0);ab
 

Voir Aussi

schur , sylv , spec