Programmer Guide/Command Reference/EVAL/svd: Difference between revisions
From STX Wiki
< Programmer Guide | Command Reference | EVAL
Jump to navigationJump to search
No edit summary |
No edit summary |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:{{SUBPAGENAME}}}} | {{DISPLAYTITLE:{{SUBPAGENAME}}}} | ||
Singular value decomposition ([http://en.wikipedia.org/wiki/Singular_value_decomposition SVD]). | |||
---- | ---- | ||
;Usage 1: | ;Usage 1: <code>svd('''0''', <var>A</var>, <var>trn</var>)</code> | ||
:;<var>A</var>:the NxM matrix to be transformed | :;<var>A</var>:the NxM matrix to be transformed | ||
:;<var>trn</var>:transformation to be applied to A | :;<var>trn</var>:transformation to be applied to A | ||
Line 30: | Line 30: | ||
;Result 1: The transformed matrix ''T''. | ;Result 1: The transformed matrix ''T''. | ||
---- | ---- | ||
;Usage 2: | ;Usage 2: <code>svd('''1''', <var>A</var>, <var>trn</var>)</code> | ||
;Result 2: Returns the matrix ''C''= | ;Result 2: Returns the matrix <code>''C''=trn(''T'')*''T''</code>. ''C'' is a square matrix with M rows and columns (MxM). | ||
---- | ---- | ||
;Usage 3: | ;Usage 3: <code>svd('''2''', <var>A</var>, <var>trn</var>, <var>U</var>, <var>S</var>, <var>V</var>)</code> | ||
:;<var>U</var>:contains on return the NxM matrix ''U'' | :;<var>U</var>:contains on return the NxM matrix ''U'' | ||
:;<var>S</var>:contains on return the vector ''S'' with M elements; Note: the returned vector contains the diagonal elements of the matrix Σ, which are called the ''singular values''. | :;<var>S</var>:contains on return the vector ''S'' with M elements; Note: the returned vector contains the diagonal elements of the matrix Σ, which are called the ''singular values''. | ||
Line 41: | Line 41: | ||
:The results are stored in the (optional) numerical tables (references) ''U'' (NxM), ''S'' (Mx1, diagonal of Σ) and ''V'' (MxM). The return value is the NxM matrix <code>''PC''=''U'' * Σ</code>. | :The results are stored in the (optional) numerical tables (references) ''U'' (NxM), ''S'' (Mx1, diagonal of Σ) and ''V'' (MxM). The return value is the NxM matrix <code>''PC''=''U'' * Σ</code>. | ||
---- | ---- | ||
;Usage 4: <code>svd('''3''', <var>A</var>, <var>trn</var>, <var>U</var>, <var>S</var>, <var>V</var>)</code> | |||
:;<var>S</var>:contains on return the vector ''S'' with M elements; Note: the returned vector contains the diagonal elements of the matrix Σ (''singular values''). | |||
:;<var>V</var>:contains on return the MxM matrix ''V'' | |||
;Result 4: Computes the SVD of the transformed and squared input matrix ''T''. | |||
::<code>''C'' = trn(''T'') * ''T''</code> | |||
::<code>solve: ''C'' = ''V'' * Σ * trn(''V'')</code> | |||
:The results are stored in the (optional) numerical tables (references) ''S'' (Mx1, diagonal of Σ) and ''V'' (MxM). The return value is the NxM matrix <code>''PC''=''A'' * ''V''</code>. | |||
---- | |||
;Usage 5: <code>svd('''4''', <var>C</var>, <var>S</var>, <var>V</var>)</code> | |||
:;<var>C</var>:the MxM input data matrix | |||
:;<var>S</var>:contains on return the vector ''S'' with M elements; Note: the returned vector contains the diagonal elements of the matrix Σ (''singular values''). | |||
:;<var>V</var>:contains on return the MxM matrix ''V'' | |||
;Result 5: Computes the SVD of the matrix ''C''. It is assumed that ''C'' is (optional) transformed and squared matrix derived from a NxM data matrix. | |||
::<code>solve: ''C'' = ''V'' * Σ * trn(''V'')</code> | |||
:The results are stored in the (optional) numerical tables (references) ''S'' (Mx1, diagonal of Σ) and ''V'' (MxM). The return value is always '''0'''. | |||
---- | |||
;See also: [[../var|var]], [[../corr|corr]], [[../dist|dist]], [[../haclust|haclust]], [[../modclust|modclust]] | ;See also: [[../var|var]], [[../corr|corr]], [[../dist|dist]], [[../haclust|haclust]], [[../modclust|modclust]] | ||
[[../#Functions|<function list>]] | [[../#Functions|<function list>]] |
Latest revision as of 09:50, 21 April 2011
Singular value decomposition (SVD).
- Usage 1
svd(0, A, trn)
- A
- the NxM matrix to be transformed
- trn
- transformation to be applied to A
trn transformed matrix T (NxM) description trn(T)*T
(MxM)0 T[i,j] = A[i,j] no transformation "Streumatrix" 1 T[i,j] = A[i,j]-avr(A) subtract matrix mean 2 T[i,j] = A[i,j]-avr(A[*,j]) subtract column mean (center columns) covariance matrix 3 T[i,j] = (A[i,j]-avr(A[*,j]))/dev(A[*,j]) subtract column mean, devide by column deviation (center and standardize columns) correlation matrix 4 T[i,j] = A[i,j]-(avr(A[i,*])+avr(A[*,j]))+avr(A) subtract row and column mean, add matrix mean (center rows and columns)
- Result 1
- The transformed matrix T.
- Usage 2
svd(1, A, trn)
- Result 2
- Returns the matrix
C=trn(T)*T
. C is a square matrix with M rows and columns (MxM).
- Usage 3
svd(2, A, trn, U, S, V)
- U
- contains on return the NxM matrix U
- S
- contains on return the vector S with M elements; Note: the returned vector contains the diagonal elements of the matrix Σ, which are called the singular values.
- V
- contains on return the MxM matrix V
- Result 3
- Computes the SVD of the transformed input matrix T.
solve: T = U * Σ * trn(V)
- The results are stored in the (optional) numerical tables (references) U (NxM), S (Mx1, diagonal of Σ) and V (MxM). The return value is the NxM matrix
PC=U * Σ
.
- Usage 4
svd(3, A, trn, U, S, V)
- S
- contains on return the vector S with M elements; Note: the returned vector contains the diagonal elements of the matrix Σ (singular values).
- V
- contains on return the MxM matrix V
- Result 4
- Computes the SVD of the transformed and squared input matrix T.
C = trn(T) * T
solve: C = V * Σ * trn(V)
- The results are stored in the (optional) numerical tables (references) S (Mx1, diagonal of Σ) and V (MxM). The return value is the NxM matrix
PC=A * V
.
- Usage 5
svd(4, C, S, V)
- C
- the MxM input data matrix
- S
- contains on return the vector S with M elements; Note: the returned vector contains the diagonal elements of the matrix Σ (singular values).
- V
- contains on return the MxM matrix V
- Result 5
- Computes the SVD of the matrix C. It is assumed that C is (optional) transformed and squared matrix derived from a NxM data matrix.
solve: C = V * Σ * trn(V)
- The results are stored in the (optional) numerical tables (references) S (Mx1, diagonal of Σ) and V (MxM). The return value is always 0.