Scilab 5.3.0
- Scilab Online Help
- Linear Algebra
- aff2ab
- balanc
- bdiag
- chfact
- chol
- chsolve
- classmarkov
- cmb_lin
- coff
- colcomp
- companion
- cond
- det
- eigenmarkov
- ereduc
- expm
- fstair
- fullrf
- fullrfk
- genmarkov
- givens
- glever
- gschur
- gspec
- hess
- householder
- im_inv
- inv
- kernel
- kroneck
- linsolve
- lsq
- lu
- lyap
- nlev
- orth
- pbig
- pencan
- penlaur
- pinv
- polar
- proj
- projspec
- psmall
- qr
- quaskro
- randpencil
- range
- rank
- rankqr
- rcond
- rowcomp
- rowshuff
- rref
- schur
- spaninter
- spanplus
- spantwo
- spec
- sqroot
- squeeze
- sva
- svd
- sylv
- trace
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
ブロック対角化, 一般化固有ベクトル
呼び出し手順
[Ab [,X [,bs]]]=bdiag(A [,rmax])
パラメータ
- A
実数または複素数の正方行列
- rmax
実数
- Ab
実数または複素数の正方行列
- X
実数または複素数の正則行列
- bs
整数ベクトル
説明
[Ab [,X [,bs]]]=bdiag(A [,rmax])
は,行列A
のブロック対角化を行ないます.
bs はブロックの構造(個々のブロックの大きさ)を出力します.
X
は基底変換です.
すなわち, Ab = inv(X)*A*X
はブロック対角です.
rmax
はX
の
条件数を制御します;
デフォルト値は A
の l1ノルムです.
(存在する場合,)対角形式を得るにはrmax
に
大きな値を指定します(例えば,rmax=1/%eps
).
一般に(ランダムな実数の Aの場合) ブロックは (1x1) および (2x2) で,
X
は固有値の行列です.
例
//実数の場合: 1x1 および 2x2 ブロック a=rand(5,5);[ab,x,bs]=bdiag(a);ab //複素数の場合: 複素数 1x1 ブロック [ab,x,bs]=bdiag(a+%i*0);ab
<< balanc | Linear Algebra | chfact >> |