Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
bdiag
diagonalização em blocos, autovetores generalizados
Seqüência de Chamamento
[Ab, X, bs] = bdiag(A) [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
--> [ab, x, bs] = bdiag(a);ab ab = 2.4777836 0. 0. 0. 0. 0. 0.0757087 0.4869251 0. 0. 0. -0.5777956 -0.1248605 0. 0. 0. 0. 0. 0.069654 0. 0. 0. 0. 0. 0.5341598
// No caso de complexos: blocos 1x1 complexos [ab, x, bs] = bdiag(a+%i*0); ab
Report an issue | ||
<< balanc | Eigenvalue and Singular Value | eigs >> |