# bdiag

diagonalização em blocos, autovetores generalizados

## Seqüência de Chamamento

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

## Parâmetros

A

  matriz quadrada de reais ou complexos

rmax

  número real

Ab

  matriz quadrada de reais ou complexos

X

  matriz de reais ou complexos não-singular

bs

  vetor de inteiros

## Descrição

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

realiza a diagonalização em blocos da matriz `A`. bs fornece a estrutura dos blocos (respectivos tamanhos dos blocos). `X` é a matriz mudança de base i.e `Ab = inv(X)*A*X` édiagonal em blocos.

`rmax` controla o condicionamento de `X`; o valor padrão é a norma L1 de `A`.

Para encontrar a forma diagonal (se existir) escolha um valor suficientemente grande para `rmax` (`rmax=1/%eps` , por exemplo). Genericamente, (para uma matriz A de reais aleatória) os blocos são (1x1) e (2x2) e `X` é a matriz de autovetores.

## Exemplos

    //No caso de reais: blocos 1x1 e 2x2
    a=rand(5,5);[ab,x,bs]=bdiag(a);ab

    //No caso de complexos: blocos 1x1 complexos
    [ab,x,bs]=bdiag(a+%i*0);ab

## Ver Também

- schur
- sylv
- spec