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 |
||
(4 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 28: | Line 28: | ||
| | | | ||
|} | |} | ||
;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 <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''. | ||
:;<var>V</var>:contains on return the MxM matrix ''V'' | :;<var>V</var>:contains on return the MxM matrix ''V'' | ||
;Result: Computes the SVD of the transformed input matrix ''T''. The results are stored in the (optional) numerical tables (references) ''U'' (NxM), ''S'' (Mx1, diagonal of Σ) and ''V'' (MxM). The return value ''PC'' is the matrix <code>''PC''='' | ;Result 3: Computes the SVD of the transformed input matrix ''T''. | ||
:<code>solve: '' | ::<code>solve: ''T'' = ''U'' * Σ * trn(''V'')</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.