Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2024.0.0 - 日本語


svd

特異値分解

呼び出し手順

s=svd(X)

[U,S,V]=svd(X)

[U,S,V]=svd(X,"e")

[U,S,V,rk]=svd(X [,tol])

引数

X

実数または複素行列

s

実数ベクトル (特異値)

S

実数対角行列 (特異値)

U,V

直交またはユニタリ正方行列(特異値).

tol

実数

説明

[U,S,V] = svd(X)X と同次元で 降順に非負の対角要素を有する 対角行列 Sおよび X = U*S*V'となる ユニタリ行列 UV を出力します.

[U,S,V] = svd(X,"e") は "エコノミーサイズ"分解を出力します. X がm行n列 (m > n)の場合, U の最初のn列のみが計算され, Sは n行n列となります.

s= svd(X) は 特異値を含むベクトルsを返します.

[U,S,V,rk]=svd(X,tol)rkに加えて, X の数値ランク,すなわち tolより大きな特異値の数を出力します.

tolのデフォルト値は rankと同じです.

X=rand(4,2)*rand(2,4)
svd(X)
sqrt(spec(X*X'))

使用される関数

svd 分解はLapackのルーチン DGESVD (実数行列の場合)および ZGESVD (複素数の場合)に基づいている.

History

バージョン記述
2023.0.0

svd(X, 0) is obsolete, use svd(X, "e") instead.

2024.0.0

svd(X, 0) is no more supported, use svd(X, "e") instead.

Report an issue
<< sva Eigenvalue and Singular Value Factorization >>

Copyright (c) 2022-2023 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Oct 24 14:36:18 CEST 2023